From: no author Date: Tue, 30 Nov 2004 14:55:27 +0000 (+0000) Subject: This commit was manufactured by cvs2svn to create tag X-Git-Tag: PRE_UNIVERSES X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=ef6832b7de9a48e22f15dffcdd58ac7b049beb74;p=helm.git This commit was manufactured by cvs2svn to create tag 'PRE_UNIVERSES'. --- diff --git a/CVSROOT/checkoutlist b/CVSROOT/checkoutlist deleted file mode 100644 index b04b3501f..000000000 --- a/CVSROOT/checkoutlist +++ /dev/null @@ -1,13 +0,0 @@ -# The "checkoutlist" file is used to support additional version controlled -# administrative files in $CVSROOT/CVSROOT, such as template files. -# -# The first entry on a line is a filename which will be checked out from -# the corresponding RCS file in the $CVSROOT/CVSROOT directory. -# The remainder of the line is an error message to use if the file cannot -# be checked out. -# -# File format: -# -# [] -# -# comment lines begin with '#' diff --git a/CVSROOT/commitinfo b/CVSROOT/commitinfo deleted file mode 100644 index b19e7b7a6..000000000 --- a/CVSROOT/commitinfo +++ /dev/null @@ -1,15 +0,0 @@ -# The "commitinfo" file is used to control pre-commit checks. -# The filter on the right is invoked with the repository and a list -# of files to check. A non-zero exit of the filter program will -# cause the commit to be aborted. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being committed to, relative -# to the $CVSROOT. For the first match that is found, then the remainder -# of the line is the name of the filter to run. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". diff --git a/CVSROOT/config b/CVSROOT/config deleted file mode 100644 index 8069cad5d..000000000 --- a/CVSROOT/config +++ /dev/null @@ -1,11 +0,0 @@ -# Set this to "no" if pserver shouldn't check system users/passwords -#SystemAuth=no - -# Set `PreservePermissions' to `yes' to save file status information -# in the repository. -#PreservePermissions=no - -# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top -# level of the new working directory when using the `cvs checkout' -# command. -#TopLevelAdmin=no diff --git a/CVSROOT/cvswrappers b/CVSROOT/cvswrappers deleted file mode 100644 index 0accaf1b1..000000000 --- a/CVSROOT/cvswrappers +++ /dev/null @@ -1,23 +0,0 @@ -# This file affects handling of files based on their names. -# -# The -t/-f options allow one to treat directories of files -# as a single file, or to transform a file in other ways on -# its way in and out of CVS. -# -# The -m option specifies whether CVS attempts to merge files. -# -# The -k option specifies keyword expansion (e.g. -kb for binary). -# -# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers) -# -# wildcard [option value][option value]... -# -# where option is one of -# -f from cvs filter value: path to filter -# -t to cvs filter value: path to filter -# -m update methodology value: MERGE or COPY -# -k expansion mode value: b, o, kkv, &c -# -# and value is a single-quote delimited value. -# For example: -#*.gif -k 'b' diff --git a/CVSROOT/editinfo b/CVSROOT/editinfo deleted file mode 100644 index d78886c15..000000000 --- a/CVSROOT/editinfo +++ /dev/null @@ -1,21 +0,0 @@ -# The "editinfo" file is used to allow verification of logging -# information. It works best when a template (as specified in the -# rcsinfo file) is provided for the logging procedure. Given a -# template with locations for, a bug-id number, a list of people who -# reviewed the code before it can be checked in, and an external -# process to catalog the differences that were code reviewed, the -# following test can be applied to the code: -# -# Making sure that the entered bug-id number is correct. -# Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review -# number to identify this particular code set.). -# -# If any of the above test failed, then the commit would be aborted. -# -# Actions such as mailing a copy of the report to each reviewer are -# better handled by an entry in the loginfo file. -# -# One thing that should be noted is the the ALL keyword is not -# supported. There can be only one entry that matches a given -# repository. diff --git a/CVSROOT/loginfo b/CVSROOT/loginfo deleted file mode 100644 index 5a59f0a54..000000000 --- a/CVSROOT/loginfo +++ /dev/null @@ -1,26 +0,0 @@ -# The "loginfo" file controls where "cvs commit" log information -# is sent. The first entry on a line is a regular expression which must match -# the directory that the change is being made to, relative to the -# $CVSROOT. If a match is found, then the remainder of the line is a filter -# program that should expect log information on its standard input. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name ALL appears as a regular expression it is always used -# in addition to the first matching regex or DEFAULT. -# -# You may specify a format string as part of the -# filter. The string is composed of a `%' followed -# by a single format character, or followed by a set of format -# characters surrounded by `{' and `}' as separators. The format -# characters are: -# -# s = file name -# V = old version number (pre-checkin) -# v = new version number (post-checkin) -# -# For example: -#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog -# or -#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog diff --git a/CVSROOT/modules b/CVSROOT/modules deleted file mode 100644 index cb9e9efc9..000000000 --- a/CVSROOT/modules +++ /dev/null @@ -1,26 +0,0 @@ -# Three different line formats are valid: -# key -a aliases... -# key [options] directory -# key [options] directory files... -# -# Where "options" are composed of: -# -i prog Run "prog" on "cvs commit" from top-level of module. -# -o prog Run "prog" on "cvs checkout" of module. -# -e prog Run "prog" on "cvs export" of module. -# -t prog Run "prog" on "cvs rtag" of module. -# -u prog Run "prog" on "cvs update" of module. -# -d dir Place module in directory "dir" instead of module name. -# -l Top-level directory only -- do not recurse. -# -# NOTE: If you change any of the "Run" options above, you'll have to -# release and re-checkout any working directories of these modules. -# -# And "directory" is a path to a directory relative to $CVSROOT. -# -# The "-a" option specifies an alias. An alias is interpreted as if -# everything on the right of the "-a" had been typed on the command line. -# -# You can encode a module within a module by using the special '&' -# character to interpose another module into the current module. This -# can be useful for creating a module that consists of many directories -# spread out over the entire source repository. diff --git a/CVSROOT/notify b/CVSROOT/notify deleted file mode 100644 index 34f0bc288..000000000 --- a/CVSROOT/notify +++ /dev/null @@ -1,12 +0,0 @@ -# The "notify" file controls where notifications from watches set by -# "cvs watch add" or "cvs edit" are sent. The first entry on a line is -# a regular expression which is tested against the directory that the -# change is being made to, relative to the $CVSROOT. If it matches, -# then the remainder of the line is a filter program that should contain -# one occurrence of %s for the user to notify, and information on its -# standard input. -# -# "ALL" or "DEFAULT" can be used in place of the regular expression. -# -# For example: -#ALL mail %s -s "CVS notification" diff --git a/CVSROOT/rcsinfo b/CVSROOT/rcsinfo deleted file mode 100644 index 49e59f4d0..000000000 --- a/CVSROOT/rcsinfo +++ /dev/null @@ -1,13 +0,0 @@ -# The "rcsinfo" file is used to control templates with which the editor -# is invoked on commit and import. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being made to, relative to the -# $CVSROOT. For the first match that is found, then the remainder of the -# line is the name of the file that contains the template. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". diff --git a/CVSROOT/taginfo b/CVSROOT/taginfo deleted file mode 100644 index 274a46dd5..000000000 --- a/CVSROOT/taginfo +++ /dev/null @@ -1,20 +0,0 @@ -# The "taginfo" file is used to control pre-tag checks. -# The filter on the right is invoked with the following arguments: -# -# $1 -- tagname -# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d -# $3 -- repository -# $4-> file revision [file revision ...] -# -# A non-zero exit of the filter program will cause the tag to be aborted. -# -# The first entry on a line is a regular expression which is tested -# against the directory that the change is being committed to, relative -# to the $CVSROOT. For the first match that is found, then the remainder -# of the line is the name of the filter to run. -# -# If the repository name does not match any of the regular expressions in this -# file, the "DEFAULT" line is used, if it is specified. -# -# If the name "ALL" appears as a regular expression it is always used -# in addition to the first matching regex or "DEFAULT". diff --git a/CVSROOT/verifymsg b/CVSROOT/verifymsg deleted file mode 100644 index 86f747ce2..000000000 --- a/CVSROOT/verifymsg +++ /dev/null @@ -1,21 +0,0 @@ -# The "verifymsg" file is used to allow verification of logging -# information. It works best when a template (as specified in the -# rcsinfo file) is provided for the logging procedure. Given a -# template with locations for, a bug-id number, a list of people who -# reviewed the code before it can be checked in, and an external -# process to catalog the differences that were code reviewed, the -# following test can be applied to the code: -# -# Making sure that the entered bug-id number is correct. -# Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review -# number to identify this particular code set.). -# -# If any of the above test failed, then the commit would be aborted. -# -# Actions such as mailing a copy of the report to each reviewer are -# better handled by an entry in the loginfo file. -# -# One thing that should be noted is the the ALL keyword is not -# supported. There can be only one entry that matches a given -# repository. diff --git a/helm/DEVEL/.cvsignore b/helm/DEVEL/.cvsignore deleted file mode 100644 index c1fcbc4ae..000000000 --- a/helm/DEVEL/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cmo -*.cmx -*.cmi - -*.o -*.a - diff --git a/helm/DEVEL/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/.cvsignore deleted file mode 100644 index 4d6980027..000000000 --- a/helm/DEVEL/gdome_xslt/.cvsignore +++ /dev/null @@ -1,14 +0,0 @@ -gdome2-xslt-cpp-smart.pc -gdome2-xslt.pc -autom4te.cache -Makefile -Makefile.in -aclocal.m4 -config.h -config.h.in -config.log -config.status -configure -libtool -stamp-h -stamp-h.in diff --git a/helm/DEVEL/gdome_xslt/AUTHORS b/helm/DEVEL/gdome_xslt/AUTHORS deleted file mode 100644 index 834817f9e..000000000 --- a/helm/DEVEL/gdome_xslt/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -Claudio Sacerdoti Coen -Stefano Zacchiroli -Luca Padovani diff --git a/helm/DEVEL/gdome_xslt/BUGS b/helm/DEVEL/gdome_xslt/BUGS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/gdome_xslt/C++/.cvsignore b/helm/DEVEL/gdome_xslt/C++/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/helm/DEVEL/gdome_xslt/C++/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/helm/DEVEL/gdome_xslt/C++/Makefile.am b/helm/DEVEL/gdome_xslt/C++/Makefile.am deleted file mode 100644 index 30e2ce870..000000000 --- a/helm/DEVEL/gdome_xslt/C++/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = gdome_xslt test diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/.cvsignore deleted file mode 100644 index 051d1bd50..000000000 --- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile -Makefile.in -.deps diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLT.hh b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLT.hh deleted file mode 100644 index 97b8cc655..000000000 --- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLT.hh +++ /dev/null @@ -1,7 +0,0 @@ - -#ifndef __GdomeSmartDOMXSLT_hh__ -#define __GdomeSmartDOMXSLT_hh__ - -#include "GdomeSmartDOMXSLTStylesheet.hh" - -#endif // __GdomeSmartDOMXSLT_hh__ diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.cc b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.cc deleted file mode 100644 index 330f8724e..000000000 --- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.cc +++ /dev/null @@ -1,131 +0,0 @@ -// This file is part of a XSLT engine working on Gdome documents. In fact, -// it just maps Gdome documents to libxml documents back and forth, and -// applies the transformation on libxml documents using libxlt. -// -// Copyright (C) 2002: Luca Padovani -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// For more information, please send an email to lpadovan@cs.unibo.it - -#include "config.h" - -#include -#include - -#include -#include - -#include "GdomeSmartDOMXSLTStylesheet.hh" - -namespace GdomeSmartDOMExt { - - XSLTStylesheet::XSLTStylesheet(const Document& doc) - { - assert(doc); - GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object()); - assert(_doc); - stylesheet = processStylesheet(_doc); - GdomeException _exc = 0; - gdome_doc_unref(_doc, &_exc); - assert(_exc == 0); - } - - XSLTStylesheet::~XSLTStylesheet() - { - if (stylesheet) - { - xsltFreeStylesheet(stylesheet); - stylesheet = 0; - } - } - - Document - XSLTStylesheet::apply(const Document& source) const - { - std::vector< std::pair > noParams; - return apply(source, noParams); - } - - Document - XSLTStylesheet::apply(const Document& source, const std::vector< std::pair >& params) const - { - assert(source); - - char** _params = (char**) malloc(sizeof(char*) * (2 * params.size() + 1)); - for (unsigned i = 0; i < params.size(); i++) - { - std::string param = params[i].first; - _params[2 * i] = strdup(param.c_str()); - std::string value = params[i].second; - _params[2 * i + 1] = strdup(value.c_str()); - } - _params[2 * params.size()] = 0; - - GdomeDocument* _source = gdome_cast_doc(source.gdome_object()); - assert(_source); - GdomeDocument* _result = applyStylesheet(_source, stylesheet, const_cast(_params)); - - GdomeException _exc = 0; - gdome_doc_unref(_source, &_exc); - assert(_exc == 0); - - for (unsigned i = 0; i < 2 * params.size(); i++) free(_params[i]); - free(_params); - - Document result(_result); - gdome_doc_unref(_result, &_exc); - assert(_exc == 0); - - return result; - } - - void - XSLTStylesheet::save(const Document& doc, const std::string& filename) const - { - assert(doc); - GdomeException _exc = 0; - GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object()); - assert(_doc); - if (saveResultToFilename(filename.c_str(), _doc, stylesheet, 0) < 0) throw SaveException(); - gdome_doc_unref(_doc, &_exc); - assert(_exc == 0); - } - - void - XSLTStylesheet::save(const Document& doc, FILE* f) const - { - assert(doc); - GdomeException _exc = 0; - GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object()); - assert(_doc); - if (saveResultToFile(f, _doc, stylesheet) < 0) throw SaveException(); - gdome_doc_unref(_doc, &_exc); - assert(_exc == 0); - } - - void - XSLTStylesheet::save(const Document& doc, int fd) const - { - assert(doc); - GdomeException _exc = 0; - GdomeDocument* _doc = gdome_cast_doc(doc.gdome_object()); - assert(_doc); - if (saveResultToFd(fd, _doc, stylesheet) < 0) throw SaveException(); - gdome_doc_unref(_doc, &_exc); - assert(_exc == 0); - } - -} diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.hh b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.hh deleted file mode 100644 index 1757f39a3..000000000 --- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/GdomeSmartDOMXSLTStylesheet.hh +++ /dev/null @@ -1,59 +0,0 @@ -// This file is part of a XSLT engine working on Gdome documents. In fact, -// it just maps Gdome documents to libxml documents back and forth, and -// applies the transformation on libxml documents using libxlt. -// -// Copyright (C) 2002: Luca Padovani -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// For more information, please send an email to lpadovan@cs.unibo.it - -#ifndef __GdomeSmartDOMXSLTStylesheet_hh__ -#define __GdomeSmartDOMXSLTStylesheet_hh__ - -#include -#include -#include - -#include "gdome_xslt.h" -#include - -namespace GdomeSmartDOMExt { - - using namespace GdomeSmartDOM; - - class XSLTStylesheet - { - public: - explicit XSLTStylesheet(const Document& doc); - ~XSLTStylesheet(); - - Document apply(const Document& source) const; - Document apply(const Document& source, const std::vector< std::pair >& params) const; - void save(const Document& result, const std::string& filename) const; - void save(const Document& result, FILE* f) const; - void save(const Document& result, int fd) const; - - class SaveException { }; - - private: - XSLTStylesheet(const XSLTStylesheet&); - - xsltStylesheet* stylesheet; - }; - -} - -#endif // __GdomeSmartDOMXSLTStylesheet_hh__ diff --git a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/C++/gdome_xslt/Makefile.am deleted file mode 100644 index 0e4b76e4e..000000000 --- a/helm/DEVEL/gdome_xslt/C++/gdome_xslt/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ - -lib_LTLIBRARIES = libgdome_xslt_cpp_smart.la - -libgdome_xslt_cpp_smart_la_LIBADD = $(top_builddir)/C/gdome_xslt/libgdome_xslt.la - -libgdome_xslt_cpp_smart_la_LDFLAGS = -version-info @VERSION_INFO@ - -libgdome_xslt_cpp_smart_la_SOURCES = \ - GdomeSmartDOMXSLTStylesheet.cc - -pkginclude_HEADERS = \ - GdomeSmartDOMXSLTStylesheet.hh \ - GdomeSmartDOMXSLT.hh - -INCLUDES = \ - $(GMETADOM_CFLAGS) \ - $(LIBXSLT_CFLAGS) \ - -I$(top_srcdir) \ - -I$(top_srcdir)/C/gdome_xslt diff --git a/helm/DEVEL/gdome_xslt/C++/test/.cvsignore b/helm/DEVEL/gdome_xslt/C++/test/.cvsignore deleted file mode 100644 index 051d1bd50..000000000 --- a/helm/DEVEL/gdome_xslt/C++/test/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile -Makefile.in -.deps diff --git a/helm/DEVEL/gdome_xslt/C++/test/Makefile.am b/helm/DEVEL/gdome_xslt/C++/test/Makefile.am deleted file mode 100644 index 12a08d07a..000000000 --- a/helm/DEVEL/gdome_xslt/C++/test/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ - -noinst_PROGRAMS = test - -test_SOURCES = main.cc - -LDADDS = \ - $(GMETADOM_LIBS) \ - $(LIBXSLT_LIBS) \ - $(top_builddir)/C++/gdome_xslt/libgdome_xslt_cpp_smart.la - -test_LDADD = $(LDADDS) - -INCLUDES = \ - $(GMETADOM_CFLAGS) \ - $(LIBXSLT_CFLAGS) \ - -I$(top_srcdir)/C/gdome_xslt \ - -I$(top_srcdir)/C++/gdome_xslt - diff --git a/helm/DEVEL/gdome_xslt/C++/test/main.cc b/helm/DEVEL/gdome_xslt/C++/test/main.cc deleted file mode 100644 index 0f5aa2d70..000000000 --- a/helm/DEVEL/gdome_xslt/C++/test/main.cc +++ /dev/null @@ -1,53 +0,0 @@ -/* This file is a test for the XSLT engine working on Gdome documents. - * - * Copyright (C) 2002 Claudio Sacerdoti Coen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to - */ - -#include -#include -#include "GdomeSmartDOMXSLT.hh" - -namespace DOM = GdomeSmartDOM; -namespace DOMX = GdomeSmartDOMExt; - -#define OUTPUT_FILE "../../test_files/output.xml" -#define CORRECT_OUTPUT_FILE "../../test_files/output.xml.correct" - -int -main(void) -{ - int bytes; - DOM::DOMImplementation di; - std::vector< std::pair > params; - - params.push_back(std::make_pair(DOM::GdomeString("parameter1"), DOM::GdomeString("'value1'"))); - params.push_back(std::make_pair(DOM::GdomeString("parameter2"), DOM::GdomeString("'value2'"))); - params.push_back(std::make_pair(DOM::GdomeString("parameter3"), DOM::GdomeString("'value3'"))); - - DOM::Document input = di.createDocumentFromURI("../../test_files/input.xml"); - DOM::Document style = di.createDocumentFromURI("../../test_files/stylesheet.xsl"); - - DOMX::XSLTStylesheet style_libxslt(style); - DOM::Document output = style_libxslt.apply(input, params); - style_libxslt.save(output, OUTPUT_FILE); - - std::cout << "The test was successful iff " << OUTPUT_FILE << " is equal to " << CORRECT_OUTPUT_FILE << std::endl; - - return 0; -} diff --git a/helm/DEVEL/gdome_xslt/C/.cvsignore b/helm/DEVEL/gdome_xslt/C/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/helm/DEVEL/gdome_xslt/C/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/helm/DEVEL/gdome_xslt/C/Makefile.am b/helm/DEVEL/gdome_xslt/C/Makefile.am deleted file mode 100644 index 7424d618c..000000000 --- a/helm/DEVEL/gdome_xslt/C/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -SUBDIRS = gdome_xslt test - diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/C/gdome_xslt/.cvsignore deleted file mode 100644 index 572cf3ae5..000000000 --- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -gdome_xslt.o -Makefile -Makefile.in -.deps diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/C/gdome_xslt/Makefile.am deleted file mode 100644 index b8e374ee3..000000000 --- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ - -lib_LTLIBRARIES = libgdome_xslt.la - -libgdome_xslt_la_LDFLAGS = -version-info @VERSION_INFO@ - -libgdome_xslt_la_SOURCES = gdome_xslt.c - -pkginclude_HEADERS = gdome_xslt.h - -INCLUDES = \ - $(GDOME_CFLAGS) \ - $(LIBXSLT_CFLAGS) \ - -I$(top_srcdir) - diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c b/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c deleted file mode 100644 index 232f14b12..000000000 --- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c +++ /dev/null @@ -1,239 +0,0 @@ -/* This file implements a XSLT engine working on Gdome documents. In fact, - * it just maps Gdome documents to libxml documents back and forth, and - * applyes the transformation on libxml documents using libxlt. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "gdome_xslt.h" - -// Begin of Gdome internals exposed -typedef struct _Gdome_xml_Document Gdome_xml_Document; -struct _Gdome_xml_Document { - GdomeDocument super; - const GdomeDocumentVtab* vtab; - int refcnt; - xmlDocPtr n; - GdomeAccessType accessType; -}; - -GdomeNode* gdome_xml_n_mkref(xmlNode* n); -// End of Gdome internals exposed - -// Begin of the abstraction of Gdome internals. Uses the Gdome internals exposed -xmlDocPtr libxml_of_gdome(GdomeDocument* doc) -{ - return ((Gdome_xml_Document*)doc)->n; -} - -GdomeDocument* gdome_of_libxml(xmlDocPtr n) -{ - return (GdomeDocument*)gdome_xml_n_mkref((xmlNode*)n); -} -// End of the abstraction of Gdome internals. Uses the Gdome internals exposed. - - - -// From now on no Gdome internal should be used directly. - - /******************************/ - /* XSLT stylesheet Processing */ - /******************************/ - -xsltStylesheetPtr processStylesheet(GdomeDocument* style) -{ - xmlDocPtr style_copy; - xmlDocPtr style_libxml; - - if (style == NULL) { - return NULL; - } - style_libxml = libxml_of_gdome(style); - style_copy = xmlCopyDoc(style_libxml, 1); - style_copy->URL = xmlStrdup(style_libxml->URL); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltParseStylesheetDoc(style_copy); -} - - /*******************************/ - /* XSLT stylesheet Application */ - /*******************************/ - -GdomeDocument* applyStylesheet(GdomeDocument* source, xsltStylesheetPtr - style_libxslt, const char** params) -{ - xmlDocPtr source_libxml; - xmlDocPtr output_libxml; - - if (source == NULL) return NULL; - source_libxml = libxml_of_gdome(source); - - xsltSetGenericDebugFunc(NULL, NULL); - - output_libxml = xsltApplyStylesheet(style_libxslt, source_libxml, - params); - - if (output_libxml == NULL) return NULL; - - return gdome_of_libxml(output_libxml); -} - - /******************/ - /* Results Output */ - /******************/ - -int saveResultToFilename (const char* name, GdomeDocument* result, - xsltStylesheetPtr style_libxslt, int compression) -{ - xmlDocPtr result_libxml; - - if (result == NULL) return -1; - result_libxml = libxml_of_gdome(result); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltSaveResultToFilename(name, result_libxml, - style_libxslt, compression); -} - -int saveResultToFile (FILE* file, GdomeDocument* result, - xsltStylesheetPtr style_libxslt) -{ - xmlDocPtr result_libxml; - - if (result == NULL) return -1; - result_libxml = libxml_of_gdome(result); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltSaveResultToFile(file, result_libxml, style_libxslt); -} - -int saveResultToFd (int fd, GdomeDocument* result, xsltStylesheetPtr - style_libxslt) -{ - xmlDocPtr result_libxml; - - if (result == NULL) return -1; - result_libxml = libxml_of_gdome(result); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltSaveResultToFd(fd, result_libxml, style_libxslt); -} - - /**********************************************/ - /* Error and Debugging Callbacks Registration */ - /**********************************************/ - - /* max size of a single message passed to callbacks */ -#define MAX_MSG_SIZE 1024 -#define TRUNCATED_MSG "... TRUNCATED ..." -#define TRUNCATED_MSG_LEN strlen(TRUNCATED_MSG) - - /* ERROR callbacks */ - - /* user provided error callback, needs a string input */ -static gdomeXsltMsgCallback errorUserCallback = NULL; - - /* libxslt like error callback, ignore context, builds a string - * input for user provided error callback and invoke it */ -void gdomeXsltErrorCallback (void *ctx, const char *msg, ...) { - va_list args; - char buf[MAX_MSG_SIZE]; - - if (errorUserCallback == NULL) - return; - - va_start(args, msg); - if (vsnprintf(buf, MAX_MSG_SIZE, msg, args) > MAX_MSG_SIZE - 1) - { /* message truncated; write TRUNCATED_MSG on it */ - strncpy(buf+(strlen(buf) - TRUNCATED_MSG_LEN), - TRUNCATED_MSG, TRUNCATED_MSG_LEN); - } - va_end(args); - - (*errorUserCallback) (buf); - - return; -} - - /* set user provided error callback */ -void setErrorCallback (gdomeXsltMsgCallback callback) -{ - errorUserCallback = callback; - xsltSetGenericErrorFunc(NULL, - (callback == NULL ? NULL : gdomeXsltErrorCallback)); - - return; -} - - /* DEBUG callbacks */ - - /* user provided debug callback, needs a string input */ -static gdomeXsltMsgCallback debugUserCallback = NULL; - - /* libxslt like debug callback, ignore context, builds a string - * input for user provided debug callback and invoke it */ -void gdomeXsltDebugCallback (void *ctx, const char *msg, ...) { - va_list args; - char buf[MAX_MSG_SIZE]; - - if (debugUserCallback == NULL) - return; - - va_start(args, msg); - if (vsnprintf(buf, MAX_MSG_SIZE, msg, args) > MAX_MSG_SIZE - 1) - { /* message truncated; write TRUNCATED_MSG on it */ - strncpy(buf+(strlen(buf) - TRUNCATED_MSG_LEN), - TRUNCATED_MSG, TRUNCATED_MSG_LEN); - } - va_end(args); - - (*debugUserCallback) (buf); - - return; -} - - /* set user provided debug callback */ -void setDebugCallback (gdomeXsltMsgCallback callback) -{ - debugUserCallback = callback; - xsltSetGenericDebugFunc(NULL, - (callback == NULL ? NULL : gdomeXsltDebugCallback)); - - return; -} - diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h b/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h deleted file mode 100644 index 383208770..000000000 --- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h +++ /dev/null @@ -1,87 +0,0 @@ - -/* This file implements a XSLT engine working on Gdome documents. In fact, - * it just maps Gdome documents to libxml documents back and forth, and - * applies the transformation on libxml documents using libxlt. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - */ - -#ifndef __gdome_xslt_h__ -#define __gdome_xslt_h__ - -#include -#include -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - /******************************/ - /* XSLT stylesheet Processing */ - /******************************/ - -xsltStylesheetPtr processStylesheet (GdomeDocument* style); - - - /*******************************/ - /* XSLT stylesheet Application */ - /*******************************/ - -GdomeDocument* applyStylesheet (GdomeDocument* source, - xsltStylesheetPtr style_libxslt, - const char** params); - - /******************/ - /* Results Output */ - /******************/ - -int saveResultToFilename (const char* name, - GdomeDocument* result, - xsltStylesheetPtr style_libxslt, - int compression); -int saveResultToFile (FILE* file, - GdomeDocument* result, - xsltStylesheetPtr style_libxslt); -int saveResultToFd (int fd, - GdomeDocument* result, - xsltStylesheetPtr style_libxslt); - - /**********************************************/ - /* Error and Debugging Callbacks Registration */ - /**********************************************/ - -typedef void(*gdomeXsltMsgCallback)(const char *); - -void setErrorCallback (gdomeXsltMsgCallback callback); -void setDebugCallback (gdomeXsltMsgCallback callback); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __gdome_xslt_h__ */ diff --git a/helm/DEVEL/gdome_xslt/C/test/.cvsignore b/helm/DEVEL/gdome_xslt/C/test/.cvsignore deleted file mode 100644 index 87ed101b8..000000000 --- a/helm/DEVEL/gdome_xslt/C/test/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -test -.deps -Makefile -Makefile.in diff --git a/helm/DEVEL/gdome_xslt/C/test/Makefile.am b/helm/DEVEL/gdome_xslt/C/test/Makefile.am deleted file mode 100644 index e17047c15..000000000 --- a/helm/DEVEL/gdome_xslt/C/test/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ - -noinst_PROGRAMS = test - -test_SOURCES = test.c - -LDADDS = \ - $(GDOME_LIBS) \ - $(LIBXSLT_LIBS) \ - $(top_builddir)/C/gdome_xslt/libgdome_xslt.la - -test_LDADD = $(LDADDS) - -INCLUDES = \ - $(GDOME_CFLAGS) \ - $(LIBXSLT_CFLAGS) \ - -I$(top_srcdir)/C/gdome_xslt - diff --git a/helm/DEVEL/gdome_xslt/C/test/test.c b/helm/DEVEL/gdome_xslt/C/test/test.c deleted file mode 100644 index 2f39ba87a..000000000 --- a/helm/DEVEL/gdome_xslt/C/test/test.c +++ /dev/null @@ -1,106 +0,0 @@ -/* This file is a test for the XSLT engine working on Gdome documents. - * - * Copyright (C) 2002 Claudio Sacerdoti Coen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to - */ - -#include -#include -#include -#include -#include - -#include "gdome_xslt.h" - -#define OUTPUT_FILE "../../test_files/output.xml" -#define CORRECT_OUTPUT_FILE "../../test_files/output.xml.correct" - -GdomeDocument* loadDocument(GdomeDOMImplementation *domimpl, char *uri) -{ - GdomeDocument *doc; - GdomeException exc; - - doc = gdome_di_createDocFromURI(domimpl, uri, GDOME_LOAD_PARSING, &exc); - if (doc == NULL) { - fprintf (stderr, - "DOMImplementation.createDocFromURI: failed\n\tException #%d\n", - exc); - } - - return doc; -} - -/* // old version: use gdome serialization -int saveDocument(GdomeDOMImplementation *domimpl, GdomeDocument* doc, char *uri) -{ - GdomeException exc; - - if (!gdome_di_saveDocToFile (domimpl, doc, uri, GDOME_SAVE_STANDARD, &exc)) { - fprintf (stderr, - "DOMImplementation.saveDocToFile: failed\n\tException #%d\n", - exc); - return 0; - } - - return 1; -} -*/ - - /* new version, use libxslt serialization */ -int saveDocument(char* fname, GdomeDocument* result, xsltStylesheetPtr style) { - return saveResultToFilename(fname, result, style, 0); -} - -int main(void) -{ - int bytes; - GdomeDOMImplementation *domimpl; - GdomeDocument *input; - GdomeDocument *style; - xsltStylesheetPtr style_libxslt; - GdomeDocument *output; - GdomeException exc; - const char* params[] = {"parameter1", "'value1'", - "parameter2", "'value2'", - "parameter3", "'value3'", - NULL}; - - domimpl = gdome_di_mkref(); - - if (!(input = loadDocument(domimpl, "../../test_files/input.xml"))) return 1; - if (!(style = loadDocument(domimpl, "../../test_files/stylesheet.xsl"))) return 1; - - style_libxslt = processStylesheet(style); - - output = applyStylesheet(input, style_libxslt, params); - -/* if (!(saveDocument(domimpl, output, "../../test_files/output.xml"))) return 1; */ - bytes = saveDocument("../../test_files/output.xml", output, style_libxslt); - - xsltFreeStylesheet(style_libxslt); - gdome_di_freeDoc (domimpl, input, &exc); - gdome_di_freeDoc (domimpl, style, &exc); - gdome_di_freeDoc (domimpl, output, &exc); - gdome_di_unref (domimpl, &exc); - - printf("The test was successful iff %s is equal to %s\n", - OUTPUT_FILE, - CORRECT_OUTPUT_FILE); - - return 0; -} diff --git a/helm/DEVEL/gdome_xslt/ChangeLog b/helm/DEVEL/gdome_xslt/ChangeLog deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/gdome_xslt/LICENSE b/helm/DEVEL/gdome_xslt/LICENSE deleted file mode 100644 index cf9b6b997..000000000 --- a/helm/DEVEL/gdome_xslt/LICENSE +++ /dev/null @@ -1,510 +0,0 @@ - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations -below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. -^L - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes a de-facto standard. To achieve this, non-free programs must -be allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. -^L - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control -compilation and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. -^L - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. -^L - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at least - three years, to give the same user the materials specified in - Subsection 6a, above, for a charge no more than the cost of - performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. -^L - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. -^L - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply, and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License -may add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. -^L - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS -^L - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms -of the ordinary General Public License). - - To apply these terms, attach the following notices to the library. -It is safest to attach them to the start of each source file to most -effectively convey the exclusion of warranty; and each file should -have at least the "copyright" line and a pointer to where the full -notice is found. - - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or -your school, if any, to sign a "copyright disclaimer" for the library, -if necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James - Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/helm/DEVEL/gdome_xslt/LICENSE-INRIA b/helm/DEVEL/gdome_xslt/LICENSE-INRIA deleted file mode 100644 index 0fcaa957d..000000000 --- a/helm/DEVEL/gdome_xslt/LICENSE-INRIA +++ /dev/null @@ -1,13 +0,0 @@ -As a special exception to the GNU Library General Public License, you -may link, statically or dynamically, a "work that uses the Library" -with a publicly distributed version of the Library to produce an -executable file containing portions of the Library, and distribute -that executable file under terms of your choice, without any of the -additional requirements listed in clause 6 of the GNU Library General -Public License. By "a publicly distributed version of the Library", -we mean either the unmodified Library as distributed by INRIA, or a -modified version of the Library that is distributed under the -conditions defined in clause 3 of the GNU Library General Public -License. This exception does not however invalidate any other reasons -why the executable file might be covered by the GNU Library General -Public License. diff --git a/helm/DEVEL/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/Makefile.am deleted file mode 100644 index 5c36bb5ff..000000000 --- a/helm/DEVEL/gdome_xslt/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -DISTDIR = @PACKAGE@-@VERSION@ - -EXTRA_DIST = BUGS LICENSE aclocal.m4 debian/ gdome2-xslt.pc.in gdome2-xslt-cpp-smart.pc.in - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = gdome2-xslt.pc gdome2-xslt-cpp-smart.pc - -## SUBDIRS = C C++ test_files -SUBDIRS = C C++ ocaml test_files - -deb: dist - if [ -d $(DISTDIR)/ ]; then rm -rf $(DISTDIR); else true; fi - tar xvzf $(DISTDIR).tar.gz - (cd $(DISTDIR)/ && debuild) - rm -rf $(DISTDIR) - diff --git a/helm/DEVEL/gdome_xslt/NEWS b/helm/DEVEL/gdome_xslt/NEWS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/gdome_xslt/README b/helm/DEVEL/gdome_xslt/README deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/gdome_xslt/configure.ac b/helm/DEVEL/gdome_xslt/configure.ac deleted file mode 100644 index b8c3b7f29..000000000 --- a/helm/DEVEL/gdome_xslt/configure.ac +++ /dev/null @@ -1,107 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT -AC_CONFIG_SRCDIR([C/gdome_xslt/gdome_xslt.h]) - -PACKAGE=gdome2-xslt -VERSION=0.0.6 -VERSION_INFO=`echo $VERSION | awk -F. '{ printf "%d:%d:%d", $1+$2, $3, $2 }'` -AC_SUBST(VERSION_INFO) - -AC_PROG_CC -AC_PROG_CXX -AC_PROG_INSTALL - -AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE($PACKAGE, $VERSION) -AM_PROG_LIBTOOL - -PKG_CHECK_MODULES(GDOME, gdome2 >= 0.7.0,, AC_MSG_ERROR(could not find Gdome2)) -AC_SUBST(GDOME_CFLAGS) -AC_SUBST(GDOME_LIBS) - -PKG_CHECK_MODULES(GMETADOM, gdome2-cpp-smart >= 0.1.8,, AC_MSG_ERROR(could not find GMetaDOM)) -AC_SUBST(GMETADOM_CFLAGS) -AC_SUBST(GMETADOM_LIBS) - -PKG_CHECK_MODULES(LIBXSLT, libxslt,, AC_MSG_ERROR(could not find libxslt)) -AC_SUBST(LIBXSLT_CFLAGS) -AC_SUBST(LIBXSLT_LIBS) - -AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no) -if test $HAVE_OCAMLC = "no"; then - AC_MSG_ERROR(could not find ocamlc in PATH, please make sure ocaml is installed) -else - OCAMLC=ocamlc - OCAMLSTDLIBDIR="`ocamlc -where`" - OCAMLSTUBDIR="`ocamlc -where`/stublibs" - AC_SUBST(OCAMLC) - AC_SUBST(OCAMLSTDLIBDIR) - AC_SUBST(OCAMLSTUBDIR) -fi - -AC_CHECK_PROG(HAVE_OCAMLOPT, ocamlopt, yes, no) -if test $HAVE_OCAMLOPT = "no"; then - AC_MSG_WARN(ocaml native libraries won't be compiled since ocamlopt was not found) -else - OCAMLOPT=ocamlopt - AC_SUBST(OCAMLOPT) -fi -AM_CONDITIONAL(HAVE_OCAMLOPT_COND, test x$HAVE_OCAMLOPT = xyes) - -AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no) -if test $HAVE_OCAMLFIND = "no"; then - AC_MSG_ERROR(could not find ocamlfind in PATH, please make sure findlib is installed) -else - OCAMLFIND=ocamlfind - AC_SUBST(OCAMLFIND) -fi - -AC_CHECK_PROG(HAVE_OCAMLDEP, ocamldep, yes, no) -if test $HAVE_OCAMLDEP = "yes"; then - OCAMLDEP=ocamldep - AC_SUBST(OCAMLDEP) -fi - -AC_CHECK_PROG(HAVE_OCAMLMKLIB, ocamlmklib, yes, no) -if test $HAVE_OCAMLMKLIB = "no"; then - AC_MSG_ERROR(could not find ocamlmklib in PATH, please make sure ocamlmklib is installed) -else - OCAMLMKLIB=ocamlmklib - AC_SUBST(OCAMLMKLIB) -fi - -AC_MSG_CHECKING(for gdome2 ocaml binding) -ocamlfind query gdome2 || - AC_MSG_ERROR(gdome2 not installed (according to findlib)) -MLGDOME_CFLAGS="`$OCAMLFIND query -i-format gdome2`" -AC_SUBST(MLGDOME_CFLAGS) - -AC_MSG_CHECKING(for the ocaml library dir) -OCAML_LIB_DIR=`ocamlc -where` -AC_MSG_RESULT($OCAML_LIB_DIR) - -AC_CHECK_FILE(/usr/include/caml/mlvalues.h, - OCAML_INCLUDE_DIR=/usr/include/caml, - OCAML_INCLUDE_DIR=$OCAML_LIB_DIR/caml -) - -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_SUBST(OCAML_INCLUDE_DIR) - -AC_CONFIG_FILES([ - Makefile - C/Makefile - C/gdome_xslt/Makefile - C/test/Makefile - C++/gdome_xslt/Makefile - C++/test/Makefile - C++/Makefile - ocaml/Makefile - ocaml/gdome_xslt/Makefile - ocaml/gdome_xslt/META - ocaml/test/Makefile - gdome2-xslt.pc - gdome2-xslt-cpp-smart.pc - test_files/Makefile]) -AC_OUTPUT diff --git a/helm/DEVEL/gdome_xslt/debian/changelog b/helm/DEVEL/gdome_xslt/debian/changelog deleted file mode 100644 index 09607a15a..000000000 --- a/helm/DEVEL/gdome_xslt/debian/changelog +++ /dev/null @@ -1,183 +0,0 @@ -gdome2-xslt (0.0.6-6) unstable; urgency=medium - - * debian/control - - depend on ocaml-base-nox-3.08 instead of ocaml-base-3.08 since - this package doesn't directly need ocaml X libraries - - -- Stefano Zacchiroli Tue, 24 Aug 2004 12:25:28 +0200 - -gdome2-xslt (0.0.6-5) unstable; urgency=low - - * re-run autotools chain to get rid of spurious shared objects created - without .so suffixes - - -- Stefano Zacchiroli Tue, 27 Jul 2004 10:00:09 +0200 - -gdome2-xslt (0.0.6-4) unstable; urgency=low - - * rebuilt with ocaml 3.08 - * debian/control - - bumped ocaml deps to 3.08 - - bumped standards-version to 3.6.1.1 - - changed ocaml deps to ocaml-nox - - bumped gmetadom (ocaml part) versions to >= 0.2.1-3 (first version - rebuilt with ocaml 3.08) - - -- Stefano Zacchiroli Mon, 26 Jul 2004 16:47:13 +0200 - -gdome2-xslt (0.0.6-3) unstable; urgency=high - - * ocaml/gdome_xslt/Makefile.am - - use .o PIC objects from .libs directory - (should fix build failure on hppa) - * debian/control - - versione build dep on findlib to >= 0.8-5 - - -- Stefano Zacchiroli Tue, 21 Oct 2003 14:43:09 +0200 - -gdome2-xslt (0.0.6-2) unstable; urgency=low - - * Rebuilt against gmetadom 0.2.1, gdome2 0.8.1 (should link against glib2) - - -- Stefano Zacchiroli Fri, 10 Oct 2003 09:38:27 +0200 - -gdome2-xslt (0.0.6-1) unstable; urgency=low - - * ocaml binding - - wrapped XSLT stylesheet application in a blocking section so that - it can be interrupted by ocaml exceptions, signals, ... - * restructured/cleaned up Makefiles - - -- Stefano Zacchiroli Sat, 4 Oct 2003 17:09:37 +0200 - -gdome2-xslt (0.0.4-9) unstable; urgency=low - - * Rebuilt with ocaml 3.07 - - -- Stefano Zacchiroli Wed, 1 Oct 2003 14:18:19 +0200 - -gdome2-xslt (0.0.4-8) unstable; urgency=low - - * Rebuilt with ocaml 3.07beta2 - - -- Stefano Zacchiroli Mon, 22 Sep 2003 18:26:04 +0200 - -gdome2-xslt (0.0.4-7) unstable; urgency=low - - * rebuilt against gmetadom 0.1.10-3 - * debian/control - - strictly depends on gmetadom >= 0.1.10-3 (older version are buggy - on mips) - - -- Stefano Zacchiroli Mon, 14 Jul 2003 11:16:59 +0200 - -gdome2-xslt (0.0.4-6) unstable; urgency=low - - * debian/control - - bumped gmetadom dependencies to >= 0.1.10-2 (to ensure that .pc - is available) - - -- Stefano Zacchiroli Tue, 1 Jul 2003 10:14:14 +0200 - -gdome2-xslt (0.0.4-5) unstable; urgency=low - - * rebuilt using gmetadom 0.1.9 - * debian/control - - added build-dep on pkg-config - - bumped dependencies on gmetadom to 0.1.9 - - bumped standards-version to 3.5.10 - - changed section of -dev packages to libdevel - - added ${misc:Depends} - * debian/rules - - removed DH_COMPAT in favour of debian/compat - - removed dh_movefiles in favour of dh_install - - cosmetic changes - - -- Stefano Zacchiroli Thu, 19 Jun 2003 17:05:47 +0200 - -gdome2-xslt (0.0.4-4) unstable; urgency=low - - * Bugfix: ships also -config script - * Bumped Standards-Version to 3.5.9 - - -- Stefano Zacchiroli Thu, 20 Mar 2003 20:45:27 +0100 - -gdome2-xslt (0.0.4-3) unstable; urgency=low - - * Implemented "high" level functions to set handlers for libxslt error and - debugging messages: setErrorCallback, setDebugCallback (C flavour) - * Implemented binding for the above functions (OCaml flavour) - * Bugfix: installs also i_gdome_xslt.ml, gdome_xslt_init.o - - -- Stefano Zacchiroli Thu, 13 Mar 2003 18:07:22 +0100 - -gdome2-xslt (0.0.4-2) unstable; urgency=low - - * Bugfix: installs also i_gdome_xslt.cmi - - -- Stefano Zacchiroli Wed, 12 Mar 2003 18:28:27 +0100 - -gdome2-xslt (0.0.4-1) unstable; urgency=low - - * New release - * Added a new interface for apply method which requires no arguments - * Bumped gmetadom dependencies to 0.1.6 - * Removed << dependencies on gmetadom - * Bumpetd gdome2 version to 0.7.4 - - -- Stefano Zacchiroli Mon, 10 Mar 2003 17:50:42 +0100 - -gdome2-xslt (0.0.3-3) unstable; urgency=low - - * No longer use virtual dependencies on other ocaml libraries, reverted to - >=/<< dependencies approach - * Bumped dependencies on gmetadom to version 0.1.5 - - -- Stefano Zacchiroli Fri, 24 Jan 2003 13:10:22 +0100 - -gdome2-xslt (0.0.3-2) unstable; urgency=low - - * Use versioned ocaml standard library directory - * Changed deps and build-deps to ocaml-3.06-1 - * Source named changed to gdome2-xslt - * Moved OCaml .so stub in /stublibs - * Moved ocaml stuff in /usr/lib/ocaml/3.06 - * Ship also C and C++ flavours - * Added dep from libgdome2-xslt-ocaml to libgdome2-ocaml - * Added dep from libgdome2-xslt-ocaml-dev to libgdome2-ocaml-dev-0.1.4 - * Added build-dep to libgdome2-cpp-smart-dev - * Provided a better Description - * Bumped Standards-Version to 3.5.8 - * Better test for ocamlopt existence - - -- Stefano Zacchiroli Sun, 8 Dec 2002 16:09:56 +0100 - -libxslt-ocaml (0.0.2-1) unstable; urgency=low - - * Added serialization functions - - -- Stefano Zacchiroli Thu, 28 Nov 2002 17:59:29 +0100 - -libxslt-ocaml (0.0.1-3) unstable; urgency=low - - * Rebuilt with ocaml 3.06 (Closes: Bug#158225, Bug#158217) - * Upgraded Standards-Version to 3.5.6 - * Switched deps and build-deps to ocaml-3.06 and ocaml-base-3.06 - * Switched to debhelper 4 - - -- Stefano Zacchiroli Wed, 28 Aug 2002 11:09:04 +0200 - -libxslt-ocaml (0.0.1-2) unstable; urgency=low - - * Added -fPIC option when compiled some .o in order to succesfully build - also on HPPA (Closes: Bug#142485). - * Renamed binary packages to libgdome2-xslt-ocaml and -dev. - - -- Stefano Zacchiroli Fri, 12 Apr 2002 14:55:57 +0200 - -libxslt-ocaml (0.0.1-1) unstable; urgency=low - - * Initial Release. - - -- Stefano Zacchiroli Sat, 6 Apr 2002 13:00:49 +0200 - diff --git a/helm/DEVEL/gdome_xslt/debian/compat b/helm/DEVEL/gdome_xslt/debian/compat deleted file mode 100644 index b8626c4cf..000000000 --- a/helm/DEVEL/gdome_xslt/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/helm/DEVEL/gdome_xslt/debian/control b/helm/DEVEL/gdome_xslt/debian/control deleted file mode 100644 index 9182ca1a8..000000000 --- a/helm/DEVEL/gdome_xslt/debian/control +++ /dev/null @@ -1,56 +0,0 @@ -Source: gdome2-xslt -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>> 4.0.0), ocaml-nox-3.08, ocaml-findlib (>= 0.8-5), libgdome2-ocaml-dev (>= 0.2.1-3), libgdome2-dev (>= 0.8.1), libxslt1-dev, libgdome2-cpp-smart-dev (>= 0.2.1), pkg-config -Standards-Version: 3.6.1.1 - -Package: libgdome2-xslt0 -Section: libs -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Minimal XSLT processor working on GDome2 documents - gdome2-xslt is a very small C library that implements a minimal - XSLT processor that can be used to apply XSLT stylesheets to - gdome2 documents. - . - This package includes shared libraries for the C implementation - and for the C++ bindings. - -Package: libgdome2-xslt-dev -Section: libdevel -Architecture: any -Depends: libgdome2-xslt0 (= ${Source-Version}), libxslt1-dev, libgdome2-dev (>= 0.8.1), libgdome2-cpp-smart-dev (>= 0.2.1), ${misc:Depends} -Description: Minimal XSLT processor working on GDome2 documents - gdome2-xslt is a very small C library that implements a minimal - XSLT processor that can be used to apply XSLT stylesheets to - gdome2 documents. - . - This package includes development support files for the C - library and for its C++ bindings. - -Package: libgdome2-xslt-ocaml -Architecture: any -Depends: ocaml-base-nox-3.08, libgdome2-ocaml (>= 0.2.1), ${shlibs:Depends}, ${misc:Depends} -Description: OCaml bindings for a minimal GDome2 based XSLT processor - gdome2-xslt is a very small C library that implements a minimal - XSLT processor that can be used to apply XSLT stylesheets to - gdome2 documents. - . - This package ships the OCaml language bindings for gdome2-xslt. - . - This package contains only the OCaml shared runtime stub libraries. - -Package: libgdome2-xslt-ocaml-dev -Architecture: any -Section: libdevel -Depends: ocaml-nox-3.08, libgdome2-xslt-ocaml (= ${Source-Version}), libgdome2-ocaml-dev (>= 0.2.1-3), libxslt1-dev, libgdome2-dev (>= 0.8.1), ${misc:Depends} -Description: OCaml bindings for a minimal GDome2 based XSLT processor - gdome2-xslt is a very small C library that implements a minimal - XSLT processor that can be used to apply XSLT stylesheets to - gdome2 documents. - . - This package ships the OCaml language bindings for gdome2-xslt. - . - This package contains OCaml development stuff for gdome2-xslt. - diff --git a/helm/DEVEL/gdome_xslt/debian/copyright b/helm/DEVEL/gdome_xslt/debian/copyright deleted file mode 100644 index 5cafed7bd..000000000 --- a/helm/DEVEL/gdome_xslt/debian/copyright +++ /dev/null @@ -1,18 +0,0 @@ -This package was debianized by Stefano Zacchiroli on -Sat, 6 Apr 2002 13:00:49 +0200. - -It was exported from the HELM CVS which is accesible using ViewCVS from: - http://www.cs.unibo.it/helm/ - -Upstream Author: - Claudio Sacerdoti Coen - -Copyright: - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - On a Debian GNU/Linux system, the LGPL can be found as - /usr/share/common-licenses/LGPL-2.1. diff --git a/helm/DEVEL/gdome_xslt/debian/docs b/helm/DEVEL/gdome_xslt/debian/docs deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.examples b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.examples deleted file mode 100644 index 23610114a..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.examples +++ /dev/null @@ -1,2 +0,0 @@ -ocaml/test/test.ml -test_files/* diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.install deleted file mode 100644 index c40374691..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-dev.install +++ /dev/null @@ -1,5 +0,0 @@ -usr/include/ -usr/lib/*.a -usr/lib/*.la -usr/lib/*.so -usr/lib/pkgconfig/ diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.dirs b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.dirs deleted file mode 100644 index f552f091a..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.08 diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.examples b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.examples deleted file mode 100644 index 354012c11..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.examples +++ /dev/null @@ -1,3 +0,0 @@ -C/test/test.c -C++/test/main.cc -test_files/* diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.install deleted file mode 100644 index b436f8375..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml-dev.install +++ /dev/null @@ -1,3 +0,0 @@ -usr/lib/ocaml/3.08/stublibs/*.owner -usr/lib/ocaml/3.08/stublibs/lib*.so -usr/lib/ocaml/3.08/gdome2-xslt/ diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.dirs b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.dirs deleted file mode 100644 index f552f091a..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.08 diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.install deleted file mode 100644 index 91bd7c8a0..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt-ocaml.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.08/stublibs/dll*.so diff --git a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0.install b/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0.install deleted file mode 100644 index 093956b17..000000000 --- a/helm/DEVEL/gdome_xslt/debian/libgdome2-xslt0.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*.so.* diff --git a/helm/DEVEL/gdome_xslt/debian/rules b/helm/DEVEL/gdome_xslt/debian/rules deleted file mode 100755 index 6479a0b90..000000000 --- a/helm/DEVEL/gdome_xslt/debian/rules +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -TARGETDIR = debian/libgdome2-xslt-ocaml-dev -SHARED_LIB_PKG = libgdome2-xslt0 - -configure: configure-stamp -configure-stamp: - dh_testdir - ./configure --prefix=/usr - touch configure-stamp - -build: build-stamp -build-stamp: configure-stamp - dh_testdir - $(MAKE) - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - -$(MAKE) clean - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs -s - $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp - dh_install --sourcedir=debian/tmp - -binary-arch: build install - dh_testdir - dh_testroot - dh_installdocs -s - dh_installexamples -s - dh_installman -s - dh_installinfo -s - dh_installchangelogs -s - dh_link -s - dh_strip -s - dh_compress -s - dh_fixperms -s - dh_makeshlibs -p $(SHARED_LIB_PKG) - dh_installdeb -s - dh_shlibdeps -s - dh_gencontrol -s - dh_md5sums -s - dh_builddeb -s - -binary: binary-arch -.PHONY: build clean binary-arch binary install configure diff --git a/helm/DEVEL/gdome_xslt/gdome2-xslt-cpp-smart.pc.in b/helm/DEVEL/gdome_xslt/gdome2-xslt-cpp-smart.pc.in deleted file mode 100644 index 0046f27e7..000000000 --- a/helm/DEVEL/gdome_xslt/gdome2-xslt-cpp-smart.pc.in +++ /dev/null @@ -1,14 +0,0 @@ -# This is a comment -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ -datadir=@datadir@ - -Name: Gdome2/XSLT C++ Binding -Description: API for applying XSLT stylesheets to Gdome2 documents -Version: @VERSION@ -Requires: gdome2 libxslt -Libs: @LIBXSLT_LIBS@ -L${libdir} -lgdome_xslt_cpp_smart -Cflags: @LIBXSLT_CFLAGS@ -I${includedir}/@PACKAGE@ - diff --git a/helm/DEVEL/gdome_xslt/gdome2-xslt.pc.in b/helm/DEVEL/gdome_xslt/gdome2-xslt.pc.in deleted file mode 100644 index 88df34a8d..000000000 --- a/helm/DEVEL/gdome_xslt/gdome2-xslt.pc.in +++ /dev/null @@ -1,14 +0,0 @@ -# This is a comment -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ -datadir=@datadir@ - -Name: Gdome2/XSLT C Binding -Description: API for applying XSLT stylesheets to Gdome2 documents -Version: @VERSION@ -Requires: gdome2 libxslt -Libs: @LIBXSLT_LIBS@ -L${libdir} -lgdome_xslt -Cflags: @LIBXSLT_CFLAGS@ -I${includedir}/@PACKAGE@ - diff --git a/helm/DEVEL/gdome_xslt/ocaml/.cvsignore b/helm/DEVEL/gdome_xslt/ocaml/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/helm/DEVEL/gdome_xslt/ocaml/Makefile.am b/helm/DEVEL/gdome_xslt/ocaml/Makefile.am deleted file mode 100644 index 30e2ce870..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = gdome_xslt test diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.cvsignore b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.cvsignore deleted file mode 100644 index 68ade6c12..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.cvsignore +++ /dev/null @@ -1,23 +0,0 @@ -META -Makefile -Makefile.in -config.cache -config.log -config.status -configure -gdome2-xslt.cma -gdome_xslt.cmi -gdome_xslt.cmo -gdome_xslt.cmx -gdome2-xslt.cmxa -gdome_xslt.o -gdome_xslt_init.cmi -gdome_xslt_init.cmo -gdome_xslt_init.cmx -gdome_xslt_init.o -i_gdome_xslt.cmi -i_gdome_xslt.cmo -i_gdome_xslt.cmx -i_gdome_xslt.o -ml_gdome_xslt.o -.deps diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.depend b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.depend deleted file mode 100644 index 519df4ba6..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/.depend +++ /dev/null @@ -1,5 +0,0 @@ -gdome_xslt.cmo: i_gdome_xslt.cmo gdome_xslt.cmi -gdome_xslt.cmx: i_gdome_xslt.cmx gdome_xslt.cmi -gdome_xslt_init.cmo: i_gdome_xslt.cmo gdome_xslt_init.cmi -gdome_xslt_init.cmx: i_gdome_xslt.cmx gdome_xslt_init.cmi -gdome_xslt.cmi: i_gdome_xslt.cmo diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/META.in b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/META.in deleted file mode 100644 index e5c9b19a1..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/META.in +++ /dev/null @@ -1,4 +0,0 @@ -requires="gdome2" -version="@VERSION@" -archive(byte)="mlgdome2-xslt.cma gdome_xslt_init.cmo" -archive(native)="mlgdome2-xslt.cmxa gdome_xslt_init.cmx" diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am deleted file mode 100644 index 6fa7a7f96..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/Makefile.am +++ /dev/null @@ -1,127 +0,0 @@ - -ARCHIVE = mlgdome2-xslt -PKGNAME = gdome2-xslt -OCAMLINSTALLDIR = $(DESTDIR)$(OCAMLSTDLIBDIR)/$(PKGNAME) -STUBSDIR = $(DESTDIR)$(OCAMLSTUBDIR) -OCAMLFLAGS = -I +gdome2 -OCAMLC = @OCAMLC@ ${OCAMLFLAGS} -OCAMLOPT = @OCAMLOPT@ ${OCAMLFLAGS} -OCAMLDEP = @OCAMLDEP@ -OCAML_CFLAGS = @OCAML_CFLAGS@ -OCAMLFIND = @OCAMLFIND@ -OCAMLMKLIB = ocamlmklib -DLL = dll$(ARCHIVE).so - -BUILT_SOURCES = x_gdome_xslt.c - -CLEANFILES = \ - $(ARCHIVE).cma $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a $(DLL) \ - *.cmo *.cmx *.cmi - -EXTRA_DIST = \ - META.in .depend \ - gdome_xslt.ml gdome_xslt.mli gdome_xslt_init.ml gdome_xslt_init.mli \ - i_gdome_xslt.ml \ - ocaml-io.h - -if HAVE_OCAMLOPT_COND -noinst_DATA = \ - $(ARCHIVE).cma $(DLL) $(ARCHIVE).cmxa $(ARCHIVE).a lib$(ARCHIVE).a \ - gdome_xslt_init.cmo gdome_xslt_init.cmx -else -noinst_DATA = \ - $(ARCHIVE).cma $(DLL) gdome_xslt_init.cmo lib$(ARCHIVE).a -endif - -noinst_LTLIBRARIES = libmlgdome2-xslt.la -C_SRC = ml_gdome_xslt.c x_gdome_xslt.c -libmlgdome2_xslt_la_SOURCES = $(C_SRC) - -O_S = $(C_SRC:%.c=.libs/%.o) -LO_S = $(O_S:%.o=%.lo) -CMA_DEPS = i_gdome_xslt.cmo gdome_xslt.cmo -CMXA_DEPS = $(CMA_DEPS:%.cmo=%.cmx) -SHARED_LIBS = $(LIBXSLT_LIBS) $(GDOME_LIBS) -lmlgdome - -x_gdome_xslt.c: $(top_srcdir)/C/gdome_xslt/gdome_xslt.c - cp $< $@ - -$(ARCHIVE).cma: $(CMA_DEPS) - $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMA_DEPS) $(SHARED_LIBS) - -$(ARCHIVE).cmxa: $(CMXA_DEPS) - $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMXA_DEPS) $(SHARED_LIBS) - -# $(DLL) lib$(ARCHIVE).a: $(LO_S) -# # use .lo for ocamlmklib -# for f in $(LO_S); do \ -# cp $$f $$f.o; \ -# done -# $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(LO_S:%=%.o) $(SHARED_LIBS) -# for f in $(LO_S:%=%.o); do \ -# rm $$f; \ -# done -# -$(DLL) lib$(ARCHIVE).a: $(O_S) - $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(O_S) $(SHARED_LIBS) - -INCLUDES = $(GDOME_CFLAGS) $(MLGDOME_CFLAGS) -I/usr/include/caml -I$(top_srcdir)/C/gdome_xslt - -BYTECODE_STUFF = \ - $(ARCHIVE).cma $(DLL) i_gdome_xslt.cmi i_gdome_xslt.ml gdome_xslt.cmi \ - gdome_xslt.mli gdome_xslt_init.cmi gdome_xslt_init.mli gdome_xslt_init.cmo \ - lib$(ARCHIVE).a -NATIVECODE_STUFF = \ - $(ARCHIVE).cmxa $(ARCHIVE).a gdome_xslt_init.cmx gdome_xslt_init.o -if HAVE_OCAMLOPT_COND -install-data-local: $(BYTECODE_STUFF) $(NATIVECODE_STUFF) -else -install-data-local: $(BYTECODE_STUFF) -endif - $(mkinstalldirs) $(OCAMLINSTALLDIR) $(STUBSDIR) - chmod -x $(DLL) - for i in $^; do \ - if [ "$$i" != "$(DLL)" ]; then \ - $(INSTALL_DATA) $$i $(OCAMLINSTALLDIR)/$$i; \ - fi \ - done - if [ "x$(OCAMLFIND)" != "x" ]; then \ - mv $(OCAMLINSTALLDIR) $(OCAMLINSTALLDIR).saved; \ - $(OCAMLFIND) install -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME) META $(DLL); \ - $(INSTALL_DATA) $(OCAMLINSTALLDIR).saved/* $(OCAMLINSTALLDIR)/; \ - rm -rf $(OCAMLINSTALLDIR).saved/; \ - else \ - $(INSTALL_DATA) $(DLL) $(STUBSDIR); \ - fi - ln -fs $(DLL) $(STUBSDIR)/lib$(ARCHIVE).so - -uninstall-local: - if [ "x$(OCAMLFIND)" != "x" ]; then \ - $(OCAMLFIND) remove -destdir $(DESTDIR)$(OCAMLSTDLIBDIR)/ $(PKGNAME); \ - else \ - rm -rf $(OCAMLINSTALLDIR); \ - rm $(STUBSDIR)/$(DLL); \ - fi - rm $(STUBSDIR)/lib$(ARCHIVE).so - -#### OCaml only stuff from now on - -DEPOBJS = *.ml *.mli - -depend: - $(OCAMLDEP) $(DEPOBJS) > .depend - -%.cmi : $(srcdir)/%.mli - if test ! -e $(@:%.cmi=%.mli) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi - $(OCAMLC) -c $(@:%.cmi=%.mli) - -%.cmo : $(srcdir)/%.ml - if test ! -e $(@:%.cmo=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi - $(OCAMLC) -c $(@:%.cmo=%.ml) - -%.cmx %.o : $(srcdir)/%.ml - if test ! -e $(@:%.cmx=%.ml) -a "x$(srcdir)" != "x." ; then $(LN_S) $< . ; fi - $(OCAMLOPT) -c $(@:%.cmx=%.ml) - -include .depend - diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.ml b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.ml deleted file mode 100644 index b64a006b4..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.ml +++ /dev/null @@ -1,59 +0,0 @@ -(* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - *) - -let processStylesheet style = - I_gdome_xslt.processStylesheet style#as_Document -;; - -let applyStylesheet ~source ~stylesheet ~params = - let res = - I_gdome_xslt.applyStylesheet ~source:(source#as_Document) ~stylesheet - ~params - in - new Gdome.document res -;; - -let saveResultToChannel ~outchan ~result ~stylesheet = - I_gdome_xslt.saveResultToChannel - ~outchan - ~result:result#as_Document - ~stylesheet -;; - -let setErrorCallback = function - | None -> I_gdome_xslt.disableErrorCallback () - | Some (callback: string -> unit) -> - Callback.register "error_callback" callback; - I_gdome_xslt.enableErrorCallback () -;; -let setDebugCallback = function - | None -> I_gdome_xslt.disableDebugCallback () - | Some (callback: string -> unit) -> - Callback.register "debug_callback" callback; - I_gdome_xslt.enableDebugCallback () -;; - diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.mli b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.mli deleted file mode 100644 index 8115457f3..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.mli +++ /dev/null @@ -1,59 +0,0 @@ -(* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - *) - -(* processStylesheet stylesheet *) -(* Process a stylesheet so that it can be subsequently used *) -(* with applyStylesheet. *) -val processStylesheet: - Gdome.document -> - I_gdome_xslt.processed_stylesheet - -(* applyStylesheet source stylesheet params *) -(* Applies a processed stylesheet to a source document, using *) -(* the given list of parameters (couples name,value) *) -val applyStylesheet: - source: Gdome.document -> - stylesheet:I_gdome_xslt.processed_stylesheet -> - params:(string * string) list -> - Gdome.document - -(* output the result of a previous XSLT transformation to an *) -(* output channel *) -val saveResultToChannel: - outchan: out_channel -> - result: Gdome.document -> - stylesheet: I_gdome_xslt.processed_stylesheet -> - unit - -(** set error callback, that is a function invoked each time an error message is -generated. If None is passed, libxslt default error callback is used *) -val setErrorCallback: (string -> unit) option -> unit - -(** set debug callback, that is a function invoked each time a debugging message -is generated. If None is passed, libxslt default error callback is used *) -val setDebugCallback: (string -> unit) option -> unit - diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.ml b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.ml deleted file mode 100644 index e7da4e02d..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.ml +++ /dev/null @@ -1,41 +0,0 @@ -(* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - *) - -exception ProcessStylesheetException -exception ApplyStylesheetException - -let _ = - Callback.register_exception - "ProcessStylesheetException" ProcessStylesheetException -;; - -let _ = - Callback.register_exception - "ApplyStylesheetException" ApplyStylesheetException -;; - -I_gdome_xslt.setXsltMaxDepth 2000;; diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.mli b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.mli deleted file mode 100644 index d3e6d670e..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.mli +++ /dev/null @@ -1,37 +0,0 @@ -(* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - *) - -(**************************** WARNING!!! ***********************************) -(*** ***) -(*** This file must always be linked with any code using gdome_xslt and ***) -(*** must be linked as the first file. It is responsible of initializing ***) -(*** the whole binding, registering some ocaml values to the C level. ***) -(*** ***) -(***************************************************************************) - -exception ProcessStylesheetException -exception ApplyStylesheetException diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/i_gdome_xslt.ml b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/i_gdome_xslt.ml deleted file mode 100644 index 6f686c482..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/i_gdome_xslt.ml +++ /dev/null @@ -1,58 +0,0 @@ -(* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - *) - -type processed_stylesheet - -external setXsltMaxDepth: - int -> - unit - = "setXsltMaxDepth" - -external processStylesheet: - [> `Document] GdomeT.t -> - processed_stylesheet - = "ml_processStylesheet" - -external applyStylesheet: - source: [> `Document] GdomeT.t -> - stylesheet: processed_stylesheet -> - params: (string * string) list -> - TDocument.t - = "ml_applyStylesheet" - -external saveResultToChannel: - outchan: out_channel -> - result: TDocument.t -> - stylesheet: processed_stylesheet -> - unit - = "ml_saveResultToChannel" - -external enableErrorCallback : unit -> unit = "ml_enableErrorCallback" -external disableErrorCallback : unit -> unit = "ml_disableErrorCallback" -external enableDebugCallback : unit -> unit = "ml_enableDebugCallback" -external disableDebugCallback : unit -> unit = "ml_disableDebugCallback" - diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c deleted file mode 100644 index 225698a79..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c +++ /dev/null @@ -1,186 +0,0 @@ -/* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - */ - -#include - -#include -#include -#include -#include - -#include -#include - -#include "ocaml-io.h" -#include "mlgdomevalue.h" -#include "gdome_xslt.h" - -xsltStylesheetPtr XsltStylesheetPtr_val(value); - -static void ml_xsltFreeStylesheet(value v) -{ - xsltFreeStylesheet(XsltStylesheetPtr_val(v)); -} - -xsltStylesheetPtr XsltStylesheetPtr_val(value v) -{ - CAMLparam1(v); - xsltStylesheetPtr res = *((xsltStylesheetPtr*) Data_custom_val(v)); - CAMLreturn(res); -} - -value Val_XsltStylesheetPtr(xsltStylesheetPtr obj) -{ - CAMLparam0(); - CAMLlocal1(v); - static struct custom_operations ops = { - "http://www.cs.unibo.it/helm/gdome_xslt/XsltStylesheetPtr", - ml_xsltFreeStylesheet, - custom_compare_default, - custom_hash_default, - custom_serialize_default, - custom_deserialize_default - }; - - v = alloc_custom(&ops, sizeof(xsltStylesheetPtr), 0, 1); - *((xsltStylesheetPtr*) Data_custom_val(v)) = obj; - - CAMLreturn(v); -} - -value ml_processStylesheet(value style) -{ - CAMLparam1(style); - xsltStylesheetPtr res; - res = processStylesheet(Document_val(style)); - if (res == NULL) { - value* excp; - excp = caml_named_value("ProcessStylesheetException"); - assert(excp != NULL); - raise_constant(*excp); - } - CAMLreturn(Val_XsltStylesheetPtr(res)); -} - -value setXsltMaxDepth(value depth) -{ - CAMLparam1(depth); - xsltMaxDepth = Int_val(depth); - CAMLreturn0; -} - -value ml_applyStylesheet(value source, value style, value params) -{ - CAMLparam3(source,style,params); - CAMLlocal1(list); - GdomeDocument* res; - int i; - const char** c_params; - - i = 0 ; list = params; - while(list != Val_int(0)) { - list = Field(list,1); - i++; - } - c_params = (const char **)malloc(sizeof(char *) * (i * 2 + 1)); - - i = 0; list = params; - while(list != Val_int(0)) { - c_params[i] = String_val(Field(Field(list,0),0)); - c_params[i+1] = String_val(Field(Field(list,0),1)); - list = Field(list,1); - i+=2; - } - c_params[i] = NULL; - enter_blocking_section(); - res = applyStylesheet(Document_val(source), - XsltStylesheetPtr_val(style), - c_params); - leave_blocking_section(); - free(c_params); - if (res == NULL) { - value* excp; - excp = caml_named_value("ApplyStylesheetException"); - assert(excp != NULL); - raise_constant(*excp); - } - CAMLreturn(Val_Document(res)); -} - -value ml_saveResultToChannel(value channel, - value result, - value stylesheet) -{ - CAMLparam3(channel, result, stylesheet); - - saveResultToFd((Channel(channel))->fd, - Document_val(result), - XsltStylesheetPtr_val(stylesheet)); - - CAMLreturn0; -} - - /* error callback handling */ - -static void ml_gdomeXsltErrorCallback(const char *msg) { - callback(*caml_named_value("error_callback"), copy_string(msg)); - - return; -} - -value ml_enableErrorCallback(value unit) { - CAMLparam1(unit); - setErrorCallback(ml_gdomeXsltErrorCallback); - CAMLreturn(Val_unit); -} - -value ml_disableErrorCallback(value unit) { - CAMLparam1(unit); - setErrorCallback(NULL); - CAMLreturn(Val_unit); -} - - /* debug callback handling */ - -static void ml_gdomeXsltDebugCallback(const char *msg) { - callback(*caml_named_value("debug_callback"), copy_string(msg)); - - return; -} - -value ml_enableDebugCallback(value unit) { - CAMLparam1(unit); - setDebugCallback(ml_gdomeXsltDebugCallback); - CAMLreturn(Val_unit); -} - -value ml_disableDebugCallback(value unit) { - CAMLparam1(unit); - setDebugCallback(NULL); - CAMLreturn(Val_unit); -} - diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.h b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.h deleted file mode 100644 index a173bc97f..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.h +++ /dev/null @@ -1,40 +0,0 @@ -/* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - */ - -xsltStylesheetPtr XsltStylesheetPtr_val(value); -value Val_XsltStylesheetPtr(xsltStylesheetPtr); - -value ml_processStylesheet(value style); -value ml_applyStylesheet(value source, value style, value params); - -value ml_saveResultToChannel(value channel, value result, value stylesheet); - -value ml_enableErrorCallback(value unit); -value ml_disableErrorCallback(value unit); -value ml_enableDebugCallback(value unit); -value ml_disableDebugCallback(value unit); - diff --git a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ocaml-io.h b/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ocaml-io.h deleted file mode 100644 index 6ce9493c8..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ocaml-io.h +++ /dev/null @@ -1,54 +0,0 @@ -/**********************************************************************/ -/* */ -/* Objective Caml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file */ -/* ../../LICENSE-INRIA. */ -/* */ -/**********************************************************************/ - -/* Buffered input/output */ - -#ifndef __IO_H__ -#define __IO_H__ - -#ifndef IO_BUFFER_SIZE -#define IO_BUFFER_SIZE 4096 -#endif - -typedef long file_offset; - -struct channel { - int fd; /* Unix file descriptor */ - file_offset offset; /* Absolute position of fd in the file */ - char * end; /* Physical end of the buffer */ - char * curr; /* Current position in the buffer */ - char * max; /* Logical end of the buffer (for input) */ - void * mutex; /* Placeholder for mutex (for systhreads) */ - struct channel * next; /* Linear chaining of channels (flush_all) */ - int revealed; /* For Cash only */ - int old_revealed; /* For Cash only */ - int refcount; /* For flush_all and for Cash */ - char buff[IO_BUFFER_SIZE]; /* The buffer itself */ -}; - -/* For an output channel: - [offset] is the absolute position of the beginning of the buffer [buff]. - For an input channel: - [offset] is the absolute position of the logical end of the buffer, [max]. -*/ - -/* Functions and macros that can be called from C. Take arguments of - type struct channel *. No locking is performed. */ - -/* Extract a struct channel * from the heap object representing it */ - -#define Channel(v) (*((struct channel **) (Data_custom_val(v)))) - -#endif /* __IO_H__ */ - diff --git a/helm/DEVEL/gdome_xslt/ocaml/test/.cvsignore b/helm/DEVEL/gdome_xslt/ocaml/test/.cvsignore deleted file mode 100644 index fb5d24d4f..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/test/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -test.cmi -test.cmo -test.cmx -test.o -test -test.opt -Makefile -Makefile.in diff --git a/helm/DEVEL/gdome_xslt/ocaml/test/Makefile.am b/helm/DEVEL/gdome_xslt/ocaml/test/Makefile.am deleted file mode 100644 index 95f83fa79..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/test/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ -REQUIRES = gdome2 -OCAMLFIND = @OCAMLFIND@ -OCAMLC = $(OCAMLFIND) @OCAMLC@ -package "$(REQUIRES)" -OCAMLOPT = $(OCAMLFIND) @OCAMLOPT@ -package "$(REQUIRES)" -CMA = $(top_builddir)/ocaml/gdome_xslt/mlgdome2-xslt.cma -CMXA = $(top_builddir)/ocaml/gdome_xslt/mlgdome2-xslt.cmxa -INIT_CMO = $(top_builddir)/ocaml/gdome_xslt/gdome_xslt_init.cmo -INIT_CMX = $(top_builddir)/ocaml/gdome_xslt/gdome_xslt_init.cmx -OCAMLC_FLAGS = -I $(top_builddir)/ocaml/gdome_xslt/ - -EXTRA_DIST = test.ml -CLEANFILES = test{,.o,.opt} test.cm[iox] - -if HAVE_OCAMLOPT_COND -noinst_DATA = test.opt test -else -noinst_DATA = test -endif - -test: test.ml $(CMA) $(INIT_CMO) - $(OCAMLC) -o $@ -linkpkg $(OCAMLC_FLAGS) $(CMA) $(INIT_CMO) $< - -test.opt: test.ml $(CMXA) $(INIT_CMX) - $(OCAMLOPT) -o $@ -linkpkg $(OCAMLC_FLAGS) $(CMXA) $(INIT_CMX) $< - diff --git a/helm/DEVEL/gdome_xslt/ocaml/test/test.ml b/helm/DEVEL/gdome_xslt/ocaml/test/test.ml deleted file mode 100644 index 4cd103435..000000000 --- a/helm/DEVEL/gdome_xslt/ocaml/test/test.ml +++ /dev/null @@ -1,79 +0,0 @@ -(* This file is part of an ocaml binding of an XSLT engine working on Gdome - * documents. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002 Claudio Sacerdoti Coen - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to - *) - -let (output_file, - correct_output_file, - input_file, - stylesheet_file) = - ("../../test_files/output.xml", - "../../test_files/output.xml.correct", - "../../test_files/input.xml", - "../../test_files/stylesheet.xsl") -in -let domImpl = Gdome.domImplementation () in - let input = - domImpl#createDocumentFromURI ~uri:input_file () - and style = - domImpl#createDocumentFromURI ~uri:stylesheet_file () - in - (* First of all, let's try the exception handling machinery *) - let _ = - try - ignore (Gdome_xslt.processStylesheet input); - assert false (* previous line should rise an exception *) - with - Gdome_xslt_init.ProcessStylesheetException -> () - in - let pstyle = Gdome_xslt.processStylesheet style in - let output = - Gdome_xslt.applyStylesheet input pstyle - ["parameter1","'value1'" ; - "parameter2","'value2'" ; - "parameter3","'value3'" - ] - in -(* (* old version: use gdome serialization functions *) - let res = - domImpl#saveDocumentToFile ~doc:output ~name:output_file () - in - if not res then - prerr_endline ("Error saving to document " ^ output_file) - else - begin - Printf.printf - "The test was successful iff %s is equal to %s\n" - output_file - correct_output_file - end -*) - (* new version: use libxslt serialization functions *) - let outchan = open_out output_file in - Gdome_xslt.saveResultToChannel ~outchan ~result:output ~stylesheet:pstyle; - close_out outchan; - Printf.printf - "The test was successful iff %s is equal to %s\n" - output_file - correct_output_file -;; diff --git a/helm/DEVEL/gdome_xslt/test_files/.cvsignore b/helm/DEVEL/gdome_xslt/test_files/.cvsignore deleted file mode 100644 index d1e494380..000000000 --- a/helm/DEVEL/gdome_xslt/test_files/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -output.xml -Makefile -Makefile.in diff --git a/helm/DEVEL/gdome_xslt/test_files/Makefile.am b/helm/DEVEL/gdome_xslt/test_files/Makefile.am deleted file mode 100644 index ead191b52..000000000 --- a/helm/DEVEL/gdome_xslt/test_files/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = input.xml output.xml.correct stylesheet.xsl diff --git a/helm/DEVEL/gdome_xslt/test_files/input.xml b/helm/DEVEL/gdome_xslt/test_files/input.xml deleted file mode 100644 index b6ffa38fd..000000000 --- a/helm/DEVEL/gdome_xslt/test_files/input.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - It works! - diff --git a/helm/DEVEL/gdome_xslt/test_files/output.xml.correct b/helm/DEVEL/gdome_xslt/test_files/output.xml.correct deleted file mode 100644 index c4adda3d7..000000000 --- a/helm/DEVEL/gdome_xslt/test_files/output.xml.correct +++ /dev/null @@ -1,4 +0,0 @@ - -value2value3value1 - It works! - diff --git a/helm/DEVEL/gdome_xslt/test_files/stylesheet.xsl b/helm/DEVEL/gdome_xslt/test_files/stylesheet.xsl deleted file mode 100644 index ca4534e12..000000000 --- a/helm/DEVEL/gdome_xslt/test_files/stylesheet.xsl +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/DEVEL/lablgtkmathview/.cvsignore b/helm/DEVEL/lablgtkmathview/.cvsignore deleted file mode 100644 index 4b4f66b41..000000000 --- a/helm/DEVEL/lablgtkmathview/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cmi *.cmo *.cmx *.cma *.cmxa config.make config.cache config.log configure -Makefile -config.status -META -lablgtkmathview.spec -gtkMathViewProps.ml -ogtkMathViewProps.ml diff --git a/helm/DEVEL/lablgtkmathview/.depend b/helm/DEVEL/lablgtkmathview/.depend deleted file mode 100644 index 23cd75664..000000000 --- a/helm/DEVEL/lablgtkmathview/.depend +++ /dev/null @@ -1,12 +0,0 @@ -gMathViewAux.cmo: gMathView.cmi gMathViewAux.cmi -gMathViewAux.cmx: gMathView.cmx gMathViewAux.cmi -gMathView.cmo: gtkMathView.cmo gtk_mathview.cmo gMathView.cmi -gMathView.cmx: gtkMathView.cmx gtk_mathview.cmx gMathView.cmi -gtkMathView.cmo: gtkMathViewProps.cmo gtk_mathview.cmo -gtkMathView.cmx: gtkMathViewProps.cmx gtk_mathview.cmx -gtkMathViewProps.cmo: gtk_mathview.cmo -gtkMathViewProps.cmx: gtk_mathview.cmx -ogtkMathViewProps.cmo: gtkMathViewProps.cmo -ogtkMathViewProps.cmx: gtkMathViewProps.cmx -gMathViewAux.cmi: gMathView.cmi gtk_mathview.cmo -gMathView.cmi: gtk_mathview.cmo diff --git a/helm/DEVEL/lablgtkmathview/AUTHORS b/helm/DEVEL/lablgtkmathview/AUTHORS deleted file mode 100644 index 3598094a9..000000000 --- a/helm/DEVEL/lablgtkmathview/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Luca Padovani -Claudio Sacerdoti Coen diff --git a/helm/DEVEL/lablgtkmathview/COPYING b/helm/DEVEL/lablgtkmathview/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/helm/DEVEL/lablgtkmathview/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/helm/DEVEL/lablgtkmathview/ChangeLog b/helm/DEVEL/lablgtkmathview/ChangeLog deleted file mode 100644 index 19ce76012..000000000 --- a/helm/DEVEL/lablgtkmathview/ChangeLog +++ /dev/null @@ -1,6 +0,0 @@ -* 0.4.1 - - Upgraded to GtkMathView 0.4.[0,1] - -* 0.3.0 - - Upgraded to GtkMathView 0.3.0 - - Now based on the gmetadom (alias gdome2) binding to GDOMe Level 2 diff --git a/helm/DEVEL/lablgtkmathview/LICENSE b/helm/DEVEL/lablgtkmathview/LICENSE deleted file mode 100644 index 691e4e01c..000000000 --- a/helm/DEVEL/lablgtkmathview/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) diff --git a/helm/DEVEL/lablgtkmathview/META.in b/helm/DEVEL/lablgtkmathview/META.in deleted file mode 100644 index 4986552c6..000000000 --- a/helm/DEVEL/lablgtkmathview/META.in +++ /dev/null @@ -1,5 +0,0 @@ -requires="gdome2 lablgtk2" -version="@VERSION@" -archive(byte)="@PACKAGE@.cma" -archive(native)="@PACKAGE@.cmxa" -linkopts="" diff --git a/helm/DEVEL/lablgtkmathview/Makefile.in b/helm/DEVEL/lablgtkmathview/Makefile.in deleted file mode 100644 index 4005b54f5..000000000 --- a/helm/DEVEL/lablgtkmathview/Makefile.in +++ /dev/null @@ -1,124 +0,0 @@ -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -INCLUDEDIR = @OCAML_INCLUDE_DIR@ -PROPCC = @OCAML_LIB_DIR@/lablgtk2/propcc -PREFIX = -OBJECTS_C = ml_gtk_mathview.o -OBJECTS = gtkMathViewProps.cmo ogtkMathViewProps.cmo gtk_mathview.cmo gtkMathView.cmo gMathView.cmo gMathViewAux.cmo -OBJECTS_OPT = gtkMathViewProps.cmx ogtkMathViewProps.cmx gtkMathView.cmx gtk_mathview.cmx gMathView.cmx gMathViewAux.cmx -GENERATED_FILES = gtkMathViewProps.ml ogtkMathViewProps.ml -INST = \ - META gMathView.mli gMathView.cmi gtkMathView.cmi gtk_mathview.cmi \ - gtkMathViewProps.cmi ogtkMathViewProps.cmi \ - gMathViewAux.cmi gMathViewAux.mli -DIST_FILES = \ - Makefile.in configure.in gMathView.ml gMathView.mli \ - gMathViewAux.ml gMathViewAux.mli gtkMathView.ml \ - gtk_mathview.ml ml_gtk_mathview.c META.in .depend debian/ test/ \ - configure gtkMathView.props -DIST_DIR = $(PACKAGE)-$(VERSION) -DOC_FILES = AUTHORS COPYING ChangeLog NEWS README LICENSE -REQUIRES = gdome2 lablgtk2 -PREDICATES = -SHARED_LIBS = @GDOME_LIBS@ @GTKMATHVIEW_LIBS@ -lmlgdome - -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc -OCAMLOPT = $(OCAMLFIND) ocamlopt -OCAMLDEP = ocamldep -OCAMLMKLIB = ocamlmklib -OCAML_STUB_DIR = @OCAML_STUB_DIR@ - -ARCHIVE = $(PACKAGE) -DLL = dll$(ARCHIVE).so - -TESTDIR = ./test -TMPDIR = .test -TMPPKGDIR = $(TMPDIR)/$(PACKAGE) - -all: $(ARCHIVE).cma -opt: $(ARCHIVE).cmxa -test: $(TESTDIR)/test -test.opt: $(TESTDIR)/test.opt -world: all opt - -dist: - rm -rf $(DIST_DIR)/ - mkdir $(DIST_DIR)/ - cp -a $(DIST_FILES) $(DOC_FILES) $(DIST_DIR)/ - -find $(DIST_DIR) -name CVS -type d -exec rm -rf {} \; - -find $(DIST_DIR) -name .cvsignore -type f -exec rm {} \; - tar cvfz $(DIST_DIR).tar.gz $(DIST_DIR)/ - rm -rf $(DIST_DIR)/ - -deb: dist - if [ -d $(DIST_DIR)/ ]; then rm -rf $(DIST_DIR); else true; fi - tar xvzf $(DIST_DIR).tar.gz - (cd $(DIST_DIR)/ && debuild) - rm -rf $(DIST_DIR) - -$(GENERATED_FILES): gtkMathView.props - -ml_gtk_mathview.o: ml_gtk_mathview.c - gcc -c -I$(INCLUDEDIR) -fPIC `ocamlfind query -i-format lablgtk2` @GTKMATHVIEW_CFLAGS@ @GDOME_CFLAGS@ `ocamlfind query -i-format gdome2` $< - -.SUFFIXES: .cmo .cmi .cmx .ml .mli - -.ml.cmo: - $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $< -.mli.cmi: - $(OCAMLC) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $< -.ml.cmx: - $(OCAMLOPT) -package "$(REQUIRES)" -predicates "$(PREDICATES)" -c $< - -%Props.ml o%Props.ml: %.props $(PROPCC) - $(PROPCC) $< - -depend: *.ml *.mli $(GENERATED_FILES) - $(OCAMLDEP) *.ml *.mli >.depend -include .depend - -$(ARCHIVE).cma $(DLL): $(OBJECTS) $(OBJECTS_C) - $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(SHARED_LIBS) -$(ARCHIVE).cmxa $(ARCHIVE).a: $(OBJECTS_OPT) - $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(OBJECTS_C) $(SHARED_LIBS) - -$(TESTDIR)/test: $(OBJECTS_C) $(ARCHIVE).cma $(TESTDIR)/test.ml - mkdir -p $(TMPPKGDIR) - cp $(OBJECTS_C) $(DLL) $(ARCHIVE).cma $(INST) $(TMPPKGDIR) - cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make - rm -r $(TMPDIR) - -$(TESTDIR)/test.opt: $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(TESTDIR)/test.ml - mkdir -p $(TMPPKGDIR) - cp $(OBJECTS_C) $(ARCHIVE).a $(ARCHIVE).cmxa $(INST) $(TMPPKGDIR) - cd $(TESTDIR) ; export OCAMLPATH=../$(TMPDIR):$$OCAMLPATH ; make opt - rm -r $(TMPDIR) - -install: - test ! -f $(ARCHIVE).cmxa || extra="$(ARCHIVE).a $(ARCHIVE).cmxa" ; \ - if [ "$(PREFIX)" = "" ]; then \ - $(OCAMLFIND) install \ - $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \ - ln -fs $(DLL) $(shell $(OCAMLFIND) printconf destdir)/stublibs/lib$(ARCHIVE).so; \ - else \ - $(OCAMLFIND) install -destdir $(PREFIX) \ - $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \ - ln -fs $(DLL) $(PREFIX)/stublibs/lib$(ARCHIVE).so; \ - fi - -uninstall: - if [ "$(PREFIX)" = "" ]; then \ - ocamlfind remove $(PACKAGE); \ - else \ - ocamlfind remove -destdir $(PREFIX) $(PACKAGE); \ - fi - -clean: - rm -f *.[ao] *.cm[iaxo] *.cmxa *.so $(GENERATED_FILES) - cd $(TESTDIR) ; make clean - rm -rf $(TMPDIR) - -distclean: clean - rm -f config.log config.cache config.status Makefile META - cd $(TESTDIR) ; make distclean diff --git a/helm/DEVEL/lablgtkmathview/NEWS b/helm/DEVEL/lablgtkmathview/NEWS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/lablgtkmathview/README b/helm/DEVEL/lablgtkmathview/README deleted file mode 100644 index 61c34d46e..000000000 --- a/helm/DEVEL/lablgtkmathview/README +++ /dev/null @@ -1,9 +0,0 @@ -This is the Ocaml binding for the GtkMathView widget. - -To compile and install: - - ./configure - make - make opt - make install - diff --git a/helm/DEVEL/lablgtkmathview/configure.in b/helm/DEVEL/lablgtkmathview/configure.in deleted file mode 100644 index ef9299553..000000000 --- a/helm/DEVEL/lablgtkmathview/configure.in +++ /dev/null @@ -1,57 +0,0 @@ -AC_INIT(gMathView.ml) - -PACKAGE=lablgtkmathview - -LABLGTKMATHVIEW_MAJOR_VERSION=0 -LABLGTKMATHVIEW_MINOR_VERSION=6 -LABLGTKMATHVIEW_MICRO_VERSION=4 -LABLGTKMATHVIEW_VERSION=$LABLGTKMATHVIEW_MAJOR_VERSION.$LABLGTKMATHVIEW_MINOR_VERSION.$LABLGTKMATHVIEW_MICRO_VERSION -VERSION=$LABLGTKMATHVIEW_VERSION - -PKG_CHECK_MODULES(GDOME, gdome2 >= 0.7.0,, AC_MSG_ERROR(could not find Gdome2)) -AC_SUBST(GDOME_CFLAGS) -AC_SUBST(GDOME_LIBS) - -PKG_CHECK_MODULES(GTKMATHVIEW, gtkmathview-gmetadom >= 0.6.2,, AC_MSG_ERROR(could not find gtkmathview-gmetadom)) -AC_SUBST(GTKMATHVIEW_CFLAGS) -AC_SUBST(GTKMATHVIEW_LIBS) - -AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no) -if test $HAVE_OCAMLC = "no"; then - AC_MSG_ERROR(could not find ocamlc in PATH, please make sure ocaml is installed) -fi - -AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no) -if test $HAVE_OCAMLFIND = "no"; then - AC_MSG_ERROR(could not find ocamlfind in PATH, please make sure findlib is installed) -fi - -AC_MSG_CHECKING("for gdome2") -ocamlfind query gdome2 || - AC_MSG_ERROR(gdome2 not installed (according to findlib)) - -AC_MSG_CHECKING("for lablgtk2") -ocamlfind query lablgtk2 || - AC_MSG_ERROR(lablgtk2 not installed (according to findlib)) - -AC_MSG_CHECKING("for the ocaml library dir") -OCAML_LIB_DIR=`ocamlc -where` -OCAML_STUB_DIR="$OCAML_LIB_DIR/stublibs" -AC_MSG_RESULT($OCAML_LIB_DIR) - -AC_CHECK_FILE(/usr/include/caml/mlvalues.h, - OCAML_INCLUDE_DIR=/usr/include/caml, - OCAML_INCLUDE_DIR=$OCAML_LIB_DIR/caml -) - -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_SUBST(OCAML_INCLUDE_DIR) -AC_SUBST(OCAML_LIB_DIR) -AC_SUBST(OCAML_STUB_DIR) - -AC_OUTPUT([ - test/Makefile - Makefile - META -]) diff --git a/helm/DEVEL/lablgtkmathview/debian/changelog b/helm/DEVEL/lablgtkmathview/debian/changelog deleted file mode 100644 index 6149528a5..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/changelog +++ /dev/null @@ -1,274 +0,0 @@ -lablgtkmathview (0.6.4-1) unstable; urgency=low - - * new upstream release - - bindings for gtkmathview 0.6.4 - - -- Stefano Zacchiroli Wed, 10 Nov 2004 14:20:10 +0100 - -lablgtkmathview (0.6.3-2) unstable; urgency=medium - - * debian/control - - depend on ocaml-base-nox-3.08 instead of ocaml-base-3.08 since - this package doesn't directly need ocaml X libraries - - -- Stefano Zacchiroli Tue, 24 Aug 2004 12:23:18 +0200 - -lablgtkmathview (0.6.3-1) unstable; urgency=low - - * new upstream release - - bindings for gtkmathview 0.6.3 - * rebuilt with ocaml 3.08 - * debian/control - - bumped ocaml deps to 3.08 - - bumped lablgtk deps to >= 2.4.0 - - bumped gdome deps to >= 0.2.1-3 (1st version rebuilt with 3.08) - - bumped gtkmathview deps to >= 0.6.3 (needed by this binding) - - bumped stadards version to 3.6.1.1 - - -- Stefano Zacchiroli Thu, 29 Jul 2004 11:51:56 +0200 - -lablgtkmathview (0.5.1-4) unstable; urgency=low - - * ported to latest lablgtk2 (2.2.0+20040113) cvs snapshot - * debian/control - - changed build-dep accordingly - - -- Stefano Zacchiroli Fri, 23 Jan 2004 13:44:11 +0100 - -lablgtkmathview (0.5.1-3) unstable; urgency=low - - * debian/control - - removed some dependencies that should be inherited from - libgtkmathview-dev (bugfix for newer libt1-dev) - - bumped standards version to 3.6.1.0 - - -- Stefano Zacchiroli Thu, 22 Jan 2004 12:54:47 +0100 - -lablgtkmathview (0.5.1-2) unstable; urgency=low - - * Rebuilt with lablgtk2 2.2.0 - * debian/control - - bumped ocaml-findlib dependencies to 0.8-5 - - -- Stefano Zacchiroli Mon, 13 Oct 2003 09:18:48 +0200 - -lablgtkmathview (0.5.1-1) unstable; urgency=low - - * New upstream release (transition to gtk2) - - -- Stefano Zacchiroli Fri, 10 Oct 2003 10:10:10 +0200 - -lablgtkmathview (0.4.3-4) unstable; urgency=low - - * Rebuild with ocaml 3.07 - * debian/autodebian.make and debian/*.in - An experiment! - Mainly I've added an indirection which permits to fill some autoconf - variable in debian/* files. In this way the ocaml version is - discovered automagically and doesn't need to be manually changed - each time a new ocaml version is released. Actually the only two - supported variables are @OCAML_STDLIB_DIR@ (actually expands to - "usr/lib/ocaml/3.07" via ocamlc -where) and @OCAML_STUBLIBS_DIR@ - (actually expands to "usr/lib/ocaml/3.07/stublibs") - - -- Stefano Zacchiroli Wed, 1 Oct 2003 22:48:51 +0200 - -lablgtkmathview (0.4.3-3) unstable; urgency=low - - * rebuilt against gmetadom 0.1.10-3 - * debian/control - - strictly depends on gmetadom >= 0.1.10-3 (older version are buggy - on mips) - - -- Stefano Zacchiroli Sat, 12 Jul 2003 14:14:31 +0200 - -lablgtkmathview (0.4.3-2) unstable; urgency=low - - * upstream changes - - fixed Makefile.in that still looked for gtkmathview-config - - selection flickering got rid of (by means of freeze/thaw) - - structural selection is no longer activated just before - semantic selection for single_selection_math_view - * debian/control - - bumped gmetadom dependencies to >= 0.1.10-2 (to ensure that .pc - file is available) - - -- Stefano Zacchiroli Tue, 1 Jul 2003 11:25:48 +0200 - -lablgtkmathview (0.4.3-1) unstable; urgency=low - - * Rebuild against gtkmathview 0.4.3 - * debian/control - - bumped standards version to 3.5.10 - - bumped dependencies on gtkmathview to 0.4.3 - - bumped dependencies on gmetadom to 0.1.9 - - added ${misc:Depends} - - changed section of -dev package to "libdevel" - - better short description - - added built-dep to pkg-config - * debian/rules - - removed DH_COMPAT in favour of debian/compat - - comsetic changes - - removed useless binary-indep target - - removed dh_movefiles in favour of dh_install - - -- Stefano Zacchiroli Thu, 19 Jun 2003 14:52:54 +0200 - -lablgtkmathview (0.4.1-1) unstable; urgency=low - - * Bugfix in some OCaml value allocations - * Binding for gtkmathview 0.4.1 - * Bumped dependencies to gtkmathview 0.4.1 - * Dropped << dependencies for ocaml libraries - * Bumped gmetadom dependencies to >= 0.1.6 - * Bumped gdome2 dependencies to >= 0.7.4 - - -- Stefano Zacchiroli Tue, 11 Mar 2003 21:18:29 +0100 - -lablgtkmathview (0.3.99-2) unstable; urgency=low - - * Bugfix: added dep on t1lib-dev from liblablgtkmathview-ocaml-dev - * Bugfix: added dep on libgtkmathview-dev (>= 0.4.0) from - liblablgtkmathview-ocaml-dev - - -- Stefano Zacchiroli Sat, 25 Jan 2003 10:24:53 +0100 - -lablgtkmathview (0.3.99-1) unstable; urgency=low - - * Binding to gtkmathview 0.4.0 (pre-release) - * Added module GMathViewAux which contains backward compatible - "single_selection_math_view" class - * Reverted to >=/<< dependencies for ocaml libraries - * Bumped dependencies on gmetadom to 0.1.5 - * Bumped dependencies on gtkmathview to 0.4.0 - * Added missing dependencies from liblablgtkmathview-ocaml-dev to - libgdome2-ocaml-dev - * Versioned dependencies on liblablgtk-ocaml-dev - - -- Stefano Zacchiroli Wed, 22 Jan 2003 14:23:30 +0100 - -lablgtkmathview (0.3.1-1) unstable; urgency=low - - * Binding to gtkmathview 0.3.1 - * debian/control - - bumped Standards Version to 3.5.8 - - deps and build deps to ocaml{,-base}-3.06-1 - * Moved lib stuff to /usr/lib/ocaml/3.06 - - -- Stefano Zacchiroli Tue, 7 Jan 2003 12:57:47 +0100 - -lablgtkmathview (0.3.0-10) unstable; urgency=low - - * Added dep on liblablgtk-ocaml{,-dev} respectively in - liblablgtkmathview-ocaml{,-dev} - - -- Stefano Zacchiroli Tue, 17 Sep 2002 11:58:14 +0200 - -lablgtkmathview (0.3.0-9) unstable; urgency=low - - * Removed useless dh_ocamlld invocation - * Fixed native code compilation shared object path (now looks for .so - in /usr/lib/ocaml/stublibs instead of - /usr/lib/ocaml/lablgtkmathview) - - -- Stefano Zacchiroli Thu, 29 Aug 2002 15:02:21 +0200 - -lablgtkmathview (0.3.0-8) unstable; urgency=low - - * Switched to debhelper 4 - * Added build dep on findlib (>= 0.7.1) - * Rebuilt against ocaml 3.06 (Closes: Bug#158256, Bug#158266) - * Changed deps and build-deps to ocaml-3.06 and ocaml-base-3.06 as - mandated by the new ocaml packaging policy - * Removed mention of lablgtkmathview from debian/control - * Added dep on ocaml-findlib - * Moved shared objects to /usr/lib/ocaml/stublibs - - -- Stefano Zacchiroli Sun, 7 Jul 2002 13:50:52 +0200 - -lablgtkmathview (0.3.0-7) unstable; urgency=low - - * Added -fPIC when compiling some .o in order to build on HPPA - (Closes: #142462) - - -- Stefano Zacchiroli Fri, 12 Apr 2002 14:31:47 +0200 - -lablgtkmathview (0.3.0-6) unstable; urgency=low - - * Added Build-Depends on t1lib-dev (Closes: Bug#140835). - - -- Stefano Zacchiroli Tue, 2 Apr 2002 10:11:25 +0200 - -lablgtkmathview (0.3.0-5) unstable; urgency=low - - * Added Build-Depends on libgdome2-cpp-smart-dev (Closes: Bug#140720). - - -- Stefano Zacchiroli Mon, 1 Apr 2002 09:00:03 +0200 - -lablgtkmathview (0.3.0-4) unstable; urgency=low - - * Added some .mli and .ml files that document the library interface. - * Added Depends: on libgdome2-ocaml, we haven't yet estabilished how to - interact with shlibs system for ocaml shared library that are installed in - /usr/lib/ocaml - - -- Stefano Zacchiroli Mon, 1 Apr 2002 00:17:41 +0200 - -lablgtkmathview (0.3.0-3) unstable; urgency=low - - * Rebuilt against gmetadom 0.3.0-4 and gtkmathview 0.3.0-2. - - -- Stefano Zacchiroli Tue, 26 Mar 2002 19:17:56 +0100 - -lablgtkmathview (0.3.0-2) unstable; urgency=low - - * Added build dep on libgdome2-dev - * Removed CVS stuff from source tarball - - -- Stefano Zacchiroli Fri, 15 Mar 2002 13:23:53 +0100 - -lablgtkmathview (0.3.0-1) unstable; urgency=low - - * New upstream release - * Renamed resulting package to liblablgtkmathview-ocaml-dev - * Changed build-depends to adhere to the new ocaml packages naming schema - (e.g. lablgtk -> liblablgtk-ocaml-dev) (Closes: Bug#138116) - * Split away shared library in liblablgtkmathview-ocaml package - - -- Stefano Zacchiroli Wed, 13 Mar 2002 18:53:50 +0100 - -lablgtkmathview (0.2.8-1) unstable; urgency=low - - * New upstream release - * Built with ocaml 3.04 and lablgtk 1.2.3 - * Removed useless build depends - - -- Stefano Zacchiroli Mon, 25 Feb 2002 18:18:25 +0100 - -lablgtkmathview (0.2.4-4) unstable; urgency=low - - * Rebuilt with libgtkmathview 0.2.7 - - -- Stefano Zacchiroli Tue, 4 Sep 2001 22:16:35 +0200 - -lablgtkmathview (0.2.4-3) unstable; urgency=low - - * Rebuilt with ocaml 3.02 and lablgtk 1.2.1 - - -- Stefano Zacchiroli Tue, 21 Aug 2001 15:20:05 +0200 - -lablgtkmathview (0.2.4-2) unstable; urgency=low - - * Added build-dep on libxml2-dev (closes: Bug#102715). - - -- Stefano Zacchiroli Fri, 29 Jun 2001 12:39:57 +0200 - -lablgtkmathview (0.2.4-1) unstable; urgency=low - - * Initial Release (closes: Bug#93105). - - -- Stefano Zacchiroli Wed, 4 Apr 2001 23:27:07 +0200 - -Local variables: -mode: debian-changelog -End: diff --git a/helm/DEVEL/lablgtkmathview/debian/compat b/helm/DEVEL/lablgtkmathview/debian/compat deleted file mode 100644 index b8626c4cf..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/helm/DEVEL/lablgtkmathview/debian/control b/helm/DEVEL/lablgtkmathview/debian/control deleted file mode 100644 index 2fcfdfe32..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/control +++ /dev/null @@ -1,27 +0,0 @@ -Source: lablgtkmathview -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>> 4.0.0), ocaml-3.08, ocaml-findlib, liblablgtk2-ocaml-dev (>= 2.4.0), libgdome2-ocaml-dev (>= 0.2.1-3), libgtkmathview-dev (>= 0.6.4), pkg-config, autoconf -Standards-Version: 3.6.1.1 - -Package: liblablgtkmathview-ocaml -Architecture: any -Section: libs -Depends: ocaml-base-nox-3.08, liblablgtk2-ocaml (>= 2.4.0), libgdome2-ocaml (>= 0.2.1-3), ${shlibs:Depends}, ${misc:Depends} -Description: OCaml bindings for libgtkmathview, a GTK widget to render MathML - This is the Ocaml binding for the GtkMathView widget, that is - currently available in the libgtkmathview0 package. - . - This package contains only the shared runtime stub libraries. - -Package: liblablgtkmathview-ocaml-dev -Architecture: any -Section: libdevel -Depends: ocaml-3.08, liblablgtk2-ocaml-dev (>= 2.4.0), libgtkmathview0 (>= 0.6.4), liblablgtkmathview-ocaml (= ${Source-Version}), ocaml-findlib, libgdome2-ocaml-dev (>= 0.2.1-3), libgtkmathview-dev (>= 0.6.4), ${misc:Depends} -Description: OCaml bindings for libgtkmathview, a GTK widget to render MathML - These are the Ocaml bindings for the GtkMathView widget, that is - currently available in the libgtkmathview0 package. - . - This package contains the development part of the lablgtkmathview package. - diff --git a/helm/DEVEL/lablgtkmathview/debian/copyright b/helm/DEVEL/lablgtkmathview/debian/copyright deleted file mode 100644 index 7ac39e1a9..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/copyright +++ /dev/null @@ -1,21 +0,0 @@ -This package was debianized by Stefano Zacchiroli on -Wed, 4 Apr 2001 23:27:07 +0200. - -It was packed from source obtained via cvs, with this CVSROOT: - :pserver:anonymous@phd.cs.unibo.it:/home/lpadovan/PHELM/ - -Authors: - Luca Padovani - Claudio Sacerdoti Coen - -Copyright: - - Copyright (C) 2000, Luca Padovani . - - This file is part of lablgtkmathview, the Ocaml binding - for the GtkMathView widget. - - lablgtkmathview is free software, you can redistribute it and/or modify - it under the terms of the GNU General Public License. You can find a - copy of the license in /usr/share/common-licenses/GPL. - diff --git a/helm/DEVEL/lablgtkmathview/debian/docs b/helm/DEVEL/lablgtkmathview/debian/docs deleted file mode 100644 index e845566c0..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs deleted file mode 100644 index 7e66c4fb5..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml-dev.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/ocaml/3.08 -usr/lib/ocaml/3.08/stublibs diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs deleted file mode 100644 index f552f091a..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.08 diff --git a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install b/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install deleted file mode 100644 index 6657f706e..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/liblablgtkmathview-ocaml.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/ocaml/3.08/lablgtkmathview/*.so -usr/lib/ocaml/3.08/stublibs/* diff --git a/helm/DEVEL/lablgtkmathview/debian/rules b/helm/DEVEL/lablgtkmathview/debian/rules deleted file mode 100755 index 8b6ed0bb5..000000000 --- a/helm/DEVEL/lablgtkmathview/debian/rules +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -TARGETDIR = debian/liblablgtkmathview-ocaml-dev -OCAML_STDLIB_DIR = $(shell ocamlc -where) - -configure: configure-stamp -configure-stamp: - dh_testdir - ./configure - - touch configure-stamp - -build: configure-stamp build-stamp -build-stamp: - dh_testdir - - $(MAKE) - if [ -x /usr/bin/ocamlopt ]; then $(MAKE) opt; else true; fi - - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - -$(MAKE) distclean - - dh_clean -distclean: clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs -s - - $(MAKE) install PREFIX=$(TARGETDIR)$(OCAML_STDLIB_DIR) - -movefiles: install - dh_install -p liblablgtkmathview-ocaml --sourcedir=$(TARGETDIR) - -binary-arch: build install - dh_testdir - dh_testroot - dh_installdocs -s - dh_installexamples -s - dh_installmanpages -s - dh_installinfo -s - dh_installchangelogs -s ChangeLog - dh_link -s - dh_strip -s - dh_compress -s - dh_fixperms -s - dh_installdeb -s - dh_shlibdeps -s - dh_gencontrol -s - dh_md5sums -s - dh_builddeb -s - -binary: binary-arch -.PHONY: build clean binary-arch binary install configure diff --git a/helm/DEVEL/lablgtkmathview/gMathView.ml b/helm/DEVEL/lablgtkmathview/gMathView.ml deleted file mode 100644 index 57a6aa9a6..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathView.ml +++ /dev/null @@ -1,87 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) - -open Gaux -open Gtk_mathview -open Gobject -open Gtk -open GtkBase -open GtkMathView -open OgtkMathViewProps -open GObj - -exception ErrorLoadingFile of string;; -exception ErrorWritingFile of string;; -exception ErrorLoadingDOM;; - -let option_element_of_option = - function - None -> None - | Some v -> Some (new Gdome.element v) - -class math_view_skel obj = object - inherit GObj.widget (obj : Gtk_mathview.math_view obj) - method freeze = MathView.freeze obj - method thaw = MathView.thaw obj - method load_uri ~filename = - if not (MathView.load_uri obj ~filename) then raise (ErrorLoadingFile filename) - method load_root ~root = - if not (MathView.load_root obj ~root:((root : Gdome.element)#as_Element)) then - raise ErrorLoadingDOM - method unload = MathView.unload obj - method select element = MathView.select obj ((element : Gdome.element)#as_Element) - method unselect element = MathView.unselect obj ((element : Gdome.element)#as_Element) - method is_selected element = MathView.is_selected obj ((element : Gdome.element)#as_Element) - method get_element_at x y = option_element_of_option (MathView.get_element_at obj x y) - method structure_changed element = MathView.structure_changed obj ((element : Gdome.element)#as_Element) - method attribute_changed element ~name = MathView.attribute_changed obj ((element : Gdome.element)#as_Element) ((name : Gdome.domString)#as_DOMString) - method get_bounding_box = MathView.get_bounding_box obj - method get_size = MathView.get_size obj - method get_top = MathView.get_top obj - method set_top x y = MathView.set_top obj x y - method set_adjustments adj1 adj2 = MathView.set_adjustments obj (GData.as_adjustment adj1) (GData.as_adjustment adj2) - method get_adjustments = - let hadj, vadj = MathView.get_adjustments obj in - new GData.adjustment hadj, new GData.adjustment vadj - method get_buffer = MathView.get_buffer obj - method set_font_size = MathView.set_font_size obj - method get_font_size = MathView.get_font_size obj - method set_log_verbosity = MathView.set_log_verbosity obj - method get_log_verbosity = MathView.get_log_verbosity obj -end - -class math_view_signals obj = object - inherit GObj.widget_signals_impl obj - inherit math_view__g_meta_dom_sigs -end - -class math_view obj = object - inherit math_view_skel (obj : Gtk_mathview.math_view obj) - method connect = new math_view_signals obj -end - -let math_view ?hadjustment ?vadjustment ?font_size ?log_verbosity = - GtkBase.Widget.size_params ~cont:( - OgtkMathViewProps.pack_return - (fun p -> OgtkMathViewProps.set_params (new math_view (MathView.create p)) ~font_size ~log_verbosity)) [] -;; diff --git a/helm/DEVEL/lablgtkmathview/gMathView.mli b/helm/DEVEL/lablgtkmathview/gMathView.mli deleted file mode 100644 index bf5b56e2a..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathView.mli +++ /dev/null @@ -1,91 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) - -exception ErrorLoadingFile of string -exception ErrorWritingFile of string -exception ErrorLoadingDOM - -class math_view_signals : - ([> `gtk | `mathview_gmetadom | `widget] as 'b) Gtk.obj -> - object ('a) - inherit GObj.widget_signals - val after: bool - val obj: 'b Gtk.obj - method click : - callback:(Gdome.element option * int * int * int -> unit) -> GtkSignal.id - method element_over : - callback:(Gdome.element option * int * int * int -> unit) -> GtkSignal.id - method select_begin : - callback:(Gdome.element option * int * int * int -> unit) -> GtkSignal.id - method select_over : - callback:(Gdome.element option * int * int * int -> unit) -> GtkSignal.id - method select_end : - callback:(Gdome.element option * int * int * int -> unit) -> GtkSignal.id - method select_abort : - callback:(unit -> unit) -> GtkSignal.id - end - -class math_view_skel : - (Gtk_mathview.math_view Gtk.obj as 'a)-> - object - inherit GObj.widget - method freeze : unit - method thaw : unit - method get_buffer : Gdk.pixmap - method get_font_size : int - method get_adjustments : GData.adjustment * GData.adjustment - method get_size : int * int - method get_log_verbosity : int - method get_top : int * int - method load_uri : filename:string -> unit - method load_root : root:Gdome.element -> unit - method set_adjustments : GData.adjustment -> GData.adjustment -> unit - method set_font_size : int -> unit - method set_log_verbosity : int -> unit - method structure_changed : Gdome.element -> unit - method attribute_changed : Gdome.element -> name:Gdome.domString -> unit - method get_bounding_box : int * int * int - method select : Gdome.element -> unit - method unselect : Gdome.element -> unit - method get_element_at : int -> int -> Gdome.element option - method is_selected : Gdome.element -> bool - method set_top : int -> int -> unit - method unload : unit - val obj : 'a - end - -class math_view : - Gtk_mathview.math_view Gtk.obj -> - object - inherit math_view_skel - method connect : math_view_signals - end - -val math_view : - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> math_view diff --git a/helm/DEVEL/lablgtkmathview/gMathViewAux.ml b/helm/DEVEL/lablgtkmathview/gMathViewAux.ml deleted file mode 100644 index c50e7fb9d..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathViewAux.ml +++ /dev/null @@ -1,293 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) - -(* finds the common node ancestor of two nodes *) -let common_ancestor (first : Gdome.node) (last : Gdome.node) = - let rec path n = - match n#get_parentNode with - None -> [n] - | Some p -> n::(path p) - in - let rec last_common = - function - _, hd1::tl1, hd2::tl2 when hd1#isSameNode hd2 -> (last_common ((Some hd1),tl1,tl2)) - | Some e, _, _ -> e - | _,_,_ -> assert false - in - (last_common (None,(List.rev (path first)),(List.rev (path last)))) - -let same_element (e1 : Gdome.element option) (e2 : Gdome.element option) = - match e1, e2 with - None, None -> true - | Some e1, Some e2 when (e1 :> Gdome.node)#isSameNode (e2 :> Gdome.node) -> true - | _ -> false - -(* true if n1 is n2 or one of n2's descendants *) -let rec descendant_of (n1 : Gdome.node) (n2 : Gdome.node) = - if n1#isSameNode n2 then true - else - match n1#get_parentNode with - None -> false - | Some n1' -> descendant_of n1' n2 - -let remove_descendants_of (el : Gdome.element) = - let rec aux = - function - [] -> [] - | hd::tl when descendant_of (hd :> Gdome.node) (el :> Gdome.node) -> aux tl - | hd::tl -> hd::(aux tl) - in - aux - -(* mem el l = true if the node n is stored in the list l *) -let mem (el : Gdome.element) = - let rec mem_aux = - function - hd::_ when (hd :> Gdome.node)#isSameNode (el :> Gdome.node) -> true - | _::tl -> mem_aux tl - | _ -> false - in - mem_aux - -(* remove el l = l' where l' has the same nodes as l except that all - * the occurrences of n have been removed *) -let remove (el : Gdome.element) = - let rec remove_aux = - function - hd::tl when (hd :> Gdome.node)#isSameNode (el :> Gdome.node) -> - remove_aux tl - | hd::tl -> hd::(remove_aux tl) - | [] -> [] - in - remove_aux - -class single_selection_math_view_signals obj (set_selection_changed : (Gdome.element option -> unit) -> unit) = - object - inherit GMathView.math_view_signals obj - method selection_changed = set_selection_changed - end -;; - -class single_selection_math_view obj = - object(self) - inherit GMathView.math_view_skel obj - val mutable first_selected = None - val mutable root_selected = None - val mutable selection_changed = (fun _ -> ()) - - method set_selection elem = - self#freeze ; - begin - match root_selected with - None -> () - | Some e -> self#unselect e - end; - root_selected <- elem ; - begin - match elem with - None -> () - | Some e -> self#select e - end ; - self#thaw - - method get_selection = root_selected - - method connect = - new - single_selection_math_view_signals obj - (function f -> selection_changed <- f) - - method action_toggle (elem : Gdome.element) = - match elem#get_namespaceURI, elem#get_localName with - Some ns, Some ln - when - (ns#to_string = "http://www.w3.org/1998/Math/MathML" && ln#to_string = "maction") || - (ns#to_string = "http://helm.cs.unibo.it/2003/BoxML" && ln#to_string = "action") - -> - begin - let selection_attr = Gdome.domString "selection" in - let selection = - if elem#hasAttribute ~name:selection_attr then - int_of_string (elem#getAttribute ~name:selection_attr)#to_string - else - 1 - in - self#freeze ; - (* the widget will cast the index back into a valid range *) - elem#setAttribute ~name:selection_attr - ~value:(Gdome.domString (string_of_int (selection + 1))) ; - self#thaw ; - true - end - | _ -> - begin - match elem#get_parentNode with - Some p -> - begin - try - self#action_toggle (new Gdome.element_of_node p) - with - GdomeInit.DOMCastException _ -> false - end - | None -> assert false (* every element has a parent *) - end - - initializer - selection_changed <- self#set_selection ; - - ignore - (self#connect#select_begin - (fun ((elem : Gdome.element option), _, _, _) -> - if not (same_element root_selected elem) then selection_changed elem ; - first_selected <- elem)) ; - - ignore - (self#connect#select_over - (fun ((elem : Gdome.element option), _, _, _) -> - let new_selected = - match first_selected, elem with - Some first', Some last' -> - (Some - (new Gdome.element_of_node - (common_ancestor (first' :> Gdome.node) (last' :> Gdome.node)))) - | _ -> None - in - if not (same_element root_selected new_selected) then - selection_changed new_selected)) ; - - ignore - (self#connect#select_end - (fun ((elem : Gdome.element option), _, _, _) -> first_selected <- None)) ; - - ignore - (self#connect#select_abort - (fun () -> - first_selected <- None ; - selection_changed None)) ; - - ignore (self#connect#click (fun _ -> self#set_selection None)) - end -;; - -let single_selection_math_view ?hadjustment ?vadjustment ?font_size ?log_verbosity = - GtkBase.Widget.size_params ~cont:( - OgtkMathViewProps.pack_return - (fun p -> OgtkMathViewProps.set_params (new single_selection_math_view - (GtkMathViewProps.MathView_GMetaDOM.create p)) ~font_size ~log_verbosity)) [] -;; - -class multi_selection_math_view_signals obj - (set_selection_changed : (Gdome.element option -> unit) -> unit) -= - object - inherit GMathView.math_view_signals obj - method selection_changed = set_selection_changed - end -;; - -class multi_selection_math_view obj = - object(self) - inherit single_selection_math_view obj - val mutable selected : Gdome.element list = [] - - method remove_selection (elem : Gdome.element) = - if mem elem selected then - selected <- remove elem selected ; - self#unselect elem - - method remove_selections = - self#freeze ; - List.iter (fun e -> self#unselect e) selected ; - selected <- [] ; - begin - match self#get_selection with - None -> () - | Some e -> self#select e - end ; - self#thaw - - method add_selection (elem : Gdome.element) = - List.iter self#unselect selected ; - selected <- elem::(remove_descendants_of elem selected) ; - List.iter self#select selected - - method get_selections = selected - - method set_selection elem = - self#freeze ; - begin - match root_selected with - None -> () - | Some e -> self#unselect e ; List.iter (fun e -> self#select e) selected - end; - root_selected <- elem; - begin - match elem with - None -> () - | Some e -> self#select e - end ; - self#thaw - - initializer - ignore - (self#connect#select_begin - (fun (_,_,_,state) -> - if not (List.mem `CONTROL (Gdk.Convert.modifier state)) then - self#remove_selections)) ; - - ignore - (self#connect#select_over - (fun (_,_,_,state) -> - let c = - function - `SHIFT -> "shift " - | `LOCK -> "lock " - | `CONTROL -> "control " - | `MOD1 -> "mod1 " - | _ -> "" - in - List.iter (fun x -> print_string (c x)) (Gdk.Convert.modifier state) ; - print_char '\n' ; - flush stdout)) ; - - ignore - (self#connect#select_end - (fun (_,_,_,state) -> - if not (List.mem `CONTROL (Gdk.Convert.modifier state)) then - self#remove_selections ; - match root_selected with - None -> () - | Some e -> self#set_selection None ; self#add_selection e)) ; - - ignore - (self#connect#click - (fun _ -> self#remove_selections)) - end - ;; - -let multi_selection_math_view ?hadjustment ?vadjustment ?font_size ?log_verbosity = - GtkBase.Widget.size_params ~cont:( - OgtkMathViewProps.pack_return - (fun p -> OgtkMathViewProps.set_params (new multi_selection_math_view - (GtkMathViewProps.MathView_GMetaDOM.create p)) ~font_size ~log_verbosity)) [] -;; diff --git a/helm/DEVEL/lablgtkmathview/gMathViewAux.mli b/helm/DEVEL/lablgtkmathview/gMathViewAux.mli deleted file mode 100644 index 58a8d17b9..000000000 --- a/helm/DEVEL/lablgtkmathview/gMathViewAux.mli +++ /dev/null @@ -1,76 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) - -class single_selection_math_view_signals : - ([> `gtk | `mathview_gmetadom | `widget] as 'b) Gtk.obj -> - ((Gdome.element option -> unit) -> unit) -> - object - inherit GMathView.math_view_signals - method selection_changed : (Gdome.element_of_node option -> unit) -> unit - end - -class single_selection_math_view : - Gtk_mathview.math_view Gtk.obj -> - object - inherit GMathView.math_view_skel - method connect : single_selection_math_view_signals - method get_selection : Gdome.element option - method set_selection : Gdome.element option -> unit - method action_toggle : Gdome.element -> bool - end - -val single_selection_math_view : - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> single_selection_math_view - - (** EXPERIMENTAL STUFF from now on: use with care and at your own risk! *) - -class multi_selection_math_view : - Gtk_mathview.math_view Gtk.obj -> - object - inherit single_selection_math_view - method remove_selection : Gdome.element -> unit - method remove_selections : unit - method add_selection : Gdome.element -> unit - method get_selections : Gdome.element list - end - -val multi_selection_math_view : - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> multi_selection_math_view - - diff --git a/helm/DEVEL/lablgtkmathview/gtkMathView.ml b/helm/DEVEL/lablgtkmathview/gtkMathView.ml deleted file mode 100644 index 6d2db8849..000000000 --- a/helm/DEVEL/lablgtkmathview/gtkMathView.ml +++ /dev/null @@ -1,90 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) - -open Gtk_mathview -open Gaux -open Gobject -open Gtk -open Tags -open GtkMathViewProps -open GtkBase - -external _gtkmathview_init : unit -> unit = "ml_gtk_mathview_init" -let () = _gtkmathview_init () - -module MathView = struct - include MathView_GMetaDOM - external freeze : [>`mathview_gmetadom] obj -> unit = - "ml_gtk_math_view_freeze" - external thaw : [>`mathview_gmetadom] obj -> unit = - "ml_gtk_math_view_thaw" - external load_uri : [>`mathview_gmetadom] obj -> filename:string -> bool = - "ml_gtk_math_view_load_uri" - external load_root : [>`mathview_gmetadom] obj -> root:[> `Element] GdomeT.t -> bool = - "ml_gtk_math_view_load_root" - external unload : [>`mathview_gmetadom] obj -> unit = - "ml_gtk_math_view_unload" - external select : - [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> unit = - "ml_gtk_math_view_select" - external unselect : - [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> unit = - "ml_gtk_math_view_unselect" - external is_selected : - [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> bool = - "ml_gtk_math_view_is_selected" - external structure_changed : - [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> unit = - "ml_gtk_math_view_structure_changed" - external attribute_changed : - [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> name:TDOMString.t -> unit = - "ml_gtk_math_view_attribute_changed" - external get_bounding_box : - [>`mathview_gmetadom] obj -> (int * int * int) = - "ml_gtk_math_view_get_bounding_box" - external get_element_at : - [> `mathview_gmetadom] obj -> int -> int -> TElement.t option = - "ml_gtk_math_view_get_element_at" - (* beginning of prop-like methods *) - external get_size : [>`mathview_gmetadom] obj -> int * int = - "ml_gtk_math_view_get_size" - external get_top : [>`mathview_gmetadom] obj -> (int * int) = - "ml_gtk_math_view_get_top" - external set_top : [>`mathview_gmetadom] obj -> int -> int -> unit = - "ml_gtk_math_view_set_top" - external set_adjustments : [>`mathview_gmetadom] obj -> Gtk.adjustment obj -> Gtk.adjustment obj -> unit = - "ml_gtk_math_view_set_adjustments" - external get_adjustments : [>`mathview_gmetadom] obj -> - Gtk.adjustment obj * Gtk.adjustment obj = - "ml_gtk_math_view_get_adjustments" - external get_buffer : [>`mathview_gmetadom] obj -> Gdk.pixmap = - "ml_gtk_math_view_get_buffer" - external set_font_size : [>`mathview_gmetadom] obj -> int -> unit = - "ml_gtk_math_view_set_font_size" - external get_font_size : [>`mathview_gmetadom] obj -> int = - "ml_gtk_math_view_get_font_size" - external set_log_verbosity : [>`mathview_gmetadom] obj -> int -> unit = - "ml_gtk_math_view_set_log_verbosity" - external get_log_verbosity : [>`mathview_gmetadom] obj -> int = - "ml_gtk_math_view_get_log_verbosity" -end diff --git a/helm/DEVEL/lablgtkmathview/gtkMathView.props b/helm/DEVEL/lablgtkmathview/gtkMathView.props deleted file mode 100644 index d26050ce4..000000000 --- a/helm/DEVEL/lablgtkmathview/gtkMathView.props +++ /dev/null @@ -1,111 +0,0 @@ -(* $Id$ *) - -prefix "Gtk" - -header { -open Gtk -open Gtk_mathview - -external gdome_element_of_boxed_option : - Gpointer.boxed option -> TElement.t = - "ml_gtk_math_view_gdome_element_of_boxed_option" -;; - -external gdome_element_option_of_boxed_option : - Gpointer.boxed option -> TElement.t option = - "ml_gtk_math_view_gdome_element_option_of_boxed_option" -;; - -external model_event_of_boxed_option : - Gpointer.boxed option -> TElement.t option * int * int * int = - "ml_gtk_math_view_model_event_of_boxed_option" - -let option_element_of_option = - function - None -> None - | Some v -> Some (new Gdome.element v) -;; - -let option_element_of_boxed_option x = - option_element_of_option (gdome_element_option_of_boxed_option x) -;; - -let model_event_of_boxed model_event = - let id,x,y,state = model_event_of_boxed_option model_event in - option_element_of_option id,x,y,state -;; - -let gdome_element_option_conv = - {Gobject.kind = `POINTER ; - Gobject.proj = - (function - `POINTER element -> option_element_of_boxed_option element - | _ -> failwith "gdome_element_option_conv") ; - Gobject.inj = - (function element -> assert false) - } - -let gtk_math_view_model_event_conv = - {Gobject.kind = `POINTER ; - Gobject.proj = - (function - `POINTER model_event -> model_event_of_boxed model_event - | _ -> failwith "gtk_math_view_model_event_conv") ; - Gobject.inj = - (function element -> assert false) - } -} - -oheader { - -let set_params self ~font_size ~log_verbosity = - begin - match font_size with - Some s -> self#set_font_size s - | None -> () - end ; - begin - match log_verbosity with - Some v -> self#set_log_verbosity v - | None -> () - end ; - self -;; - -let pack_return create p ?packing ?show () = - GObj.pack_return (create p) ~packing ~show -;; - -} - -conversions { - GdomeElement_option "gdome_element_option_conv" - GtkMathViewModelEvent "gtk_math_view_model_event_conv" -} - -classes { - GtkAdjustment "Gtk.adjustment obj" -} - - -class MathView_GMetaDOM type "math_view obj" set wrapsig : Widget { -(* - "width" gint : Read - "height" gint : Read - "top-x" gint : Read / Write / NoSet - "top-y" gint : Read / Write / NoSet - "hadjustment" GtkAdjustment : Read / Write / Construct - "vadjustment" GtkAdjustment : Read / Write / Construct - "buffer" GdkPixmap : Read - "drawing-area" GtkDrawingArea : Read - "font-size" guint : Read / Write / Construct - "log-verbosity" gint : Read / Write / Construct - "root-element" GdomeElement_option : Read -*) - signal click: GtkMathViewModelEvent - signal select_begin: GtkMathViewModelEvent - signal select_over: GtkMathViewModelEvent - signal select_end: GtkMathViewModelEvent - signal select_abort - signal element_over: GtkMathViewModelEvent -} diff --git a/helm/DEVEL/lablgtkmathview/gtk_mathview.ml b/helm/DEVEL/lablgtkmathview/gtk_mathview.ml deleted file mode 100644 index f5b8c5ef6..000000000 --- a/helm/DEVEL/lablgtkmathview/gtk_mathview.ml +++ /dev/null @@ -1,24 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) - -type math_view = [Gtk.widget|`mathview_gmetadom] diff --git a/helm/DEVEL/lablgtkmathview/lablgtk/META.lablgtk b/helm/DEVEL/lablgtkmathview/lablgtk/META.lablgtk deleted file mode 100644 index f70c5bec6..000000000 --- a/helm/DEVEL/lablgtkmathview/lablgtk/META.lablgtk +++ /dev/null @@ -1,6 +0,0 @@ -requires="" -version="1.2.0" -archive(byte)="lablgtk.cma lablgnome.cma gtkInit.cmo" -archive(native)="lablgtk.cmxa lablgnome.cmxa gtkInit.cmx" -linkopts="" -directory="+lablgtk" diff --git a/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c b/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c deleted file mode 100644 index f8141f9eb..000000000 --- a/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c +++ /dev/null @@ -1,251 +0,0 @@ -/* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - */ - -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -/* Init all */ - -CAMLprim value ml_gtk_mathview_init(value unit) -{ - /* Since these are declared const, must force gcc to call them! */ - GType t = gtk_math_view_get_type(); - return Val_GType(t); -} - -#define GtkMathView_val(val) check_cast(GTK_MATH_VIEW,val) - -//##################################### -// -//#define FontManagerId_val(val) Int_val(val) -//#define Val_FontManagerId(val) Val_int(val) -// -///* As ML_1, but the result is optional */ -//#define OML_1(cname, conv1, conv) \ -//value ml_##cname (value arg1) { return Val_option_ptr((cname (conv1 (arg1))),conv); } -///* As ML_3, but the result is optional */ -#define OML_3(cname, conv1, conv2, conv3, conv) \ -value ml_##cname (value arg1, value arg2, value arg3) { return Val_option_ptr((cname (conv1 (arg1), conv2 (arg2), conv3 (arg3))),conv); } -///* As ML_2, but the second argument is optional */ -//#define ML_2O(cname, conv1, conv2, conv) \ -//value ml_##cname (value arg1, value arg2) \ -//{ return conv (cname (conv1(arg1), ptr_val_option(arg2,conv2))); } - -value Val_Element_ref(GdomeElement* elem) -{ - if (elem != NULL) - { - GdomeException exc = 0; - gdome_el_ref(elem, &exc); - g_assert(exc == 0); - } - return Val_Element(elem); -} - -ML_2 (gtk_math_view_structure_changed, GtkMathView_val, Element_val, Unit) -ML_3 (gtk_math_view_attribute_changed, GtkMathView_val, Element_val, DOMString_val, Unit) -/* OML_3 (gtk_math_view_get_element_at, GtkMathView_val, Int_val, Int_val, Val_Element) */ -ML_1 (gtk_math_view_freeze, GtkMathView_val, Unit) -ML_1 (gtk_math_view_thaw, GtkMathView_val, Unit) -ML_2 (gtk_math_view_load_uri, GtkMathView_val, String_val, Val_bool) -ML_2 (gtk_math_view_load_root, GtkMathView_val, Element_val, Val_bool) -ML_1 (gtk_math_view_unload, GtkMathView_val, Unit) -ML_2 (gtk_math_view_select, GtkMathView_val, Element_val, Unit) -ML_2 (gtk_math_view_unselect, GtkMathView_val, Element_val, Unit) -ML_2 (gtk_math_view_is_selected, GtkMathView_val, Element_val, Val_bool) -/* -ML_2 (gtk_math_view_new,GtkAdjustment_val, GtkAdjustment_val, Val_GtkWidget_sink) -ML_1 (gtk_math_view_get_width, GtkMathView_val, Val_int) -ML_1 (gtk_math_view_get_height, GtkMathView_val, Val_int) -*/ -ML_3 (gtk_math_view_set_top, GtkMathView_val, Int_val, Int_val, Unit) -ML_3 (gtk_math_view_set_adjustments, GtkMathView_val, GtkAdjustment_val, GtkAdjustment_val, Unit) -/* -ML_1 (gtk_math_view_get_hadjustment, GtkMathView_val, Val_GtkWidget) -ML_1 (gtk_math_view_get_vadjustment, GtkMathView_val, Val_GtkWidget) -*/ -ML_1 (gtk_math_view_get_buffer, GtkMathView_val, Val_GdkPixmap) -ML_2 (gtk_math_view_set_font_size, GtkMathView_val, Int_val, Unit) -ML_1 (gtk_math_view_get_font_size, GtkMathView_val, Val_int) -ML_2 (gtk_math_view_set_log_verbosity, GtkMathView_val, Int_val, Unit) -ML_1 (gtk_math_view_get_log_verbosity, GtkMathView_val, Val_int) - -value ml_gtk_math_view_get_element_at (value arg1, value arg2, value arg3) -{ - CAMLparam3(arg1, arg2, arg3); - CAMLlocal1 (result); - GdomeElement* el; - if (gtk_math_view_get_element_at(GtkMathView_val (arg1), Int_val(arg2), Int_val(arg3), &el, NULL, NULL)) - result = Val_option_ptr(el, Val_Element); - else - result = Val_unit; - CAMLreturn (result); -} - -value ml_gtk_math_view_get_adjustments(value arg1) -{ - CAMLparam1(arg1); - CAMLlocal1(result); - GtkAdjustment* hadj; - GtkAdjustment* vadj; - gtk_math_view_get_adjustments(GtkMathView_val (arg1), &hadj, &vadj); - result = alloc(2, 0); - Store_field(result, 0, Val_GtkWidget(hadj)); - Store_field(result, 1, Val_GtkWidget(vadj)); - CAMLreturn(result); -} - -value ml_gtk_math_view_get_size (value arg1) -{ - CAMLparam1(arg1); - CAMLlocal1(result); - int width, height; - gtk_math_view_get_size(GtkMathView_val (arg1), &width, &height); - result = alloc(1, 0); - Store_field(result, 0, Val_int(width)); - Store_field(result, 1, Val_int(height)); - CAMLreturn (result); -} - -value ml_gtk_math_view_get_bounding_box (value arg1) -{ - CAMLparam1(arg1); - CAMLlocal1(result); - int width, height, depth; - GtkMathViewBoundingBox gbox; - gtk_math_view_get_bounding_box(GtkMathView_val (arg1), &gbox); - result = alloc(3, 0); - Store_field(result, 0, Val_int(gbox.width)); - Store_field(result, 1, Val_int(gbox.height)); - Store_field(result, 2, Val_int(gbox.depth)); - CAMLreturn (result); -} - -value ml_gtk_math_view_get_top (value arg1) -{ - CAMLparam1(arg1); - CAMLlocal1(result); - int x, y; - gtk_math_view_get_top(GtkMathView_val (arg1), &x, &y); - result = alloc(2, 0); - Store_field(result, 0, Val_int(x)); - Store_field(result, 1, Val_int(y)); - CAMLreturn (result); -} - -/* -value ml_gtk_math_view_get_element_coords (value arg1, value arg2) -{ - CAMLparam2(arg1, arg2); - CAMLlocal1 (result); - int x, y; - gtk_math_view_get_element_coords(GtkMathView_val (arg1), Element_val(arg2), &x, &y); - result = alloc(2, 0); - Store_field(result, 0, Val_int(x)); - Store_field(result, 1, Val_int(y)); - CAMLreturn (result); -} -*/ - -value ml_gtk_math_view_gdome_element_of_boxed_option (value arg1) -{ - CAMLparam1(arg1); - - GdomeException exc = 0; - GdomeElement* nr = NULL; - CAMLlocal1 (res); - - if (arg1==Val_int(0)) { - assert(0); - } else { - nr = (GdomeElement*) Field(Field(arg1,0),1); - } - - res = Val_Element_ref(nr); - if (res==Val_int(0)) { - assert(0); - } - - CAMLreturn(res); -} - -value ml_gtk_math_view_gdome_element_option_of_boxed_option (value arg1) -{ - CAMLparam1(arg1); - - GdomeElement* nr; - CAMLlocal1 (valnr); - CAMLlocal1 (res); - - if (arg1==Val_int(0)) { - res=Val_unit; - } else { - GdomeException exc = 0; - GdomeElement* elem = (GdomeElement*) Field(Field(arg1,0),1); - assert(elem != NULL); - res = Val_option_ptr(elem, Val_Element_ref); - } - - CAMLreturn(res); -} - -value ml_gtk_math_view_model_event_of_boxed_option (value arg1) -{ - CAMLparam1(arg1); - GdomeElement* nr; - CAMLlocal1 (valnr); - CAMLlocal1 (res); - - assert(arg1 != Val_int(0)); - GtkMathViewModelEvent* event = (GtkMathViewModelEvent*) Field(Field(arg1,0),1); - res = alloc(4, 0); - Store_field(res, 0, Val_option_ptr(event->id, Val_Element_ref)); - Store_field(res, 1, Val_int(event->x)); - Store_field(res, 2, Val_int(event->y)); - Store_field(res, 3, Val_int(event->state)); - - CAMLreturn(res); -} - diff --git a/helm/DEVEL/lablgtkmathview/test/.cvsignore b/helm/DEVEL/lablgtkmathview/test/.cvsignore deleted file mode 100644 index b95eb22fb..000000000 --- a/helm/DEVEL/lablgtkmathview/test/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cmo *.cmi *.cmx t1lib.log test test.opt test.ps test.o Makefile diff --git a/helm/DEVEL/lablgtkmathview/test/Makefile.in b/helm/DEVEL/lablgtkmathview/test/Makefile.in deleted file mode 100644 index 1b4d01991..000000000 --- a/helm/DEVEL/lablgtkmathview/test/Makefile.in +++ /dev/null @@ -1,20 +0,0 @@ -PACKAGE = @PACKAGE@ lablgtk2.init -MLFLAGS = -OCAMLC = ocamlfind ocamlc $(MLFLAGS) -OCAMLOPT = ocamlfind ocamlopt $(MLFLAGS) -TMPDIR = .test - -all: test -opt: test.opt - -test: test.ml - $(OCAMLC) -package "$(PACKAGE)" -linkpkg -predicates "" -o $@ test.ml - -test.opt: test.ml - $(OCAMLOPT) -package "$(PACKAGE)" -linkpkg -predicates "" -o $@ test.ml - -clean: - rm -f *.cm[iox] *.o test test.opt t1lib.log test.ps - -distclean: - rm Makefile diff --git a/helm/DEVEL/lablgtkmathview/test/t1.config b/helm/DEVEL/lablgtkmathview/test/t1.config deleted file mode 100644 index afb669e95..000000000 --- a/helm/DEVEL/lablgtkmathview/test/t1.config +++ /dev/null @@ -1,3 +0,0 @@ -ENCODING=. -AFM=/usr/share/texmf/fonts/afm/ -TYPE1=/usr/share/texmf/fonts/type1/bluesky/cm/:/usr/X11R6/lib/X11/fonts/Type1/:. diff --git a/helm/DEVEL/lablgtkmathview/test/test.ml b/helm/DEVEL/lablgtkmathview/test/test.ml deleted file mode 100644 index 6a54c3463..000000000 --- a/helm/DEVEL/lablgtkmathview/test/test.ml +++ /dev/null @@ -1,365 +0,0 @@ -(* Copyright (C) 2000-2003, Luca Padovani , - * Claudio Sacerdoti Coen . - * - * This file is part of lablgtkmathview, the Ocaml binding - * for the GtkMathView widget. - * - * lablgtkmathview is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * lablgtkmathview is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with lablgtkmathview; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to the author. - *) - -(******************************************************************************) -(* Claudio Sacerdoti Coen *) -(* 25/09/2000 *) -(* *) -(* This is a simple test for the OCaml (LablGtk indeed) binding of the *) -(* MathView widget *) -(******************************************************************************) - -let helmns = Gdome.domString "http://www.cs.unibo.it/helm";; - -(* -let choose_selection mmlwidget (element : Gdome.element option) = - let module G = Gdome in - let rec aux element = - if element#hasAttributeNS - ~namespaceURI:Misc.helmns - ~localName:(G.domString "xref") - then - mmlwidget#set_selection (Some element) - else - try - match element#get_parentNode with - None -> assert false - (*CSC: OCAML DIVERGES! - | Some p -> aux (new G.element_of_node p) - *) - | Some p -> aux (new Gdome.element_of_node p) - with - GdomeInit.DOMCastException _ -> - prerr_endline - "******* trying to select above the document root ********" - in - match element with - Some x -> aux x - | None -> mmlwidget#set_selection None -;; -*) - -(* Callbacks *) -let selection_changed mathview (element : Gdome.element option) = - let rec aux element = - if element#hasAttributeNS - ~namespaceURI:helmns - ~localName:(Gdome.domString "xref") - then - mathview#set_selection (Some element) - else - try - match element#get_parentNode with - None -> mathview#set_selection None - | Some p -> aux (new Gdome.element_of_node p) - with - GdomeInit.DOMCastException _ -> - prerr_endline "******* trying to select above the document root ********" - in - print_endline ("selection_changed: " ^ - (match element with - None -> "selection_changed on nothing" - | Some element -> element#get_tagName#to_string - ) - ) ; - match element with - None -> () - | Some el -> aux el; - flush stdout -;; - -let element_over mathview ((element : Gdome.element option), _, _, _) = - print_endline ("element_over: " ^ - (match element with - None -> "element_over on nothing" - | Some element -> element#get_tagName#to_string - ) - ) ; - flush stdout -;; - -let rec jump (element : Gdome.element) = - let module G = Gdome in - let attr = (element#getAttribute ~name:(G.domString "href"))#to_string in - if attr = "" then - match element#get_parentNode with - Some p -> - begin - try - jump (new Gdome.element_of_node p) - with - GdomeInit.DOMCastException _ -> - print_string "jump: NO HREF FOR THIS NODE\n" ; - flush stdout ; - false - end - | None -> assert false (* every element has a parent *) - else - begin - print_endline ("jump: " ^ attr) ; - flush stdout ; - true - end -;; - -let rec action mathview (element : Gdome.element) = - let module G = Gdome in - if element#get_tagName#to_string = "m:maction" then - let selection = - if element#hasAttribute ~name:(G.domString "selection") then - int_of_string (element#getAttribute ~name:(G.domString "selection"))#to_string - else - 1 - in - mathview#freeze ; - (* the widget will cast the index back into a reasonable range *) - element#setAttribute ~name:(G.domString "selection") ~value:(G.domString (string_of_int (selection + 1))) ; - mathview#thaw ; - true - else - match element#get_parentNode with - Some p -> - begin - try - action mathview (new Gdome.element_of_node p) - with - GdomeInit.DOMCastException _ -> - print_string "action: NO MACTION FOUND\n" ; - flush stdout ; - false - end - | None -> assert false (* every element has a parent *) - -let click mathview ((element : Gdome.element option), _, _, _) = - let module G = Gdome in - match element with - None -> print_string "CLICKED ON NOTHING\n" ; flush stdout - | Some element -> - if not (jump element) then - if not (mathview#action_toggle element) then - () -;; - - -let load_uri mathview () = - mathview#load_uri ~filename:"test.xml" ; - print_string "load: SEEMS TO WORK\n" ; - flush stdout -;; - -let load_doc mathview () = - mathview#load_root ~root:(((Gdome.domImplementation ())#createDocumentFromURI ~uri:"test.xml" ())#get_documentElement) ; - print_string "load from DOM: SEEMS TO WORK\n" ; - flush stdout -;; - -let test_get_selection mathview () = - let selection = - match mathview#get_selection with - Some element -> element#get_tagName#to_string - | None -> "no selection! but there are " ^ (string_of_int (List.length mathview#get_selections)) ^ " multiple selections!" - in - print_string ("selection: " ^ selection ^ "\n") ; - flush stdout -;; - -let test_set_selection mathview () = - begin - match mathview#get_selection with - Some element -> - begin - match element#get_parentNode with - Some p -> - begin - try - mathview#set_selection (Some (new Gdome.element_of_node p)); - print_string "set selection: SEEMS TO WORK\n" - with - GdomeInit.DOMCastException _ -> - print_string "EXCEPTION: no parent\n" - end - | None -> assert false (* every element has a parent *) - end - | None -> - mathview#set_selection None; - print_string "no selection\n" - end ; - flush stdout -;; - -let test_add_selection (mathview : GMathViewAux.multi_selection_math_view) () = - match mathview#get_selection with - Some e -> mathview#add_selection e - | None -> - begin - print_string "no selection to add\n" ; - flush stdout - end -;; - -let test_reset_selections (mathview : GMathViewAux.multi_selection_math_view) () = - mathview#set_selection None ; - mathview#remove_selections - -let unload mathview () = - mathview#unload ; - print_string "unload: SEEMS TO WORK\n" ; - flush stdout -;; - -let get_size mathview () = - let width, height = mathview#get_size in - print_string ("width: " ^ string_of_int width ^ ", height: " ^ string_of_int height ^ "\n") ; - flush stdout -;; - -let get_top mathview () = - let (x,y) = mathview#get_top in - print_string ("top: ("^ string_of_int x ^ "," ^ string_of_int y ^ ")\n") ; - flush stdout -;; - -let set_top mathview () = - mathview#set_top 0 0; - print_string "set_top: SEEM TO WORK\n" ; - flush stdout -;; - -let set_adjustments mathview () = - let adj1 = GData.adjustment () in - let adj2 = GData.adjustment () in - mathview#set_adjustments adj1 adj2 ; - adj1#set_value ((adj1#lower +. adj1#upper) /. 2.0) ; - adj2#set_value ((adj2#lower +. adj2#upper) /. 2.0) ; - print_string "set_adjustments: SEEM TO WORK\n" ; - flush stdout -;; - -let get_adjustments mathview () = - let hadj, vadj = mathview#get_adjustments in - hadj#set_value ((hadj#lower +. hadj#upper) /. 2.0) ; - vadj#set_value ((vadj#lower +. vadj#upper) /. 2.0) ; - print_string "hadjustment: SEEM TO WORK\n" ; - flush stdout -;; - -let get_buffer mathview () = - let buffer = mathview#get_buffer in - Gdk.Draw.rectangle buffer (Gdk.GC.create buffer) ~x:0 ~y:0 - ~width:50 ~height:50 ~filled:true () ; - print_string "buffer: SEEMS TO WORK (hint: force the widget redrawing)\n"; - flush stdout -;; - -let set_font_size mathview () = - mathview#set_font_size 24 ; - print_string "set_font_size: FONT IS NOW 24\n" ; - flush stdout -;; - -let get_font_size mathview () = - print_string ("font_size: " ^ string_of_int (mathview#get_font_size) ^ "\n") ; - flush stdout -;; - -let set_log_verbosity mathview () = - mathview#set_log_verbosity 3 ; - print_string "set_log_verbosity: NOW IS 3\n" ; - flush stdout -;; - -let get_log_verbosity mathview () = - print_string ("log_verbosity: " ^ - string_of_int mathview#get_log_verbosity ^ - "\n") ; - flush stdout -;; - -let x_coord = ref 0 -;; - -(* -let get_element_at mathview () = - begin - match mathview#get_element_at !x_coord 10 with - None -> print_string ("there is no element at " ^ (string_of_int !x_coord) ^ " 10\n") - | Some e -> print_string ("at " ^ (string_of_int !x_coord) ^ " 10 found element " ^ (e#get_nodeName#to_string) ^ "\n") - end ; - x_coord := !x_coord + 10 ; - flush stdout -;; -*) - -let _ = (GtkMain.Main.init ()) -;; - -(* Widget creation *) -let main_window = GWindow.window ~title:"GtkMathView test" () in -let vbox = GPack.vbox ~packing:main_window#add () in -let sw = GBin.scrolled_window ~width:50 ~height:50 ~packing:vbox#pack () in -let mathview= GMathViewAux.multi_selection_math_view ~packing:sw#add ~width:50 ~height:50 () in -let table = GPack.table ~rows:6 ~columns:5 ~packing:vbox#pack () in -let button_load = GButton.button ~label:"load" ~packing:(table#attach ~left:1 ~top:0) () in -let button_unload = GButton.button ~label:"unload" ~packing:(table#attach ~left:2 ~top:0) () in -let button_selection = GButton.button ~label:"get_selection" ~packing:(table#attach ~left:3 ~top:0) () in -let button_set_selection = GButton.button ~label:"set_selection" ~packing:(table#attach ~left:4 ~top:0) () in -let button_add_selection = GButton.button ~label:"add_selection" ~packing:(table#attach ~left:3 ~top:3) () in -let button_reset_selections = GButton.button ~label:"reset_selections" ~packing:(table#attach ~left:4 ~top:3) () in -let button_get_size = GButton.button ~label:"get_size" ~packing:(table#attach ~left:0 ~top:1) () in -let button_get_top = GButton.button ~label:"get_top" ~packing:(table#attach ~left:2 ~top:1) () in -let button_set_top = GButton.button ~label:"set_top" ~packing:(table#attach ~left:3 ~top:1) () in -let button_set_adjustments = GButton.button ~label:"set_adjustments" ~packing:(table#attach ~left:4 ~top:1) () in -let button_get_adjustments = GButton.button ~label:"get_adjustments" ~packing:(table#attach ~left:0 ~top:2) () in -let button_get_buffer = GButton.button ~label:"get_buffer" ~packing:(table#attach ~left:2 ~top:2) () in -let button_set_font_size = GButton.button ~label:"set_font_size" ~packing:(table#attach ~left:4 ~top:2) () in -let button_get_font_size = GButton.button ~label:"get_font_size" ~packing:(table#attach ~left:0 ~top:3) () in -let button_set_log_verbosity = GButton.button ~label:"set_log_verbosity" ~packing:(table#attach ~left:0 ~top:4) () in -let button_get_log_verbosity = GButton.button ~label:"get_log_verbosity" ~packing:(table#attach ~left:1 ~top:4) () in -let button_load_dom = GButton.button ~label:"load from DOM" ~packing:(table#attach ~left:2 ~top:5) () in -(* let button_get_element_at = GButton.button ~label:"get_element_at" ~packing:(table#attach ~left:3 ~top:5) () in *) -(* Signals connection *) -ignore(button_load#connect#clicked (load_uri mathview)) ; -ignore(button_unload#connect#clicked (unload mathview)) ; -ignore(button_selection#connect#clicked (test_get_selection mathview)) ; -ignore(button_set_selection#connect#clicked (test_set_selection mathview)) ; -ignore(button_add_selection#connect#clicked (test_add_selection mathview)) ; -ignore(button_reset_selections#connect#clicked (test_reset_selections mathview)) ; -ignore(button_get_size#connect#clicked (get_size mathview)) ; -ignore(button_get_top#connect#clicked (get_top mathview)) ; -ignore(button_set_top#connect#clicked (set_top mathview)) ; -ignore(button_set_adjustments#connect#clicked (set_adjustments mathview)) ; -ignore(button_get_adjustments#connect#clicked (get_adjustments mathview)) ; -ignore(button_get_buffer#connect#clicked (get_buffer mathview)) ; -ignore(button_set_font_size#connect#clicked (set_font_size mathview)) ; -ignore(button_get_font_size#connect#clicked (get_font_size mathview)) ; -ignore(button_set_log_verbosity#connect#clicked (set_log_verbosity mathview)) ; -ignore(button_get_log_verbosity#connect#clicked (get_log_verbosity mathview)) ; -ignore(mathview#connect#click (click mathview)) ; -ignore(mathview#connect#selection_changed (selection_changed mathview)); -ignore(mathview#connect#element_over (element_over mathview)) ; -ignore(button_load_dom#connect#clicked (load_doc mathview)) ; -(* ignore(button_get_element_at#connect#clicked (get_element_at mathview)) ; *) -(* Main Loop *) -main_window#show () ; -GMain.Main.main () -;; diff --git a/helm/DEVEL/lablgtkmathview/test/test.xml b/helm/DEVEL/lablgtkmathview/test/test.xml deleted file mode 100644 index 9f3d906a7..000000000 --- a/helm/DEVEL/lablgtkmathview/test/test.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - -]> - - - - - - - - It's a secret! - - - a - - x - - + - b - - - - - x - 2 - - + - - p - - x - - + - q - - - - d - x - = - - - a2 - - - ln - - - ( - - x2 - + - - p - - x - - + - q - - ) - - - - + - - - - - 2 - - b - - - - - a - - p - - - - - - 4 - - q - - - - - p - 2 - - - - - - - arctg - - - - - 2 - - x - - + - p - - - - - 4 - - q - - - - - p - 2 - - - - - - - + - c - - diff --git a/helm/DEVEL/mathml_editor/.cvsignore b/helm/DEVEL/mathml_editor/.cvsignore deleted file mode 100644 index aa01254b1..000000000 --- a/helm/DEVEL/mathml_editor/.cvsignore +++ /dev/null @@ -1,16 +0,0 @@ -Makefile -Makefile.in -aclocal.m4 -autom4te.cache -config.h -config.h.in -config.log -config.status -configure -editex-config -libtool -result.xml -stamp-h -stamp-h.in -t1lib.log -editex.pc diff --git a/helm/DEVEL/mathml_editor/.log b/helm/DEVEL/mathml_editor/.log deleted file mode 100644 index 3971d5a78..000000000 --- a/helm/DEVEL/mathml_editor/.log +++ /dev/null @@ -1,21 +0,0 @@ -This is TeX, Version 3.14159 (Web2C 7.3.7) (format=tex 2002.8.9) 23 NOV 2002 18:34 -**$$\root 3 \of x+1$$ -(/usr/share/texmf/tex/latex/tools/.tex File ignored) -! Missing $ inserted. - - $ - - \mathchoice -\mathpalette #1#2->\mathchoice - {#1\displaystyle {#2}}{#1\textstyle {#2}}{#1\... -<*> $$\root 3 \of x - +1$$ -? - -* -! Emergency stop. -<*> $$\root 3 \of x+1$$ - -End of file on the terminal! - -No pages of output. diff --git a/helm/DEVEL/mathml_editor/AUTHORS b/helm/DEVEL/mathml_editor/AUTHORS deleted file mode 100644 index 7cec8397e..000000000 --- a/helm/DEVEL/mathml_editor/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Luca Padovani -Paolo Marinelli diff --git a/helm/DEVEL/mathml_editor/BROWSE b/helm/DEVEL/mathml_editor/BROWSE deleted file mode 100644 index c14c1d2f5..000000000 --- a/helm/DEVEL/mathml_editor/BROWSE +++ /dev/null @@ -1,503 +0,0 @@ -[ebrowse-hs "ebrowse 5.0" " -x" () ()][ebrowse-ts [ebrowse-cs "APushParser" () 0"src/APushParser.hh" "class APushParser -{" 75"src/APushParser.hh" ] -([ebrowse-ts [ebrowse-cs "TPushParser" () 0"src/TPushParser.hh" "class TPushParser :" 226"src/TPushParser.hh" ] -()([ebrowse-ms "buffer" () 0 () " std::list buffer;" 1306 2 () () 0] -[ebrowse-ms "cursor" () 0 () " TNode cursor;" 1363 2 () () 0] -[ebrowse-ms "doc" () 0 () " TDocument doc;" 1343 2 () () 0] -[ebrowse-ms "frames" () 0 () " std::stack frames;" 1278 2 () () 0] -[ebrowse-ms "nextId" () 0 () " unsigned nextId;" 1326 2 () () 0] -) -([ebrowse-ms "PRIME" () 4 () " std::string PRIME(void" 490 2 "src/TPushParser.cc" "TPushParser::PRIME()" 279] -[ebrowse-ms "TPushParser" () 0 () () 0 0 "src/TPushParser.cc" "TPushParser::TPushParser(const TDictionary& d) :" 58] -[ebrowse-ms "TPushParser" () 0 () " TPushParser(const class TDictionary&);" 275 0 () () 0] -[ebrowse-ms "advance" () 0 () " void advance(const" 1065 2 "src/TPushParser.cc" "TPushParser::advance(const" 13192] -[ebrowse-ms "do_active" () 0 () " void do_active(const" 916 2 "src/TPushParser.cc" "TPushParser::do_active(const" 5602] -[ebrowse-ms "do_align" () 0 () " void do_align(void" 624 2 "src/TPushParser.cc" "TPushParser::do_align()" 1530] -[ebrowse-ms "do_apostrophe" () 0 () " void do_apostrophe(void" 1042 2 "src/TPushParser.cc" "TPushParser::do_apostrophe()" 4611] -[ebrowse-ms "do_begin" () 0 () " void do_begin(void" 557 2 "src/TPushParser.cc" "TPushParser::do_begin()" 461] -[ebrowse-ms "do_comment" () 0 () " void do_comment(void" 954 2 "src/TPushParser.cc" "TPushParser::do_comment()" 5668] -[ebrowse-ms "do_control" () 0 () " void do_control(const" 980 2 "src/TPushParser.cc" "TPushParser::do_control(const" 6337] -[ebrowse-ms "do_cr" () 0 () " void do_cr(void" 1014 2 "src/TPushParser.cc" "TPushParser::do_cr()" 5708] -[ebrowse-ms "do_digit" () 0 () " void do_digit(const" 841 2 "src/TPushParser.cc" "TPushParser::do_digit(const" 4072] -[ebrowse-ms "do_end" () 0 () " void do_end(void" 578 2 "src/TPushParser.cc" "TPushParser::do_end()" 910] -[ebrowse-ms "do_eol" () 0 () " void do_eol(void" 645 2 "src/TPushParser.cc" "TPushParser::do_eol()" 2464] -[ebrowse-ms "do_letter" () 0 () " void do_letter(const" 804 2 "src/TPushParser.cc" "TPushParser::do_letter(const" 3902] -[ebrowse-ms "do_other" () 0 () " void do_other(const" 878 2 "src/TPushParser.cc" "TPushParser::do_other(const" 5303] -[ebrowse-ms "do_parameter" () 0 () " void do_parameter(const" 673 2 "src/TPushParser.cc" "TPushParser::do_parameter(const" 2546] -[ebrowse-ms "do_shift" () 0 () " void do_shift(void" 601 2 "src/TPushParser.cc" "TPushParser::do_shift()" 1487] -[ebrowse-ms "do_space" () 0 () " void do_space(const" 766 2 "src/TPushParser.cc" "TPushParser::do_space(const" 3794] -[ebrowse-ms "do_subscript" () 0 () " void do_subscript(void" 742 2 "src/TPushParser.cc" "TPushParser::do_subscript()" 2609] -[ebrowse-ms "do_superscript" () 0 () " void do_superscript(void" 715 2 "src/TPushParser.cc" "TPushParser::do_superscript()" 3204] -[ebrowse-ms "document" () 4 () " TDocument document(void" 432 0 () " TDocument document(void" 432] -[ebrowse-ms "isPrimes" () 4 () " bool isPrimes(const" 520 2 "src/TPushParser.cc" "TPushParser::isPrimes(const" 4445] -[ebrowse-ms "process" () 0 () " void process(const" 1096 2 "src/TPushParser.cc" "TPushParser::process(const" 8538] -[ebrowse-ms "push" () 1 () " virtual void push(const" 349 0 "src/TPushParser.cc" "TPushParser::push(const" 9379] -[ebrowse-ms "setCursor" () 1 () " virtual void setCursor(const" 390 0 "src/TPushParser.cc" "TPushParser::setCursor(const" 13865] -[ebrowse-ms "~TPushParser" () 1 () " virtual ~TPushParser()" 321 0 "src/TPushParser.cc" "TPushParser::~TPushParser()" 241] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TTokenizer" () 0"src/TTokenizer.hh" "class TTokenizer :" 173"src/TTokenizer.hh" ] -()([ebrowse-ms "tokens" () 0 () " std::list tokens;" 405 2 () () 0] -) -([ebrowse-ms "TTokenizer" () 0 () " TTokenizer(void) {" 221 0 () " TTokenizer(void) {" 221] -[ebrowse-ms "push" () 1 () " virtual void push(const" 316 2 "src/TTokenizer.cc" "TTokenizer::push(const" 471] -[ebrowse-ms "setCursor" () 1 () " virtual void setCursor(const" 357 2 () " virtual void setCursor(const" 357] -[ebrowse-ms "tokenize" () 0 () " std::vector tokenize(const" 265 0 "src/TTokenizer.cc" "TTokenizer::tokenize(const" 120] -) -() -() -() -() -()() -])() -([ebrowse-ms "APushParser" () 0 () " APushParser(void) {" 102 0 () " APushParser(void) {" 102] -[ebrowse-ms "push" () 9 () " virtual void push(const" 164 0 () () 0] -[ebrowse-ms "setCursor" () 9 () " virtual void setCursor(const" 209 0 () () 0] -[ebrowse-ms "~APushParser" () 1 () " virtual ~APushParser()" 133 0 () " virtual ~APushParser()" 133] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "EmptyBuffer" "TLexerPush" 0"src/TLexerPush.hh" " class EmptyBuffer {" 271() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "unary_function" "std" 32() () 0() ] -([ebrowse-ts [ebrowse-cs "StringHash" "TDictionary" 0"src/TDictionary.hh" " struct StringHash :" 1160"src/TDictionary.hh" ] -()() -([ebrowse-ms "operator ()" () 4 () " { size_t operator()(const" 1238 0 () " { size_t operator()(const" 1238] -) -() -() -() -() -()() -])() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TObject" () 0"src/TObject.hh" "class TObject -{" 63"src/TObject.hh" ] -()() -([ebrowse-ms "TObject" () 0 () " TObject(void) {" 89 1 () " TObject(void) {" 89] -[ebrowse-ms "ref" () 4 () " void ref(coid" 162 0 () " void ref(coid" 162] -[ebrowse-ms "unref" () 4 () " void unref(void" 206 0 () " void unref(void" 206] -[ebrowse-ms "~TObject" () 1 () " virtual ~TObject()" 132 1 () " virtual ~TObject()" 132] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "std" () 0() () 0() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TLexerPush" () 0"src/TLexerPush.hh" "class TLexerPush -{" 59"src/TLexerPush.hh" ] -()([ebrowse-ms "state" () 0 () " State state;" 388 2 () () 0] -[ebrowse-ms "tokens" () 0 () " std::deque tokens;" 417 2 () () 0] -) -([ebrowse-ms "TLexerPush" () 0 () " TLexerPush(void);" 85 0 "src/TLexerPush.cc" "TLexerPush::TLexerPush() -{" 51] -[ebrowse-ms "ambiguous" () 4 () " bool ambiguous(void" 182 0 "src/TLexerPush.cc" "TLexerPush::ambiguous()" 576] -[ebrowse-ms "empty" () 4 () " bool empty(void" 240 0 "src/TLexerPush.cc" "TLexerPush::empty()" 447] -[ebrowse-ms "front" () 4 () " TToken front(void" 150 0 "src/TLexerPush.cc" "TLexerPush::front()" 338] -[ebrowse-ms "pending" () 4 () " bool pending(void" 212 0 "src/TLexerPush.cc" "TLexerPush::pending()" 510] -[ebrowse-ms "pop" () 0 () " TToken pop(void" 128 0 "src/TLexerPush.cc" "TLexerPush::pop()" 99] -[ebrowse-ms "push" () 0 () " void push(TChar" 108 0 "src/TLexerPush.cc" "TLexerPush::push(TChar" 664] -) -() -() -() -([ebrowse-ms "State" () 0 () " {" 303 2 () " {" 303] -) -()() -][ebrowse-ts [ebrowse-cs "TLexerPull" () 0() () 0"src/TLexerPull.cc" ] -()() -([ebrowse-ms "pop" () 0 () () 0 0 () "TLexerPull::pop(TCharStream" 94] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TDictionary" () 0"src/TDictionary.hh" "class TDictionary -{" 154"src/TDictionary.hh" ] -()([ebrowse-ms "entries" () 0 () " Dictionary entries;" 1560 2 () () 0] -) -([ebrowse-ms "TDictionary" () 0 () " TDictionary(void) {" 181 0 () " TDictionary(void) {" 181] -[ebrowse-ms "find" () 4 () " const Entry& find(const" 1107 0 "src/TDictionary.cc" "TDictionary::find(const" 3723] -[ebrowse-ms "load" () 0 () " void load(const" 1069 0 "src/TDictionary.cc" "TDictionary::load(const" 162] -[ebrowse-ms "~TDictionary" () 0 () " ~TDictionary()" 204 0 () " ~TDictionary()" 204] -) -() -() -() -([ebrowse-ms "Dictionary" () 0 () "ap< std::string, Entry, StringHash > Dictionary;" 1538 2 () () 0] -[ebrowse-ms "EntryClass" () 0 () " {" 301 0 () " {" 301] -[ebrowse-ms "Form" () 0 () " {" 228 0 () " {" 228] -) -()() -][ebrowse-ts [ebrowse-cs "DOM" () 0() () 0() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "APushLexer" () 0"src/APushLexer.hh" "class APushLexer -{" 72"src/APushLexer.hh" ] -([ebrowse-ts [ebrowse-cs "TPushLexer" () 0"src/TPushLexer.hh" "class TPushLexer :" 117"src/TPushLexer.hh" ] -()([ebrowse-ms "buffer" () 0 () " std::string buffer;" 483 2 () () 0] -[ebrowse-ms "state" () 0 () " State state;" 461 2 () () 0] -) -([ebrowse-ms "TPushLexer" () 0 () () 0 0 "src/TPushLexer.cc" "TPushLexer::TPushLexer(APushParser& p) :" 108] -[ebrowse-ms "TPushLexer" () 0 () " TPushLexer(class APushParser&);" 164 0 () () 0] -[ebrowse-ms "error" () 5 () " virtual bool error(void" 290 0 "src/TPushLexer.cc" "TPushLexer::error()" 2463] -[ebrowse-ms "push" () 1 () " virtual void push(char" 234 0 "src/TPushLexer.cc" "TPushLexer::push(char" 1180] -[ebrowse-ms "reset" () 1 () " virtual void reset(void" 262 0 "src/TPushLexer.cc" "TPushLexer::reset()" 176] -[ebrowse-ms "transaction" () 0 () " void transaction(char" 436 2 "src/TPushLexer.cc" "TPushLexer::transaction(char" 251] -[ebrowse-ms "~TPushLexer" () 1 () " virtual ~TPushLexer()" 203 0 () " virtual ~TPushLexer()" 203] -) -() -() -() -([ebrowse-ms "State" () 0 () " {" 327 2 () " {" 327] -) -()() -])() -([ebrowse-ms "APushLexer" () 0 () " APushLexer(class APushParser& p) :" 99 0 () " APushLexer(class APushParser& p) :" 99] -[ebrowse-ms "error" () 13 () " virtual bool error(void" 251 0 () () 0] -[ebrowse-ms "push" () 9 () " virtual void push(char" 187 0 () () 0] -[ebrowse-ms "reset" () 9 () " virtual void reset(void" 219 0 () () 0] -[ebrowse-ms "~APushLexer" () 1 () " virtual ~APushLexer()" 156 0 () " virtual ~APushLexer()" 156] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "Ptr" () 32"src/Ptr.hh" "class Ptr -{" 1067"src/Ptr.hh" ] -()([ebrowse-ms "ptr" () 0 () " P* ptr;" 1797 2 () () 0] -) -([ebrowse-ms "P" () 4 () " operator P*()" 1487 0 () " operator P*()" 1487] -[ebrowse-ms "Ptr" () 0 () " Ptr(const Ptr& p) :" 1142 0 () " Ptr(const Ptr& p) :" 1142] -[ebrowse-ms "Ptr" () 0 () " Ptr(P* p = 0) :" 1083 0 () " Ptr(P* p = 0) :" 1083] -[ebrowse-ms "Q" () 36 () " template operator Ptr()" 1747 0 () " template operator Ptr()" 1747] -[ebrowse-ms "operator ->" () 4 () " P* operator->()" 1253 0 () " P* operator->()" 1253] -[ebrowse-ms "operator =" () 0 () " Ptr& operator=(const" 1316 0 () " Ptr& operator=(const" 1316] -[ebrowse-ms "~Ptr" () 0 () " ~Ptr()" 1202 0 () " ~Ptr()" 1202] -) -() -() -([ebrowse-ms "is_a" () 32 () " template friend bool is_a(const" 1659 0 () " template friend bool is_a(const" 1659] -[ebrowse-ms "smart_cast" () 32 () "emplate friend Ptr smart_cast(const" 1561 0 () "emplate friend Ptr smart_cast(const" 1561] -) -() -()() -][ebrowse-ts [ebrowse-cs "TToken" () 0"src/TToken.hh" "struct TToken -{" 80"src/TToken.hh" ] -()([ebrowse-ms "category" () 0 () " TCat category;" 627 0 () () 0] -[ebrowse-ms "value" () 0 () " std::string value;" 648 0 () () 0] -) -([ebrowse-ms "TToken" () 0 () " TToken(TCat c, const std::string& v) :" 438 0 () " TToken(TCat c, const std::string& v) :" 438] -[ebrowse-ms "TToken" () 0 () " TToken(TCat c, char ch) :" 366 0 () " TToken(TCat c, char ch) :" 366] -[ebrowse-ms "TToken" () 0 () " TToken(TCat c) :" 330 0 () " TToken(TCat c) :" 330] -[ebrowse-ms "operator ==" () 4 () " bool operator==(const" 517 0 () " bool operator==(const" 517] -) -() -() -() -([ebrowse-ms "TCat" () 0 () " {" 98 0 () " {" 98] -) -()() -][ebrowse-ts [ebrowse-cs "binary_function" "std" 32() () 0() ] -([ebrowse-ts [ebrowse-cs "StringEq" "TDictionary" 0"src/TDictionary.hh" " struct StringEq :" 1327() ] -()() -([ebrowse-ms "operator ()" () 4 () " { bool operator()(const" 1415 0 () () 0] -) -() -() -() -() -()() -])() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TNode" () 0"src/TNode.hh" "class TNode -{" 124"src/TNode.hh" ] -()([ebrowse-ms "node" () 0 () " DOM::Element node;" 2444 2 () () 0] -) -([ebrowse-ms "TNode" () 0 () " TNode(const TNode& n) :" 270 0 () " TNode(const TNode& n) :" 270] -[ebrowse-ms "TNode" () 0 () " TNode(void) :" 145 0 () " TNode(void) :" 145] -[ebrowse-ms "append" () 4 () " void append(const" 1667 0 "src/TNode.cc" "TNode::append(const" 2450] -[ebrowse-ms "append" () 4 () " void append(const" 1631 0 "src/TNode.cc" "TNode::append(const" 2348] -[ebrowse-ms "child" () 4 () " TNode child(unsigned" 592 0 "src/TNode.cc" "TNode::child(unsigned" 2874] -[ebrowse-ms "core" () 4 () " TNode core(void" 425 0 "src/TNode.cc" "TNode::core()" 1413] -[ebrowse-ms "empty" () 4 () " bool empty(void" 648 0 () " bool empty(void" 648] -[ebrowse-ms "first" () 4 () " TNode first(void" 480 0 "src/TNode.cc" "TNode::first()" 1075] -[ebrowse-ms "firstL" () 4 () " TNode firstL(void" 508 0 "src/TNode.cc" "TNode::firstL()" 1259] -[ebrowse-ms "get" () 4 () " std::string get(const" 1758 0 "src/TNode.cc" "TNode::get(const" 3007] -[ebrowse-ms "hasId" () 4 () " bool hasId(void" 1994 0 () " bool hasId(void" 1994] -[ebrowse-ms "insert" () 4 () " void insert(const" 1595 0 "src/TNode.cc" "TNode::insert(const" 2193] -[ebrowse-ms "is" () 4 () " bool is(const" 2055 0 () " bool is(const" 2055] -[ebrowse-ms "isC" () 4 () " bool isC(const" 2303 0 () " bool isC(const" 2303] -[ebrowse-ms "isC" () 4 () " bool isC(void" 2258 0 () " bool isC(void" 2258] -[ebrowse-ms "isG" () 4 () " bool isG(void" 2119 0 () " bool isG(void" 2119] -[ebrowse-ms "isSb" () 4 () " bool isSb(void" 2165 0 () " bool isSb(void" 2165] -[ebrowse-ms "isSp" () 4 () " bool isSp(void" 2212 0 () " bool isSp(void" 2212] -[ebrowse-ms "last" () 4 () " TNode last(void" 534 0 "src/TNode.cc" "TNode::last()" 736] -[ebrowse-ms "lastL" () 4 () " TNode lastL(void" 561 0 "src/TNode.cc" "TNode::lastL()" 922] -[ebrowse-ms "name" () 4 () " std::string name(void" 1863 0 () " std::string name(void" 1863] -[ebrowse-ms "nameC" () 4 () " std::string nameC(void" 1929 0 () " std::string nameC(void" 1929] -[ebrowse-ms "next" () 4 () " TNode next(void" 319 0 "src/TNode.cc" "TNode::next()" 63] -[ebrowse-ms "nextL" () 4 () " TNode nextL(void" 346 0 "src/TNode.cc" "TNode::nextL()" 247] -[ebrowse-ms "operator !=" () 4 () " bool operator!=(const" 1295 0 () " bool operator!=(const" 1295] -[ebrowse-ms "operator ==" () 4 () " bool operator==(const" 1227 0 () " bool operator==(const" 1227] -[ebrowse-ms "operator []" () 4 () " ProxyAttr operator[](const" 1422 0 () " ProxyAttr operator[](const" 1422] -[ebrowse-ms "operator []" () 4 () " TNode operator[](int" 1362 0 () " TNode operator[](int" 1362] -[ebrowse-ms "parent" () 4 () " TNode parent(void" 453 0 "src/TNode.cc" "TNode::parent()" 1587] -[ebrowse-ms "prepend" () 4 () " void prepend(const" 1718 0 "src/TNode.cc" "TNode::prepend(const" 2683] -[ebrowse-ms "prev" () 4 () " TNode prev(void" 372 0 "src/TNode.cc" "TNode::prev()" 396] -[ebrowse-ms "prevL" () 4 () " TNode prevL(void" 399 0 "src/TNode.cc" "TNode::prevL()" 588] -[ebrowse-ms "remove" () 4 () " void remove(void" 1529 0 "src/TNode.cc" "TNode::remove()" 1913] -[ebrowse-ms "replace" () 4 () " void replace(const" 1559 0 "src/TNode.cc" "TNode::replace(const" 2038] -[ebrowse-ms "set" () 4 () " void set(const" 1797 0 "src/TNode.cc" "TNode::set(const" 3109] -[ebrowse-ms "size" () 4 () " unsigned size(void" 621 0 "src/TNode.cc" "TNode::size()" 1749] -[ebrowse-ms "value" () 4 () " std::string value(void" 707 0 () " std::string value(void" 707] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "Entry" "TDictionary" 0"src/TDictionary.hh" " struct Entry - {" 405"src/TDictionary.hh" ] -()([ebrowse-ms "cls" () 0 () " EntryClass cls;" 806 0 () () 0] -[ebrowse-ms "delimiter" () 0 () " unsigned delimiter : 1;" 909 0 () () 0] -[ebrowse-ms "embellishment" () 0 () " unsigned embellishment : 1;" 966 0 () () 0] -[ebrowse-ms "infix" () 0 () " unsigned infix : 8;" 830 0 () () 0] -[ebrowse-ms "leftOpen" () 0 () " unsigned leftOpen : 1;" 993 0 () () 0] -[ebrowse-ms "limits" () 0 () " unsigned limits : 1;" 934 0 () () 0] -[ebrowse-ms "pattern" () 0 () " std::vector pattern;" 597 0 () () 0] -[ebrowse-ms "postfix" () 0 () " unsigned postfix : 8;" 881 0 () () 0] -[ebrowse-ms "prefix" () 0 () " unsigned prefix : 8;" 855 0 () () 0] -[ebrowse-ms "rightOpen" () 0 () " unsigned rightOpen : 1;" 1021 0 () () 0] -[ebrowse-ms "table" () 0 () " unsigned table : 1;" 1045 0 () () 0] -[ebrowse-ms "value" () 0 () " std::string value;" 620 0 () () 0] -) -([ebrowse-ms "Entry" () 0 () " {" 420 0 () " {" 420] -[ebrowse-ms "defined" () 4 () " bool defined(void" 643 0 () " bool defined(void" 643] -[ebrowse-ms "hasArguments" () 4 () " bool hasArguments(void" 707 0 () " bool hasArguments(void" 707] -[ebrowse-ms "paramDelimited" () 4 () " bool paramDelimited(unsigned" 777 0 "src/TDictionary.cc" "TDictionary::Entry::paramDelimited(unsigned" 4012] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "Frame" "TPushParser" 0"src/TPushParser.hh" " struct Frame - {" 1126"src/TPushParser.hh" ] -()([ebrowse-ms "entry" () 0 () " const TDictionary::Entry& entry;" 1226 0 () () 0] -[ebrowse-ms "pos" () 0 () " unsigned pos;" 1244 0 () () 0] -) -([ebrowse-ms "Frame" () 0 () " Frame(const TDictionary::Entry& e) :" 1142 0 () " Frame(const TDictionary::Entry& e) :" 1142] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TCharStream" () 0"src/TCharStream.hh" "class TCharStream -{" 94"src/TCharStream.hh" ] -([ebrowse-ts [ebrowse-cs "TCharStreamString" () 0"src/TCharStreamString.hh" "class TCharStreamString :" 120"src/TCharStreamString.hh" ] -()([ebrowse-ms "buffer" () 0 () " TString buffer;" 555 2 () () 0] -[ebrowse-ms "idx" () 0 () " unsigned long idx;" 536 2 () () 0] -) -([ebrowse-ms "TCharStreamString" () 0 () " TCharStreamString(const TString& s) :" 175 0 () " TCharStreamString(const TString& s) :" 175] -[ebrowse-ms "look" () 5 () " virtual TChar look(void" 343 0 () " virtual TChar look(void" 343] -[ebrowse-ms "more" () 5 () " virtual bool more(void" 275 0 () " virtual bool more(void" 275] -[ebrowse-ms "next" () 1 () " virtual TChar next(void" 439 0 () " virtual TChar next(void" 439] -[ebrowse-ms "~TCharStreamString" () 1 () " virtual ~TCharStreamString()" 243 0 () " virtual ~TCharStreamString()" 243] -) -() -() -() -() -()() -])() -([ebrowse-ms "TCharStream" () 0 () " TCharStream(void) {" 121 0 () " TCharStream(void) {" 121] -[ebrowse-ms "look" () 13 () " virtual TChar look(void" 222 0 () () 0] -[ebrowse-ms "more" () 13 () " virtual bool more(void" 184 0 () () 0] -[ebrowse-ms "next" () 9 () " virtual TChar next(void" 260 0 () () 0] -[ebrowse-ms "~TCharStream" () 1 () " virtual ~TCharStream()" 152 0 () " virtual ~TCharStream()" 152] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "EmptyStream" "TCharStream" 0"src/TCharStream.hh" " class EmptyStream {" 289() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "*Globals*" () 0() () 0"src/APushLexer.hh" ] -()() -([ebrowse-ms "dispatch" () 0 "src/special.cc" "dispatch(const" 1012 0 "src/special.cc" "dispatch(const" 1012] -[ebrowse-ms "do_apostrophe" () 0 "src/special.cc" "do_apostrophe(const" 669 0 "src/special.cc" "do_apostrophe(const" 669] -[ebrowse-ms "do_bgroup" () 0 "src/special.cc" "do_bgroup(const" 149 0 "src/special.cc" "do_bgroup(const" 149] -[ebrowse-ms "do_control" () 0 "src/special.cc" "do_control(const" 711 0 "src/special.cc" "do_control(const" 711] -[ebrowse-ms "do_other" () 0 "src/special.cc" "do_other(const" 776 0 "src/special.cc" "do_other(const" 776] -[ebrowse-ms "finishG" () 0 "src/special.cc" "void finishG(const" 118 0 () () 0] -[ebrowse-ms "getCore" () 0 "src/domnav.cc" "getCore(const" 629 0 "src/domnav.cc" "getCore(const" 629] -[ebrowse-ms "getRightmostChild" () 0 "src/domnav.cc" "getRightmostChild(const" 37 0 "src/domnav.cc" "getRightmostChild(const" 37] -[ebrowse-ms "isDelimiter" () 0 "src/domnav.cc" "isDelimiter(const" 1716 0 "src/domnav.cc" "isDelimiter(const" 1716] -[ebrowse-ms "isFunction" () 0 "src/domnav.cc" "isFunction(const" 1879 0 "src/domnav.cc" "isFunction(const" 1879] -[ebrowse-ms "isGroup" () 0 "src/domnav.cc" "isGroup(const" 1214 0 "src/domnav.cc" "isGroup(const" 1214] -[ebrowse-ms "isInferred" () 0 "src/domnav.cc" "isInferred(const" 985 0 "src/domnav.cc" "isInferred(const" 985] -[ebrowse-ms "isMacro" () 0 "src/domnav.cc" "isMacro(const" 1085 0 "src/domnav.cc" "isMacro(const" 1085] -[ebrowse-ms "isOperator" () 0 "src/domnav.cc" "isOperator(const" 1553 0 "src/domnav.cc" "isOperator(const" 1553] -[ebrowse-ms "isPrimes" () 0 "src/domnav.cc" "isPrimes(const" 1451 0 "src/domnav.cc" "isPrimes(const" 1451] -[ebrowse-ms "isSb" () 0 "src/domnav.cc" "isSb(const" 1291 0 "src/domnav.cc" "isSb(const" 1291] -[ebrowse-ms "isSp" () 0 "src/domnav.cc" "isSp(const" 1369 0 "src/domnav.cc" "isSp(const" 1369] -[ebrowse-ms "isUnicodeAlpha" () 2 "src/dom.hh" "inline bool isUnicodeAlpha(TChar" 303 0 "src/dom.hh" "inline bool isUnicodeAlpha(TChar" 303] -[ebrowse-ms "isUnicodeDigit" () 2 "src/dom.hh" "inline bool isUnicodeDigit(TChar" 408 0 "src/dom.hh" "inline bool isUnicodeDigit(TChar" 408] -[ebrowse-ms "isUnicodeSpace" () 2 "src/dom.hh" "inline bool isUnicodeSpace(TChar" 198 0 "src/dom.hh" "inline bool isUnicodeSpace(TChar" 198] -[ebrowse-ms "main" () 0 "src/texlexer.cc" "main()" 51 0 "src/texlexer.cc" "main()" 51] -[ebrowse-ms "prevLinearSibling" () 0 "src/domnav.cc" "prevLinearSibling(const" 324 0 "src/domnav.cc" "prevLinearSibling(const" 324] -[ebrowse-ms "replace" () 0 "src/domnav.cc" "replace(const" 834 0 "src/domnav.cc" "replace(const" 834] -[ebrowse-ms "tokenize" () 0 "src/tokenizer.hh" "std::vector tokenize(const" 123 0 () () 0] -) -([ebrowse-ms "undefinedEntry" () 0 () () 0 0 "src/TDictionary.cc" "static TDictionary::Entry undefinedEntry;" 132] -) -() -([ebrowse-ms "Ptr_hh" () 512 () () 0 0 "src/Ptr.hh" "#define Ptr_hh -" 1036] -[ebrowse-ms "TML_NS_URI" () 512 () () 0 0 "src/globals.hh" "#define TML_NS_URI " 67] -[ebrowse-ms "XMLNS_NS_URI" () 512 () () 0 0 "src/globals.hh" "#define XMLNS_NS_URI " 123] -[ebrowse-ms "__APushLexer_hh__" () 512 () () 0 0 () "#define __APushLexer_hh__ -" 53] -[ebrowse-ms "__APushParser_hh__" () 512 () () 0 0 "src/APushParser.hh" "#define __APushParser_hh__ -" 55] -[ebrowse-ms "__TCharStreamString_hh__" () 512 () () 0 0 "src/TCharStreamString.hh" "#define __TCharStreamString_hh__ -" 67] -[ebrowse-ms "__TCharStream_hh__" () 512 () () 0 0 "src/TCharStream.hh" "#define __TCharStream_hh__ -" 55] -[ebrowse-ms "__TDictionary_hh__" () 512 () () 0 0 "src/TDictionary.hh" "#define __TDictionary_hh__ -" 55] -[ebrowse-ms "__TDocument_hh__" () 512 () () 0 0 "src/TDocument.hh" "#define __TDocument_hh__ -" 51] -[ebrowse-ms "__TNode_hh__" () 512 () () 0 0 "src/TNode.hh" "#define __TNode_hh__ -" 43] -[ebrowse-ms "__TObject_hh__" () 512 () () 0 0 "src/TObject.hh" "#define __TObject_hh__ -" 47] -[ebrowse-ms "__TPushLexer_hh__" () 512 () () 0 0 "src/TPushLexer.hh" "#define __TPushLexer_hh__ -" 53] -[ebrowse-ms "__TPushParser_hh__" () 512 () () 0 0 "src/TPushParser.hh" "#define __TPushParser_hh__ -" 55] -[ebrowse-ms "__TToken_hh__" () 512 () () 0 0 "src/TToken.hh" "#define __TToken_hh__ -" 45] -[ebrowse-ms "__TTokenizer_hh__" () 512 () () 0 0 "src/TTokenizer.hh" "#define __TTokenizer_hh__ -" 53] -[ebrowse-ms "__dom_hh__" () 512 () () 0 0 "src/dom.hh" "#define __dom_hh__ -" 39] -[ebrowse-ms "__globals_hh__" () 512 () () 0 0 "src/globals.hh" "#define __globals_hh__ -" 47] -[ebrowse-ms "__tokenzier_hh__" () 512 () () 0 0 "src/tokenizer.hh" "#define __tokenzier_hh__ -" 51] -) -([ebrowse-ms "TChar" () 0 () () 0 0 "src/dom.hh" "typedef DOM::Char32 TChar;" 131] -[ebrowse-ms "TString" () 0 () () 0 0 "src/dom.hh" "typedef DOM::UCS4String TString;" 164] -) -()() -][ebrowse-ts [ebrowse-cs "ProxyAttr" "TNode" 0"src/TNode.hh" " class ProxyAttr - {" 765"src/TNode.hh" ] -()([ebrowse-ms "name" () 0 () " std::string name;" 1155 2 () () 0] -[ebrowse-ms "node" () 0 () " DOM::Element node;" 1132 2 () () 0] -) -([ebrowse-ms "ProxyAttr" () 0 () "r(const DOM::Element& n, const std::string& s) :" 795 0 () "r(const DOM::Element& n, const std::string& s) :" 795] -[ebrowse-ms "operator =" () 0 () " ProxyAttr& operator=(const" 959 0 () " ProxyAttr& operator=(const" 959] -[ebrowse-ms "operator ==" () 0 () " bool operator==(const" 1040 0 () " bool operator==(const" 1040] -[ebrowse-ms "string" () 4 () " operator std::string()" 885 0 () " operator std::string()" 885] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "EventListener" "DOM" 0() () 0() ] -([ebrowse-ts [ebrowse-cs "DOMSubtreeModifiedListener" "TDocument" 0"src/TDocument.hh" " class DOMSubtreeModifiedListener :" 1015"src/TDocument.hh" ] -()([ebrowse-ms "doc" () 0 () " TDocument doc;" 1247 2 () () 0] -) -([ebrowse-ms "DOMSubtreeModifiedListener" () 0 () "DOMSubtreeModifiedListener(const TDocument& d) :" 1092 0 () "DOMSubtreeModifiedListener(const TDocument& d) :" 1092] -[ebrowse-ms "handleEvent" () 1 () " virtual void handleEvent(const" 1202 0 () () 0] -[ebrowse-ms "~DOMSubtreeModifiedListener" () 1 () " virtual ~DOMSubtreeModifiedListener()" 1162 0 () " virtual ~DOMSubtreeModifiedListener()" 1162] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TDocument" () 0"src/TDocument.hh" "class TDocument :" 108"src/TDocument.hh" ] -()([ebrowse-ms "dirty" () 0 () " DOM::Element dirty;" 971 2 () () 0] -[ebrowse-ms "doc" () 0 () " DOM::Document doc;" 949 2 () () 0] -) -([ebrowse-ms "TDocument" () 0 () " TDocument(void);" 162 0 "src/TDocument.cc" "TDocument::TDocument() -{" 108] -[ebrowse-ms "create" () 4 () " TNode create(const" 202 0 "src/TDocument.cc" "TDocument::create(const" 789] -[ebrowse-ms "createC" () 4 () " TNode createC(const" 327 0 "src/TDocument.cc" "TDocument::createC(const" 1062] -[ebrowse-ms "createG" () 4 () " TNode createG(unsigned" 262 0 () " TNode createG(unsigned" 262] -[ebrowse-ms "createI" () 4 () " TNode createI(const" 461 0 () " TNode createI(const" 461] -[ebrowse-ms "createN" () 4 () " TNode createN(const" 561 0 () " TNode createN(const" 561] -[ebrowse-ms "createO" () 4 () " TNode createO(const" 661 0 () " TNode createO(const" 661] -[ebrowse-ms "createT" () 4 () " TNode createT(const" 384 0 "src/TDocument.cc" "TDocument::createT(const" 1197] -[ebrowse-ms "dirtyIdNode" () 4 () " TNode dirtyIdNode(void" 872 0 "src/TDocument.cc" "TDocument::dirtyIdNode()" 2081] -[ebrowse-ms "dirtyNode" () 4 () " TNode dirtyNode(void" 821 0 () " TNode dirtyNode(void" 821] -[ebrowse-ms "handleEvent" () 1 () " virtual void handleEvent(const" 1293 2 "src/TDocument.cc" "TDocument::handleEvent(const" 2348] -[ebrowse-ms "root" () 0 () " TNode root(void" 758 0 () " TNode root(void" 758] -[ebrowse-ms "serialize" () 4 () " void serialize(const" 904 0 "src/TDocument.cc" "TDocument::serialize(const" 637] -[ebrowse-ms "~TDocument" () 0 () " ~TDocument()" 179 0 "src/TDocument.cc" "TDocument::~TDocument()" 460] -) -() -([ebrowse-ms "findCommonAncestor" () 0 () " static DOM::Node findCommonAncestor(const" 1398 2 "src/TDocument.cc" "TDocument::findCommonAncestor(const" 1560] -[ebrowse-ms "nodeDepth" () 0 () " static unsigned nodeDepth(const" 1341 2 "src/TDocument.cc" "TDocument::nodeDepth(const" 1362] -) -() -() -()() -])() -() -() -() -() -() -()() -] \ No newline at end of file diff --git a/helm/DEVEL/mathml_editor/BUGS b/helm/DEVEL/mathml_editor/BUGS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/mathml_editor/BUGS-GDOME2 b/helm/DEVEL/mathml_editor/BUGS-GDOME2 deleted file mode 100644 index 5f756359f..000000000 --- a/helm/DEVEL/mathml_editor/BUGS-GDOME2 +++ /dev/null @@ -1,4 +0,0 @@ - -* /usr/lib is given by gdome-config -* should optimize event propagation, remember only those nodes with - listeners diff --git a/helm/DEVEL/mathml_editor/ChangeLog b/helm/DEVEL/mathml_editor/ChangeLog deleted file mode 100644 index 95f5681b7..000000000 --- a/helm/DEVEL/mathml_editor/ChangeLog +++ /dev/null @@ -1,55 +0,0 @@ -editex (0.0.4-3) unstable; urgency=low - - * Debugging printf commented out - - -- Claudio Sacerdoti Coen Fri, 07 Nov 2003 13:52:01 +0200 - -editex (0.0.4-2) unstable; urgency=low - - * Use .o objects from .libs directory so that they are PIC - (should fix build failure on hppa) - - -- Stefano Zacchiroli Tue, 21 Oct 2003 14:53:01 +0200 - -editex (0.0.4-1) unstable; urgency=low - - * New upstream release - * Rebuilt with ocaml 3.07, gmetadom 0.2.1, gtkmathview 0.5.1, - gdome-2xslt 0.0.6, lablgtk 1.2.6 - * Use debian/compat instead of DH_COMPAT - - -- Stefano Zacchiroli Fri, 10 Oct 2003 09:57:02 +0200 - -editex (0.0.3-2) unstable; urgency=low - - * Signed by me - * debian/control - - added ${misc:Depends} - - bumped standards-version to 3.5.10 - - bumped dependencies on gmetadom to 0.1.9 - - changed section of -dev package to libdevel - - -- Stefano Zacchiroli Wed, 25 Jun 2003 18:26:11 +0200 - -editex (0.0.3-1) unstable; urgency=low - - * New upstream release. - * Bug fix: tml-litex.xsl was not installed - * Bug fix: Makefile.ac did not use pkg-config to look for the existence - of the required packages (that, in the meantime, started using pkg-config) - As a result, the required packages were no longer detected by ./configure - - -- Claudio Sacerdoti Coen Thu, 19 Jun 2003 12:58:21 +0200 - -editex (0.0.2-1) unstable; urgency=low - - * New upstream release. - - -- Claudio Sacerdoti Coen Thu, 19 Jun 2003 12:58:21 +0200 - -editex (0.0.1-1) unstable; urgency=low - - * Initial Release. - - -- Stefano Zacchiroli Wed, 02 Apr 2003 15:53:25 +0200 - diff --git a/helm/DEVEL/mathml_editor/LICENSE b/helm/DEVEL/mathml_editor/LICENSE deleted file mode 100644 index 567f3dc4c..000000000 --- a/helm/DEVEL/mathml_editor/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - diff --git a/helm/DEVEL/mathml_editor/MODES b/helm/DEVEL/mathml_editor/MODES deleted file mode 100644 index 39032e3eb..000000000 --- a/helm/DEVEL/mathml_editor/MODES +++ /dev/null @@ -1,25 +0,0 @@ - -there are two basic syntactic modes: - -TeX mode: - -* any letter is an identifier by itself - -Program mode: - -* sequences of letters (and possibly other characters) - are collapsed into a single token. Id tokens are separated - by any other character not included in one of the collapsing - categories. - -The mode is a property of the parser. - -there are two basic semantic modes: - -math mode: - -* implicit operator is multiplication - -program mode: - -* implicit operator is function application diff --git a/helm/DEVEL/mathml_editor/Makefile.am b/helm/DEVEL/mathml_editor/Makefile.am deleted file mode 100644 index aa15ecbef..000000000 --- a/helm/DEVEL/mathml_editor/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -DISTDIR = @PACKAGE@-@VERSION@ - -EXTRA_DIST = BUGS LICENSE BUGS-GDOME2 MODES PATTERNS aclocal.m4 editex.pc.in debian -SUBDIRS = src test ocaml textomml xsl dict -CLEANFILES = core - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = editex.pc - -backup: - cd ..; tar cvfz @PACKAGE@-@VERSION@-`date|tr ' ' '_'|tr ':' '_'`.tar.gz @PACKAGE@ - -cleanbak: - -rm -f `find . -name "*~"` - -lc: - @( \ - CFILES=`find . -name "*.c"`; \ - HFILES=`find . -name "*.h"`; \ - CCFILES=`find . -name "*.cc"`; \ - HHFILES=`find . -name "*.hh"`; \ - ICCFILES=`find . -name "*.icc"`; \ - wc -l $$CFILES $$HFILES $$CCFILES $$HHFILES $$ICCFILES | tail -n 1 \ - ) - -deb: dist - if [ -d $(DISTDIR)/ ]; then rm -rf $(DISTDIR); else true; fi - tar xvzf $(DISTDIR).tar.gz - (cd $(DISTDIR)/ && rm -rf debian/CVS/ && debuild) - rm -rf $(DISTDIR) - diff --git a/helm/DEVEL/mathml_editor/Makefile.in b/helm/DEVEL/mathml_editor/Makefile.in deleted file mode 100644 index b66feab8e..000000000 --- a/helm/DEVEL/mathml_editor/Makefile.in +++ /dev/null @@ -1,438 +0,0 @@ -# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AS = @AS@ -CC = @CC@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EDITEX_VERSION_INFO = @EDITEX_VERSION_INFO@ -EXEEXT = @EXEEXT@ -GDOMEXSLT_CFLAGS = @GDOMEXSLT_CFLAGS@ -GDOMEXSLT_LIBS = @GDOMEXSLT_LIBS@ -GMETADOM_CFLAGS = @GMETADOM_CFLAGS@ -GMETADOM_LIBS = @GMETADOM_LIBS@ -GTKMATHVIEW_CFLAGS = @GTKMATHVIEW_CFLAGS@ -GTKMATHVIEW_LIBS = @GTKMATHVIEW_LIBS@ -HAVE_OCAMLC = @HAVE_OCAMLC@ -HAVE_OCAMLDEP = @HAVE_OCAMLDEP@ -HAVE_OCAMLFIND = @HAVE_OCAMLFIND@ -HAVE_OCAMLMKLIB = @HAVE_OCAMLMKLIB@ -HAVE_OCAMLOPT = @HAVE_OCAMLOPT@ -LDFLAGS = @LDFLAGS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -MAKEINFO = @MAKEINFO@ -MLGDOME_CFLAGS = @MLGDOME_CFLAGS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OCAMLC = @OCAMLC@ -OCAMLDEP = @OCAMLDEP@ -OCAMLFIND = @OCAMLFIND@ -OCAMLMKLIB = @OCAMLMKLIB@ -OCAMLOPT = @OCAMLOPT@ -OCAMLSTDLIBDIR = @OCAMLSTDLIBDIR@ -OCAMLSTUBDIR = @OCAMLSTUBDIR@ -OCAML_INCLUDE_DIR = @OCAML_INCLUDE_DIR@ -PACKAGE = @PACKAGE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ - -EXTRA_DIST = BUGS LICENSE aclocal.m4 -SUBDIRS = src test ocaml textomml -CLEANFILES = core - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = editex.pc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = editex.pc -DATA = $(pkgconfig_DATA) - -DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ -Makefile.am Makefile.in NEWS TODO aclocal.m4 config.guess config.h.in \ -config.sub configure configure.ac editex.pc.in install-sh ltmain.sh \ -missing mkinstalldirs - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) - cd $(top_builddir) \ - && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status - -$(ACLOCAL_M4): configure.ac - cd $(srcdir) && $(ACLOCAL) - -config.status: $(srcdir)/configure.ac $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) - -config.h: stamp-h - @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ - else :; fi -stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h \ - $(SHELL) ./config.status - @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.h.in: $(srcdir)/stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/stamp-h.in; \ - $(MAKE) $(srcdir)/stamp-h.in; \ - else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null - -mostlyclean-hdr: - -clean-hdr: - -distclean-hdr: - -rm -f config.h - -maintainer-clean-hdr: -editex.pc: $(top_builddir)/config.status editex.pc.in - cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status - -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir) - @list='$(pkgconfig_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \ - fi; fi; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - list='$(pkgconfig_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" = "." && dot_seen=yes; \ - done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - -rm -rf $(distdir) - GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - dc_install_base=`cd $(distdir)/=inst && pwd`; \ - cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) dist - -rm -rf $(distdir) - @banner="$(distdir).tar.gz is ready for distribution"; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes" -dist: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -dist-all: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -distdir: $(DISTFILES) - -rm -rf $(distdir) - mkdir $(distdir) - -chmod 777 $(distdir) - here=`cd $(top_builddir) && pwd`; \ - top_distdir=`cd $(distdir) && pwd`; \ - distdir=`cd $(distdir) && pwd`; \ - cd $(top_srcdir) \ - && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ - || exit 1; \ - fi; \ - done -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive -check-am: all-am -check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -all-recursive-am: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -install-exec-am: -install-exec: install-exec-recursive - -install-data-am: install-pkgconfigDATA -install-data: install-data-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: uninstall-pkgconfigDATA -uninstall: uninstall-recursive -all-am: Makefile $(DATA) config.h -all-redirect: all-recursive-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir) - - -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-recursive - -clean-am: clean-hdr clean-tags clean-generic mostlyclean-am - -clean: clean-recursive - -distclean-am: distclean-hdr distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-recursive - -rm -f config.status - -maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-recursive - -rm -f config.status - -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -uninstall-pkgconfigDATA install-pkgconfigDATA install-data-recursive \ -uninstall-data-recursive install-exec-recursive \ -uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ -all-recursive check-recursive installcheck-recursive info-recursive \ -dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ -install-exec-am install-exec install-data-am install-data install-am \ -install uninstall-am uninstall all-redirect all-am all installdirs-am \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -backup: - cd ..; tar cvfz @PACKAGE@-@VERSION@-`date|tr ' ' '_'|tr ':' '_'`.tar.gz @PACKAGE@ - -cleanbak: - -rm -f `find . -name "*~"` - -lc: - @( \ - CFILES=`find . -name "*.c"`; \ - HFILES=`find . -name "*.h"`; \ - CCFILES=`find . -name "*.cc"`; \ - HHFILES=`find . -name "*.hh"`; \ - ICCFILES=`find . -name "*.icc"`; \ - wc -l $$CFILES $$HFILES $$CCFILES $$HHFILES $$ICCFILES | tail -n 1 \ - ) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/helm/DEVEL/mathml_editor/NEWS b/helm/DEVEL/mathml_editor/NEWS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/mathml_editor/PATTERNS b/helm/DEVEL/mathml_editor/PATTERNS deleted file mode 100644 index 0e5814d82..000000000 --- a/helm/DEVEL/mathml_editor/PATTERNS +++ /dev/null @@ -1,196 +0,0 @@ - -identifier # - - insert(#) - -number # - - insert(#) - -\sqrt - - replace($, $) - -\root - - replace($, $) - -\of - - when (isa($.parent, "mrow") && isa($.parent.parent, "mroot")) - let mroot = $.parent.parent - if ($.prev and !$.prev.prev and !$.next) replace($.parent, $.prev) - replace(mroot.child[0], $) - -\underline - - insert([$, _]) - -\overline - - insert([$, ]) - -\cases - - replace($, {$) - -\matrix - - replace($, $) - -\over - - if isa($.parent, "mrow") - replace($.parent, [$.parent, $]) - - -_ if isa($.parent, "mrow") - if eq($.prev, null) - replace($, new(mmultiscripts, [ new mrow, $, new none ])) - elseif (isa($.prev, msub)) - let base = $.prev.children[0] - let script = $.prev.children[1] - replace($.rev, new(mmultiscripts, [ base, script, new none, $, new none ])) - elseif (isa($.prev, msup)) - let base = $.prev.children[0] - let script = $.prev.children[1] - replace($.prev, new(msubsup, [ base, $, script ])) - elseif (isa($.prev, msubsup)) - let base = $.prev.children[0] - let subscript = $.prev.children[1] - let superscript = $.prev.children[2] - replace($.prev, new(mmultiscripts, [ base, subscript, superscript, $, new none ])) - elseif isa($.prev, mmultiscripts) - if ($.prev.children[$.prev.children.size - 2] = null) - replace($.prev.children[$.prev.children.size - 2], $) - else - $.prev.children.append([$, new none]) - else - replace($.prev, new(msub, [ $.prev, $ ])) - else if isa($.parent, msub) and $.parent.children[1] = $ - let base = $.parent.children[0] - replace($.parent, new(munder, [ base, $ ])) - - -_, \sb (subscript) - - if parent.isa(mrow) - if cursor is first child then - sub = new mmultiscripts - parent.replace(cursor, sub); - sub.set_base(new mrow); - sub.set_subscript(cursor); - else - elem = element prior to cursor in parent - if elem.isa(msub) || elem.isa(msup) || elem.isa(mmultiscripts) then - append script to multiscript and/or replace single script with - multiscript - else if elem.isa(munder) || elem.isa(mover) || elem.isa(munderover) then - creates another munder - else - parent.replace(elem, sub); - sub.set_base(elem); - sub.set_subscript(cursor); - else if (parent.isa(msub) and cursor is subscript) or - change msub into a munder - cursor in same position - else - replace cursor with msub with empty base - -^, \sp (superscript) - - symmetric to subscript - -', \prime (prime) - - similar to superscript, but multiple prime superscripts should go - together in the same operator - -{ (group open) - - replace cursor with mrow, put cursor inside mrow - if cursor is inside a table, create a new table row and a new table cell - and put the cursor inside the cell - -} (group close) - - remove cursor from mrow - mrow.parent.advance(cursor, mrow) - if cursor inside a table cell then close table - -\over,\atop,\above (fraction) - - if cursor.parent.isa(mrow) then - frac = new mfrac - cursor.parent.parent.replace(mrow, frac) - numerator is current content of cursor.parent except for the cursor - itself. - set denominator to cursor - else - -\choose - - similar to fractions, but with stretchable parentheses around - -\sqrt - - parent.replace(cursor, new msqrt) - set new msqrt.base to cursor - -\root - - parent.replace(cursor, new mroot) - set empty base element - set root index to cursor - -\of - - check if cursor.parent is mroot (or mrow inside mroot index) - or and cursor is in index position. move the cursor to the base element - -\underline - - create munder element with stretchable horizontal line as underscript - substitute cursor with munder - move the cursor in the base element - -\overline - - symmetric - -accents (\hat) - - create an mover with accent=true and the operator has stretchy=false - -wide accents (\widehat) - - as accents, but mover has accent=false and the operator has stretchy=true - -\scriptstyle, ... - - create an appropriate mstyle, the cursor moves in. However, when the - subformula ends one has to skip the mstyle - -\cases - - create mrow with stretchable brace and emtpy table, put cursor inside - table - -\matrix - - create empty table, cursor inside table - -& - - check that cursor is inside a table cell - create a new cell next to it - -\cr - - check that cursor is inside a table cell inside a table row - create a new row - -\phantom - - create a mphantom element, cursor inside - diff --git a/helm/DEVEL/mathml_editor/README b/helm/DEVEL/mathml_editor/README deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/mathml_editor/TML.dtd b/helm/DEVEL/mathml_editor/TML.dtd deleted file mode 100644 index 74760bb45..000000000 --- a/helm/DEVEL/mathml_editor/TML.dtd +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/TODO b/helm/DEVEL/mathml_editor/TODO deleted file mode 100644 index 701ec4673..000000000 --- a/helm/DEVEL/mathml_editor/TODO +++ /dev/null @@ -1,13 +0,0 @@ - -* add param node in the TML with the name of the parameter -* add space node? active node? -* add alt boolean to all deleting methods -* implement a mechanism that allows the definition of new macros -* add open-group close-group attributes in the dictionary and handle them -* implement macro completion - -BUGS -* $1\over{2}$ does not work - -* compare pure_subst/pure_diff/subst_diff performances - diff --git a/helm/DEVEL/mathml_editor/configure.ac b/helm/DEVEL/mathml_editor/configure.ac deleted file mode 100644 index e1972fd90..000000000 --- a/helm/DEVEL/mathml_editor/configure.ac +++ /dev/null @@ -1,187 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(editex, [0.0.5]) -AC_CONFIG_SRCDIR(src/TToken.hh) -AM_INIT_AUTOMAKE($AC_PACKAGE_NAME, $AC_PACKAGE_VERSION) - -PACKAGE=$PACKAGE_NAME -VERSION=$PACKAGE_VERSION -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) - -EDITEX_VERSION_INFO=`echo $VERSION | awk -F. '{ printf "%d:%d:%d", $1+$2, $3, $2 }'` -AC_SUBST(EDITEX_VERSION_INFO) - -AC_ARG_ENABLE( - profile, - [ --enable-profile[=ARG] include profiling information [default=no]], - profile=$enableval, - profile=no -) - -AC_ARG_ENABLE( - debug, - [ --enable-debug[=ARG] include debugging debug [default=yes]], - enable_debug=$enableval, - enable_debug=yes -) - -if test "x$enable_debug" = "xyes"; then - AC_DEFINE(ENABLE_DEBUG,,[Define to 1 if you want to enable validity checks while running]) -fi - -GMETADOM_PREFIX="" -AC_ARG_WITH(gmetadom-prefix, - [ --with-gmetadom-prefix=[PFX] Specify location of gmetadom], - GMETADOM_PREFIX=$withval -) - -dnl AC_CONFIG_HEADERS([config.h]) -AM_CONFIG_HEADER(config.h) - -AH_TOP([ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2004 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef config_h -#define config_h -]) - -AH_BOTTOM([ -#endif /* config_h */ -]) - -AC_PROG_CC -AC_PROG_CXX -AC_PROG_INSTALL -AC_HEADER_STDC([]) - -AC_LANG_PUSH(C++) -AC_CHECK_HEADERS(hash_map) -AC_CHECK_HEADERS(ext/hash_map) -AC_LANG_POP(C++) - -AC_SUBST(CFLAGS) -AC_SUBST(CPPFLAGS) -AC_SUBST(LDFLAGS) - -AM_PROG_LIBTOOL - -dnl PKG_CHECK_MODULES(GLIB2, glib-2.0) -dnl AC_SUBST(GLIB2_CFLAGS) -dnl AC_SUBST(GLIB2_LIBS) - -PKG_CHECK_MODULES(GMETADOM,gdome2-cpp-smart) -AC_SUBST(GMETADOM_CFLAGS) -AC_SUBST(GMETADOM_LIBS) - -PKG_CHECK_MODULES(GDOMEXSLT,gdome2-xslt-cpp-smart) -AC_SUBST(GDOMEXSLT_CFLAGS) -AC_SUBST(GDOMEXSLT_LIBS) - -PKG_CHECK_MODULES(GTKMATHVIEW,gtkmathview-gmetadom) -AC_SUBST(GTKMATHVIEW_CFLAGS) -AC_SUBST(GTKMATHVIEW_LIBS) - -AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no) -if test $HAVE_OCAMLC = "no"; then - AC_MSG_ERROR([could not find ocamlc in PATH, please make sure ocaml is installed]) -else - OCAMLC=ocamlc - OCAMLSTDLIBDIR="`ocamlc -where`" - OCAMLSTUBDIR="`ocamlc -where`/stublibs" - AC_SUBST(OCAMLC) - AC_SUBST(OCAMLSTDLIBDIR) - AC_SUBST(OCAMLSTUBDIR) -fi - -AC_CHECK_PROG(HAVE_OCAMLOPT, ocamlopt, yes, no) -if test $HAVE_OCAMLOPT = "no"; then - AC_MSG_WARN([ocaml native libraries won't be compiled since ocamlopt was not found]) -else - OCAMLOPT=ocamlopt - AC_SUBST(OCAMLOPT) -fi -AM_CONDITIONAL(HAVE_OCAMLOPT_COND, test x$HAVE_OCAMLOPT = xyes) - -AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no) -if test $HAVE_OCAMLFIND = "no"; then - AC_MSG_ERROR([could not find ocamlfind in PATH, please make sure findlib is installed]) -else - OCAMLFIND=ocamlfind - AC_SUBST(OCAMLFIND) -fi - -AC_CHECK_PROG(HAVE_OCAMLDEP, ocamldep, yes, no) -if test $HAVE_OCAMLDEP = "yes"; then - OCAMLDEP=ocamldep - AC_SUBST(OCAMLDEP) -fi - -AC_CHECK_PROG(HAVE_OCAMLMKLIB, ocamlmklib, yes, no) -if test $HAVE_OCAMLMKLIB = "no"; then - AC_MSG_ERROR([could not find ocamlmklib in PATH, please make sure ocamlmklib is installed]) -else - OCAMLMKLIB=ocamlmklib - AC_SUBST(OCAMLMKLIB) -fi -AM_CONDITIONAL(HAVE_SHAREDLIBS_COND, test x$enable_shared = xyes) - -AC_MSG_CHECKING(for gdome2 ocaml binding) -ocamlfind query gdome2 || - AC_MSG_ERROR(gdome2 not installed (according to findlib)) -MLGDOME_CFLAGS="`$OCAMLFIND query -i-format gdome2`" -AC_SUBST(MLGDOME_CFLAGS) - -AC_MSG_CHECKING(for the ocaml library dir) -OCAML_LIB_DIR=`ocamlc -where` -AC_MSG_RESULT($OCAML_LIB_DIR) - -AC_CHECK_FILE(/usr/include/caml/mlvalues.h, - OCAML_INCLUDE_DIR=/usr/include/caml, - OCAML_INCLUDE_DIR=$OCAML_LIB_DIR/caml -) - -AC_SUBST(OCAML_INCLUDE_DIR) - -if test $profile = yes; then - CFLAFS="$CFLAGS -O0 -pg" - CXXFLAGS="$CXXFLAGS -O0 -pg" - AC_DEFINE(ENABLE_PROFILE,,[Define to 1 to let the widget collect some information for profiling purposes]) -fi - -AC_CONFIG_FILES([ - Makefile - src/Makefile - src/config.dirs - test/Makefile - textomml/Makefile - textomml/config.dirs - ocaml/Makefile - ocaml/META - editex.pc - xsl/Makefile - dict/Makefile -]) -AC_OUTPUT diff --git a/helm/DEVEL/mathml_editor/debian/changelog b/helm/DEVEL/mathml_editor/debian/changelog deleted file mode 100644 index 210f5105c..000000000 --- a/helm/DEVEL/mathml_editor/debian/changelog +++ /dev/null @@ -1,91 +0,0 @@ -editex (0.0.5-3) unstable; urgency=low - - * rebuilt with ocaml 3.08 - * debian/control - - bumped ocaml deps to 3.08 - - bumped standards-version to 3.6.1.1 - - changed ocaml deps to ocaml-nox - - bumped gmetadom (ocaml part) deps to >= 0.2.1-3 (1st version - rebuilt with ocaml 3.08) - - bumped gdome xslt (ocaml part) deps to >= 0.0.6-4 (1st version - rebuilt with ocaml 3.08) - - bumped gdome xslt (C/C++ part) deps to >= 0.0.6-5 (1st version - which fixes missing-.so bug) - - -- Stefano Zacchiroli Tue, 27 Jul 2004 09:11:35 +0200 - -editex (0.0.5-2) unstable; urgency=low - - * ocaml/Makefile.am - - the .o files to be used in the dll are now taken from the .libs - subdirectoy (which presumably contains the PIC code) - (Closes: Bug#239697) - - -- Stefano Zacchiroli Thu, 25 Mar 2004 12:43:39 +0100 - -editex (0.0.5-1) unstable; urgency=low - - * New upstream release - * debian/control - - depends on libt1-dev instead of t1lib-dev - - bumped t1 dependencies to >= 5.0.0 accordingly to gtkmathview - - -- Stefano Zacchiroli Tue, 23 Mar 2004 15:38:28 +0100 - -editex (0.0.4-3) unstable; urgency=low - - * debian/control - - depends on gtkmathview 0.5.2 (Closes: Bug#218409) - - bumped standards version - - -- Stefano Zacchiroli Wed, 12 Nov 2003 17:16:56 +0100 - -editex (0.0.4-2) unstable; urgency=low - - * Use .o objects from .libs directory so that they are PIC - (should fix build failure on hppa) - - -- Stefano Zacchiroli Tue, 21 Oct 2003 14:53:01 +0200 - -editex (0.0.4-1) unstable; urgency=low - - * New upstream release - * Rebuilt with ocaml 3.07, gmetadom 0.2.1, gtkmathview 0.5.1, - gdome-2xslt 0.0.6, lablgtk 1.2.6 - * Use debian/compat instead of DH_COMPAT - - -- Stefano Zacchiroli Fri, 10 Oct 2003 09:57:02 +0200 - -editex (0.0.3-2) unstable; urgency=low - - * Signed by me - * debian/control - - added ${misc:Depends} - - bumped standards-version to 3.5.10 - - bumped dependencies on gmetadom to 0.1.9 - - changed section of -dev package to libdevel - - -- Stefano Zacchiroli Wed, 25 Jun 2003 18:26:11 +0200 - -editex (0.0.3-1) unstable; urgency=low - - * New upstream release. - * Bug fix: tml-litex.xsl was not installed - * Bug fix: Makefile.ac did not use pkg-config to look for the existence - of the required packages (that, in the meantime, started using pkg-config) - As a result, the required packages were no longer detected by ./configure - - -- Claudio Sacerdoti Coen Thu, 19 Jun 2003 12:58:21 +0200 - -editex (0.0.2-1) unstable; urgency=low - - * New upstream release. - - -- Claudio Sacerdoti Coen Thu, 19 Jun 2003 12:58:21 +0200 - -editex (0.0.1-1) unstable; urgency=low - - * Initial Release. - - -- Stefano Zacchiroli Wed, 02 Apr 2003 15:53:25 +0200 - diff --git a/helm/DEVEL/mathml_editor/debian/compat b/helm/DEVEL/mathml_editor/debian/compat deleted file mode 100644 index b8626c4cf..000000000 --- a/helm/DEVEL/mathml_editor/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/helm/DEVEL/mathml_editor/debian/control b/helm/DEVEL/mathml_editor/debian/control deleted file mode 100644 index 526039f78..000000000 --- a/helm/DEVEL/mathml_editor/debian/control +++ /dev/null @@ -1,46 +0,0 @@ -Source: editex -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>> 4.0.0), ocaml-nox-3.08, libgdome2-cpp-smart-dev (>= 0.2.1), libgdome2-ocaml-dev (>= 0.2.1-3), libgdome2-xslt-dev (>= 0.0.6-5), libgdome2-xslt-ocaml-dev (>= 0.0.6-4), ocaml-findlib, libgtkmathview-dev (>= 0.5.2), libgtk2.0-dev, libt1-dev (>= 5.0.0) -Standards-Version: 3.6.1.1 - -Package: libeditex0 -Section: libs -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: MathML editor based on TeX syntax - EdiTeX is a C library implementing a MathML editor based on TeX syntax. - . - This package includes the shared runtime objects. - -Package: libeditex-dev -Section: libdevel -Architecture: any -Depends: libeditex0 (= ${Source-Version}), libgdome2-cpp-smart-dev (>= 0.2.1), libgdome2-xslt-dev (>= 0.0.6-5), libgtk2.0-dev, libt1-dev (>= 5.0.0), ${misc:Depends} -Description: MathML editor based on TeX syntax - EdiTeX is a C library implementing a MathML editor based on TeX syntax. - . - This package includes the development files. - -Package: libeditex-ocaml -Section: libs -Architecture: any -Depends: ocaml-base-3.08, libgdome2-ocaml (>= 0.2.1-3), libgdome2-xslt-ocaml (>= 0.0.6-4), ${shlibs:Depends}, ${misc:Depends} -Description: OCaml bindings to EdiTeX, a MathML editor based on TeX syntax - EdiTeX is a C library implementing a MathML editor based on TeX syntax. - . - This are the Objective CAML bindings to EdiTeX. - . - This package includes the OCaml shared runtime objects. - -Package: libeditex-ocaml-dev -Section: libdevel -Architecture: any -Depends: libeditex-ocaml (= ${Source-Version}), libgdome2-ocaml-dev (>= 0.2.1-3), libgdome2-xslt-ocaml-dev (>= 0.0.6-4), ocaml-findlib, ${misc:Depends} -Description: OCaml bindings to EdiTeX, a MathML editor based on TeX syntax - EdiTeX is a C library implementing a MathML editor based on TeX syntax. - . - This are the Objective CAML bindings to EdiTeX. - . - This package includes the OCaml development files. - diff --git a/helm/DEVEL/mathml_editor/debian/copyright b/helm/DEVEL/mathml_editor/debian/copyright deleted file mode 100644 index 310cde409..000000000 --- a/helm/DEVEL/mathml_editor/debian/copyright +++ /dev/null @@ -1,23 +0,0 @@ -This package was debianized by Stefano Zacchiroli on -Thu, 20 Mar 2003 18:09:22 +0100. - -It was downloaded from: - - http://www.cs.unibo.it/cgi-bin/cvsweb/helm/DEVEL/mathml_editor/ - -Upstream Authors: - Luca Padovani - Paolo Marinelli - -Copyright: - - This library is distributed under the term of the GNU Lesser General - Public License (LGPL). - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - On a Debian GNU/Linux system, the LGPL can be found as - /usr/share/common-licenses/LGPL-2.1. diff --git a/helm/DEVEL/mathml_editor/debian/docs b/helm/DEVEL/mathml_editor/debian/docs deleted file mode 100644 index 4a84a8c2c..000000000 --- a/helm/DEVEL/mathml_editor/debian/docs +++ /dev/null @@ -1,7 +0,0 @@ -BUGS -BUGS-GDOME2 -MODES -NEWS -PATTERNS -README -TODO diff --git a/helm/DEVEL/mathml_editor/debian/libeditex-dev.files b/helm/DEVEL/mathml_editor/debian/libeditex-dev.files deleted file mode 100644 index 1d5afcf6e..000000000 --- a/helm/DEVEL/mathml_editor/debian/libeditex-dev.files +++ /dev/null @@ -1,5 +0,0 @@ -usr/lib/pkgconfig -usr/include -usr/lib/*.a -usr/lib/*.la -usr/lib/*.so diff --git a/helm/DEVEL/mathml_editor/debian/libeditex-ocaml-dev.files b/helm/DEVEL/mathml_editor/debian/libeditex-ocaml-dev.files deleted file mode 100644 index 35a6c8d64..000000000 --- a/helm/DEVEL/mathml_editor/debian/libeditex-ocaml-dev.files +++ /dev/null @@ -1,3 +0,0 @@ -usr/lib/ocaml/3.08/mathml-editor -usr/lib/ocaml/3.08/stublibs/lib*.so -usr/lib/ocaml/3.08/stublibs/dll*.so.owner diff --git a/helm/DEVEL/mathml_editor/debian/libeditex-ocaml.files b/helm/DEVEL/mathml_editor/debian/libeditex-ocaml.files deleted file mode 100644 index 91bd7c8a0..000000000 --- a/helm/DEVEL/mathml_editor/debian/libeditex-ocaml.files +++ /dev/null @@ -1 +0,0 @@ -usr/lib/ocaml/3.08/stublibs/dll*.so diff --git a/helm/DEVEL/mathml_editor/debian/libeditex0.files b/helm/DEVEL/mathml_editor/debian/libeditex0.files deleted file mode 100644 index 213e11b2f..000000000 --- a/helm/DEVEL/mathml_editor/debian/libeditex0.files +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/*.so.* -usr/share diff --git a/helm/DEVEL/mathml_editor/debian/rules b/helm/DEVEL/mathml_editor/debian/rules deleted file mode 100755 index 933fd24d2..000000000 --- a/helm/DEVEL/mathml_editor/debian/rules +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - INSTALL_PROGRAM += -s -endif - -config.status: configure - dh_testdir - ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info - -build: build-stamp -build-stamp: config.status - dh_testdir - - $(MAKE) - - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - - -$(MAKE) distclean -# ifneq "$(wildcard /usr/share/misc/config.sub)" "" -# cp -f /usr/share/misc/config.sub config.sub -# endif -# ifneq "$(wildcard /usr/share/misc/config.guess)" "" -# cp -f /usr/share/misc/config.guess config.guess -# endif - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp - dh_movefiles - -binary-arch: build install - dh_testdir -s - dh_testroot -s - dh_installchangelogs -s ChangeLog - dh_installdocs -s -# dh_installexamples -s -# dh_installinfo -s - dh_link -s - dh_strip -s - dh_compress -s - dh_fixperms -s - dh_makeshlibs -p libeditex0 - dh_installdeb -s - dh_shlibdeps -s - dh_gencontrol -s - dh_md5sums -s - dh_builddeb -s - -binary: binary-arch -.PHONY: build clean binary-arch binary install diff --git a/helm/DEVEL/mathml_editor/dict/.cvsignore b/helm/DEVEL/mathml_editor/dict/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/helm/DEVEL/mathml_editor/dict/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/helm/DEVEL/mathml_editor/dict/Makefile.am b/helm/DEVEL/mathml_editor/dict/Makefile.am deleted file mode 100644 index f4246e40c..000000000 --- a/helm/DEVEL/mathml_editor/dict/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -pkgdata_DATA = dictionary-basic.xml dictionary-test.xml dictionary-tex.xml dictionary.dtd -EXTRA_DIST = dictionary-basic.xml dictionary-test.xml dictionary-tex.xml dictionary.dtd diff --git a/helm/DEVEL/mathml_editor/dict/dictionary-basic.xml b/helm/DEVEL/mathml_editor/dict/dictionary-basic.xml deleted file mode 100644 index ed2e26461..000000000 --- a/helm/DEVEL/mathml_editor/dict/dictionary-basic.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/dict/dictionary-test.xml b/helm/DEVEL/mathml_editor/dict/dictionary-test.xml deleted file mode 100644 index 3fcc05694..000000000 --- a/helm/DEVEL/mathml_editor/dict/dictionary-test.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/dict/dictionary-tex.xml b/helm/DEVEL/mathml_editor/dict/dictionary-tex.xml deleted file mode 100644 index 47995454f..000000000 --- a/helm/DEVEL/mathml_editor/dict/dictionary-tex.xml +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/dict/dictionary.dtd b/helm/DEVEL/mathml_editor/dict/dictionary.dtd deleted file mode 100644 index 3fefc71fe..000000000 --- a/helm/DEVEL/mathml_editor/dict/dictionary.dtd +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/doc/.cvsignore b/helm/DEVEL/mathml_editor/doc/.cvsignore deleted file mode 100644 index 44d749510..000000000 --- a/helm/DEVEL/mathml_editor/doc/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -spec.aux -spec.dvi -spec.log -spec.ps -*~ diff --git a/helm/DEVEL/mathml_editor/doc/spec.tex b/helm/DEVEL/mathml_editor/doc/spec.tex deleted file mode 100644 index a9ccdc263..000000000 --- a/helm/DEVEL/mathml_editor/doc/spec.tex +++ /dev/null @@ -1,973 +0,0 @@ -\documentclass[10pt]{article} - -\usepackage{a4wide} -\usepackage{palatino} -\usepackage{euler} -\usepackage{amssymb} -\usepackage{stmaryrd} -\usepackage{wasysym} - -\title{\EdiTeX: a MathML Editor Based on \TeX{} Syntax\\\small Description and Formal Specification} -\author{Paolo Marinelli\\Luca Padovani\\\small\{{\tt pmarinel},{\tt lpadovan}\}{\tt @cs.unibo.it}\\\small Department of Computer Science\\\small University of Bologna} -\date{} - -\newcommand{\EdiTeX}{Edi\TeX} - -\newcommand{\tmap}[1]{\llbracket#1\rrbracket} -\newcommand{\tadvance}{\vartriangle} -\newcommand{\tnext}{\rhd} -\newcommand{\G}{\texttt{g}} -\newcommand{\PNODE}{\texttt{p}} -\newcommand{\SNODE}{\texttt{s}} -\newcommand{\INODE}{\texttt{i}} -\newcommand{\NNODE}{\texttt{n}} -\newcommand{\ONODE}{\texttt{o}} -\newcommand{\CNODE}{\texttt{c}} -\newcommand{\TABLE}{\texttt{table}} -\newcommand{\SP}{\texttt{sp}} -\newcommand{\SB}{\texttt{sb}} -\newcommand{\CELL}{\texttt{cell}} -\newcommand{\ROW}{\texttt{row}} -\newcommand{\SLDROP}{\blacktriangleleft} -\newcommand{\NLDROP}{\vartriangleleft} -\newcommand{\RDROP}{\vartriangleright} - -\begin{document} - -\maketitle - -\section{Introduction} - -MathML~\cite{MathML1,MathML2,MathML2E} is an XML application for the -representation of mathematical expressions. As most XML applications, -MathML is unsuitable to be hand-written, except for the simplest -cases, because of its verbosity. In fact, the MathML specification -explicitly states that -\begin{quote} -``While MathML is human-readable, it is anticipated that, in all but -the simplest cases, authors will use equation editors, conversion -programs, and other specialized software tools to generate MathML'' -\end{quote} - -The statement about human readability of MathML is already too strong, -as the large number of mathematical symbols, operators, and -diacritical marks that are used in mathematical notation cause MathML -documents to make extensive use of Unicode characters that typically -are not in the ``visible'' range of common text editors. Such -characters may appear as entity references, whose name indicates -somehow the kind of symbol used, or character references or they are -directly encoded in the document encoding scheme (for instance, -UTF-8). - -It is thus obvious that authoring MathML documents assumes the -assistance of dedicated tools. As of today, such tools can be -classified into two main categories: -\begin{enumerate} - \item WYSIWYG (What You See Is What You Get) editors that allow the - author to see the formatted document on the screen as it is - composed; - \item conversion tools that generate MathML markup from different - sources, typically other markup languages for scientific - documents, such as \TeX. -\end{enumerate} - -While the former tools are certainly more appealing, especially to the -unexperienced user, as they give a direct visual feedback, the -existance of tools in the second category takes into account the large -availability of existing documents in \TeX{} format, and also the fact -that experienced or ``lazy'' users may continue to prefer the use of a -markup language other than MathML for editing, and generate MathML -only as a final step of the authoring process. The ``laziness'' is not -really intended as a way of being reluctant towards a new technology, -but rather as a justified convincement that WYSIWYG editors are ``nice -to look at'' but after all they may slow down the authoring process. -WYSIWYG editors often involve the use of menus, palettes of symbols, -and, in general, an extensive use of the pointing device (the mouse) -for completing most operations. The use of shortcuts is of little -help, as it implies very soon a challenging exercise for the fingers -and the mind. Moreover, authors \emph{cannot improve} their authoring -speed with time. On the other side, the gap between the syntax of any -markup language for mathematics and mathematical notation may be -relevant, especially for large, non-trivial formulas and authoring is -a re-iterated process in which the author repeadtedly types the markup -in the editor, compiles, and looks at the result inside a pre-viewer. - -\EdiTeX{} tries to synthesize the ``best of both worlds'' in a single -tool. The basic idea is that of creating a WYSIWYG editor in which -editing is achieved by typing \TeX{} markup as the author would do in -a text editor. The \TeX{} markup is tokenized and parsed on-the-fly -and a corresponding MathML representation is created and -displayed. This way, the author can see the rendered document as it -changes. The advantages of this approach can be summarized as follows: -\begin{itemize} - \item the document is rendered concurrently with the editing, the - user has an immediate feedback hence it is easier to spot errors; - \item the author types in a concrete (and likely familiar) syntax - improving the editing speed; - \item the usual WYSIWYG mechanisms are still available. In - particular, it is possible to select \emph{visually} a fragment of - the document that needs re-editing, or that was left behind for - subsequent editing. -\end{itemize} - -\paragraph{The Name of the Game:} there is no reference to MathML in -the name ``\EdiTeX.'' In fact, the architecture of the editor is not -tied to MathML markup. Although we focus on MathML editing, by -changing a completely modularized component of the editor it is -virtually possible to generate any other markup language. - -\paragraph{Acknowledgments.} Stephen M. Watt and Igor Rodionov for -their work on the \TeX{} to MathML conversion tool; Stan Devitt for an -illuminating discussion about the architecture of \TeX{} to XML -conversion tools; Claudio Sacerdoti Coen for the valuable feedback and -uncountable bug reports. - -\section{Architecture} - -\section{Customization} - -\subsection{Short and Long Identifiers} - -\subsection{The Dictionary} - -\subsection{Stylesheets and Trasformations} - -\subsection{Rendering} - -\section{XML Representation of \TeX{} Markup} - -\section{Tokens} - -The following tokens are defined: - -\begin{tabular}{lllp{0.5\textwidth}} - \textbf{\TeX{}} & \textbf{Notation} & \textbf{Node} & \textbf{Description} \\ -\hline - \verb+{+ & $\mathrm{begin}$ & \texttt{g} & Beginning of a group \\ - \verb+}+ & $\mathrm{end}$ & & End of a group \\ - \verb+$+ & $\$$ & \texttt{math} & Math shift \\ %$ \\ - & & & End-of-line \\ - \verb+#+$i$ & $p(i)$ & \texttt{p} & Parameter \\ - \verb+^+ & $\uparrow$ & \texttt{sp} & Superscript \\ - \verb+_+ & $\downarrow$ & \texttt{sb} & Subscript \\ - & $\square$ & & Space-like character that can be ignored \\ - & $s$ & \texttt{s} & Space-like character that may be significant \\ - letter & $i(v)$ & \texttt{i} & Identifier $v$ \\ - digit & $n(v)$ & \texttt{n} & Number $v$ \\ - other & $o(v)$ & \texttt{o} & Other character or operator $v$ \\ - \verb+~+ & $\sim$ & & Active character \\ - \verb+%+ & $\%$ & & Comment \\ - control & $c(v)\langle\alpha_1,\dots,\alpha_n\rangle$ & \texttt{c} & - Control sequence $v$ that expects the $\alpha_1,\dots,\alpha_n$ sequence of tokens. \\ - backspace & $\vartriangleleft$ & & \\ - backspace & $\blacktriangleleft$ & & \\ -\end{tabular} - -%% Some tokens are mapped directly into nodes of the TML tree. The following functions shows -%% the mapping: - -\begin{tabular}{r@{\quad$=$\quad}l} - $\tmap{\{}$ & \verb+g+ \\ - $\tmap{p(i)}$ & \verb+p[@index=+$i$\verb+]+ \\ - $\tmap{p_l(i)}$ & \verb+p[@index=+$i$\verb+][@left-open='1']+ \\ - $\tmap{p_r(i)}$ & \verb+p[@index=+$i$\verb+][@right-open='1']+ \\ - $\tmap{s}$ & \verb+s+ \\ - $\tmap{\uparrow}$ & \verb+sp+ \\ - $\tmap{\downarrow}$ & \verb+sb+ \\ - $\tmap{i(v)}$ & \verb+i[@value=+$v$\verb+]+ \\ - $\tmap{n(v)}$ & \verb+n[@value=+$v$\verb+]+ \\ - $\tmap{o(v)}$ & \verb+o[@value=+$v$\verb+]+ \\ - $\tmap{c(v)\langle\alpha_1,\dots,\alpha_n\rangle}$ & \verb+c[@name=+$v$\verb+][^+$\tmap{\alpha_1}\cdots\tmap{\alpha_n}$\verb+$]+\\ -\end{tabular} -%$ - -\section{Description and Semantics of the Pattern Language} - -%% \begin{eqnarray*} -%% \mathit{NodeTest} & ::= & \mathtt{*} \\ -%% & | & \mathit{ElementType} \\ -%% & | & \mathtt{<}~\mathit{ElementTypePattern}~\mathtt{>} \\[1ex] -%% \mathit{ElementTypePattern} & ::= & \mathtt{*} \\ -%% & | & \mathit{ElementType}~(\mathtt{|}~\mathit{ElementType})^* \\ -%% & | & \mathtt{!}\mathit{ElementType}~(\mathtt{|}~\mathit{ElementType})^*\\[1ex] -%% \mathit{NodePattern} & ::= & \mathit{NodeTest}~\mathit{AttributeQualifier}^*\\[1ex] -%% \mathit{AttributeQualifier} & ::= & \mathtt{[@}\mathit{AttributeTest}\mathtt{]}\\ -%% & | & \mathtt{[!@}\mathit{AttributeTest}\mathtt{]}\\[1ex] -%% \mathit{AttributeTest} & ::= & \mathit{AttributeName} \\ -%% & | & \mathit{AttributeName}\mathtt{='}\mathit{Text}\mathtt{'} -%% \end{eqnarray*} - -\begin{table} -\[ -\begin{array}{rcl@{\hspace{3em}}rcl@{\hspace{3em}}rcl} - C &::=& . & Q &::=& \langle*\rangle & P &::=& P'\#P' \\ - &|& .. & &|& \langle!*\rangle & &|& \cent P'\#P'\\ - &|& / & &|& \langle n_1\mid\cdots\mid n_k\rangle & &|& P'\#P'\$\\%$ - &|& Q & &|& \langle!n_1\mid\cdots\mid n_k\rangle & &|& \cent P'\#P'\$\\%$ - &|& (C) & &|& Q[@n] & & &\\ - &|& \{C:\Gamma\} & &|& Q[!@n] & P' &::=& \\ - &|& C\&C & &|& Q[@n=v] & &|& C\;P'\\ - &|& C\mid C & &|& Q[!@n=v] & & &\\ - &|& C+ & &|& Q[P] & & &\\ - &|& C? & &|& Q[!P] & & &\\ - &|& C* & & & & & &\\ - &|& C\;C & & & & & &\\ - &|& !C & & & & & &\\ -\end{array} -\] -\caption{Syntax of the regular context language. $n$, $n_i$ denote -names, $v$ denotes a string enclosed in single or double quotes} -\end{table} - - -\section{Insert Rules} - -\paragraph{Begin Group:} $\{$ - -\begin{description} - \item{\verb+table/cursor+}\\ - create a \texttt{row} node, create a \texttt{cell} node, create a \texttt{g} node, - append the cursor to the \texttt{g} node, append the \texttt{g} node to the \texttt{cell} node, - append the \texttt{cell} node to the \texttt{row} node, append the \texttt{row} node to the - \texttt{c} node - \item{\verb+cursor+} \\ create a \texttt{g} node, replace the cursor with the new \texttt{g} node, - append the cursor to the new \texttt{g} node -\end{description} - -% CASE: c/g[!@id]/cursor - -% CASE: c/cursor - -% ELSE: - -% do_begin: -% CASE: c[@table='1']/cursor -% ELSE: -% create a g node with id, replace the cursor with the fresh g and append -% the cursor as only child of it - -\paragraph{End Group:} $\}$ - -\begin{description} - \item{\verb+g[@id]/cursor+}\\ - remove the cursor, put $\tadvance$ after the \texttt{g} node - \item{\verb+row/cell/g/cursor+}\\ - remove the cursor, put $\tadvance$ after the \texttt{row} node - \item{\verb+math/g[!@id]/cursor+}\\ - ? - \item{\verb+cursor+}\\ - error ? -\end{description} - -\paragraph{Math Shift:} $\$$ - -\begin{description} - \item{\verb+tex/cursor+}\\ - create a \texttt{math} node, create a \texttt{g} node, append the \texttt{g} node - as child of the \texttt{math} node, append the cursor as child of the \texttt{g} node - \item{\verb+math[@display='1']/g[!@id][*#]/cursor+}\\ - append the cursor as last child of the \texttt{math} node - \item{\verb+math/g[!@id][*#]/cursor+}\\ - remove the cursor - \item{\verb+math[!display='1']/g[!@id]/cursor+}\\ - set \verb+display='1'+ in the \texttt{math} node - \item{\verb+math/g[!@id]+}\\ - append the cursor after the \texttt{math} node - \item{\verb+math/cursor+}\\ - remove the cursor - \item{\verb+cursor+} \\ - error ? -\end{description} - -% do_shift: -% CASE: tex/cursor -% create a math node. create a g node. append g as child of math. -% append the cursor as child of g -% CASE: math[@display='1']/g[!@id][*#]/cursor -% append the cursor as last child of math -% CASE: math/g[!@id][*#]/cursor -% remove the cursor. Editing is done -% CASE: math[!display='1']/g[!@id]/cursor -% set the display attribute to '1' -% CASE: math/g[!@id] -% append the cursor after math (?) -% CASE: math/cursor -% remove the cursor. Editing is done -% ELSE: -% error - -\paragraph{Align:} $\&$ - -\begin{description} - \item{\verb+g[@id]/cursor+}\\ - create a \texttt{row} node, create a \texttt{cell} node, create a \texttt{g} node, - append the cursor to the new \texttt{g} node, append the \texttt{cell} node to the - the \texttt{row} node ? - \item{\verb+row/cell/g/cursor+}\\ - create the \texttt{g} node, create the \texttt{cell} node, append the cursor - as child of the new \texttt{g} node, append the new \texttt{g} node to the new - \texttt{cell} node after the old \texttt{cell} node - \item{\verb+cursor+}\\ - error -\end{description} - -% do_align: -% CASE: g[@id]/cursor -% create a row node. create a cell node. create a g node. append the -% cursor to g, append the g to cell, append the cell to row, ??? -% CASE: row/cell/g/cursor -% create a g node. create a cell node. appent the cursor to g, -% append the g to cell, insert the new cell after the existing cell -% ELSE: -% error - -\paragraph{End-of-line:} - -% do_eol: -% ignored - -\paragraph{Parameter:} $p(i)$ -% do_parameter: -% ignored - -\paragraph{Superscript:} $\uparrow$ - -\begin{description} - \item{\verb+[^#]/cursor+}\\ - create a \SP{} node, create a \G{} node, replace the cursor with the \SP{} node, - append the \G{} node as first child of the \SP{} node, append the cursor as last - child of the \SP{} node - \item{\verb+[*#]/cursor+}\\ - create a \SP{} node, replace \texttt{*} with the \SP{} node, append \texttt{*} to - the \SP{} node, append cursor to the \SP{} node - \item{\verb+sp[^*#$][!@over='1']/cursor+}\\ %$ - set \verb+over='1'+ in the \SP{} node - \item{\verb+sp[^*#$][@over='1']/cursor+}\\ %$ - error - \item{\verb+cursor+}\\ - error ? -\end{description} -% do_superscript: -% CASE: g[^#]/cursor -% create sp node. create g node, replace cursor with sp, append g to sp, append cursor to sp -% CASE: g[*#]/cursor -% create sp node, replace * with sp, append * to sp, append cursor to sp -% CASE: sp[^*#$][!@over='1']/cursor -% set over='1' in sp node -% CASE: sp[^*#$][@over='1']/cursor -% error -% ELSE: -% error ? - -\paragraph{Subscript:} $\downarrow$ - -\begin{description} - \item{\verb+[^#]/cursor+}\\ - create a \SB{} node, create a \G{} node, replace the cursor with the \SB{} node, - append the \G{} node as first child of the \SB{} node, append the cursor as last - child of the \SB{} node - \item{\verb+[*#]/cursor+}\\ - create a \SB{} node, replace \texttt{*} with the \SB{} node, append \texttt{*} to - the \SB{} node, append cursor to the \SB{} node - \item{\verb+sb[^*#$][!@under='1']/cursor+}\\ %$ - set \verb+under='1'+ in the \SB{} node - \item{\verb+sb[^*#$][@under='1']/cursor+}\\ %$ - error - \item{\verb+cursor+}\\ - error ? -\end{description} -% do_subscript: -% CASE: g[^#]/cursor -% create sb node. create g node, replace cursor with sb, append g to sb, append cursor to sb -% CASE: g[*#]/cursor -% create sb node, replace * with sb, append * to sb, append cursor to sb -% CASE: sb[^*#$][!@under='1']/cursor -% set over='1' in sb node -% CASE: sb[^*#$][@under='1']/cursor -% error -% ELSE: -% error ? - -\paragraph{Ignorable space:} $\square$ - -% do_ignorable_space: -% do nothing? - -\paragraph{Space:} $s$ - -\begin{description} - \item{\verb+cursor+}\\ - create \SNODE{} node, replace cursor with the \SNODE{} node, append - $\tadvance$ after \SNODE{} node -\end{description} - -% do_space -% create s node, replace cursor with s, append \advance after s - -\paragraph{Identifier:} $i(v)$ - -\begin{description} - \item{\verb+cursor+}\\ - create an \INODE{}, set \verb+value=+$v$ in the \INODE{}, replace - cursor with \INODE{}, append $\tadvance$ after the \INODE{} node -\end{description} - -% do_identifier -% create i node, replace cursor with i, append \advance after i - -\paragraph{Number:} $n(v)$ - -\begin{description} - \item{\verb+cursor+}\\ - create an \NNODE{}, set \verb+value=+$v$ in the \NNODE{}, replace - cursor with \NNODE{}, append $\tadvance$ after the \NNODE{} node -\end{description} - -% do_number -% create n node, replace cursor with n, append \advance after n - -\paragraph{Apostrophe:} $o({}')$ - -\begin{description} - \item{\verb+[(sp[*#$]/g[o[@name='prime']$])#]/cursor+}\\ - create a \ONODE{} node, set \verb+name='prime'+ in the \ONODE{}, - append the \ONODE{} to the innermost \G{} node - \item{\verb+[(sb[^sp[^*#$]/g[o[@name='prime']]$])#]/cursor+}\\ - create a \ONODE{} node, set \verb+name='prime'+ in the \ONODE{}, - append the \ONODE{} to the innermost \G{} node - \item{\verb+[*#]/cursor+}\\ - create a \ONODE{} node, set \verb+name='prime'+ in the \ONODE{}, - create a \SP{} node, create a \G{} node, replace \texttt{*} with \SP{} node, - append the new \G{} node to the \SP{} node, append the \ONODE{} - node to the new \G{} node - \item{\verb+[^#]/cursor+}\\ - error? - \item{\verb+cursor+}\\ - cursor is not in a group, error? -\end{description} - -% do_apostrophe -% CASE: g[(sp[^*#$]/g[o[@name='prime']$])#]/cursor -% append a new o[@name='prime'] node to the inner g node -% CASE: g[(sb[^sp[^*#$]/g[o[@name='prime']]$])#]/cursor -% append a new o[@name='prime'] node to the inner g node -% CASE: g[*#]/cursor -% create sp node, create g node, replace * with sp, append * to sp, append g to sp, -% append a new o[@name='prime'[ node to the new g node -% CASE: g[^#]/cursor -% error? -% ELSE: -% cursor is not in a group, error? - -\paragraph{Other:} $o(v)$ - -create an \ONODE{}, set \verb+value=+$v$ in the \ONODE{}, replace -cursor with \ONODE{}, append $\tadvance$ after the \ONODE{} node - -% do_other -% create o node, replace cursor with o, append \advance after o - -\paragraph{Active:} $\sim$ - -% do_active: -% ignored ??? - -\paragraph{Comment:} $\%$ - -% do_comment: -% ignored ??? - -\paragraph{Begin Environment:} $c(\mathtt{begin})\langle\alpha_1,\dots,\alpha_n\rangle$ - -\paragraph{End Environment:} $c(\mathtt{end})\langle\rangle$ - -\paragraph{Left Delimiter:} $c(\mathtt{left})\langle\alpha\rangle$ - -\paragraph{Right Delimiter:} $c(\mathtt{right})\langle\alpha\rangle$ - -\paragraph{Carriage-Return:} $c(\mathtt{cr})\langle\rangle$ - -\begin{description} - \item{\verb+row/cell/g/cursor+}\\ - create a \ROW{} node, create a \CELL{} node, create a \G{} - node, append the cursor to the new \G{} node, append the new \G{} - node to the new \CELL{} node, append the new \CELL{} node to the - new \ROW{} node, insert the new \ROW{} node after the old \ROW{} node - \item{\verb+cursor+}\\ - ignored? -\end{description} - -% do_cr: -% CASE: row/cell/g/cursor -% create row node, create cell node, create g node, -% append cursor to g, append g to cell, append cell to row, -% insert new row after old row -% ELSE: -% ignored ??? - -\paragraph{Macro:} $c(v)\langle\alpha_1,\dots,\alpha_n\rangle$ - -\begin{description} - \item{\verb+/cursor+}\\ - create a \CNODE{} node with the children corresponding to the pattern - $\tmap{\alpha_1}$,\dots,$\tmap{\alpha_n}$, replace the cursor with - the new \CNODE{} node. put $\tnext$ as the first child of the new - \CNODE{} node - - \item{\verb+*/cursor+}\\ - create a \CNODE{} node with the children corresponding to the pattern - $\tmap{\alpha_1}$,\dots,$\tmap{\alpha_n}$, replace the cursor with - the new \CNODE{} node, put $\tnext$ as the first child of the new - \CNODE{} node. If $n\ne0$ emit a warning (the macro has arguments but - but the context wouldn't normally allow them to be entered) -\end{description} - -% do_macro: -% CASE: g/cursor -% create a c node with children corresponding to the pattern of the macro -% append \nextparam as first child of the macro - -\section{Left Drop Rules} - -\paragraph{Normal Left Drop:} $\NLDROP$ - -\begin{description} - - \item{\verb+cursor+}\\ - replace the cursor with the $\NLDROP$. - -\end{description} - -\paragraph{Special Left Drop:} $\SLDROP$ - -\begin{description} - - \item{\verb+cursor+}\\ - replace the cursor with the $\SLDROP$. - -\end{description} - -\section{Right Drop Rules} - -\begin{description} - - \item{\verb+cursor+}\\ - replace the cursor with the $\RDROP$. - -\end{description} - -\section{$\varepsilon$-rules} - -\paragraph{Nromal Left Drop} - -\begin{description} - - \item{\verb+math/g[^#]/+$\NLDROP$}\\ - repalce the $\NLDROP$ with the cursor. - - %************************************************************************************** - %****************************** epsilon-rules with \NLDROP **************************** - %************************************************************************************** - - %************** \NLDROP has neither preceding nor following nodes ******************** - - \item{\verb+math[^#$]/+$\NLDROP$}\\ - replace the $\NLDROP$ with the cursor. - - \item{\verb+g[^#$]/+$\NLDROP$}\\ - replace the \G{} node with the $\NLDROP$. - - % this rule is overridden by the two ones below - \item{\verb+c/p[^#$]/+$\NLDROP$}\\ - remove the $\NLDROP$ and insert it before the \PNODE{} node. - - \item{\verb+c[p[@left-open='1'][*]#$]/p[@right-open='1'][^#$]/+$\NLDROP$}\\ - replace the \CNODE{} node with the content of the first \PNODE{} node and insert the $\NLDROP$ after this content - - \item{\verb+c[p[@left-open='1'][!*]#$]/p[@right-open='1'][^#$]/+$\NLDROP$}\\ - replace the \CNODE{} node with the $\NLDROP$. - - \item{\verb+c[^#][!p(*)]/+$\NLDROP$}\\ - replace the \CNODE{} node with the $\NLDROP$. - - \item{\verb+cell[^#$]/+$\NLDROP$}\\ - replace the cell with the $\NLDROP_n$. - - \item{\verb+table[^#$]/+$\NLDROP$}\\ - replace the \TABLE{} node with the $\NLDROP$. - - %************************* \NLDROP has at least one preceding node ********************* - - % general rules - - % this rule should also handles the case where the \NLDROP is the third (and last) child of a script. - \item{\verb+*[*#]/+$\NLDROP$}\\ - remove the $\NLDROP$ and append it as the last child of its ex preceding brother. - - % this rule overrides the one above - \item{\verb+*[(i|n|o|s|c[!*])#]/+$\NLDROP$}\\ - remove the $\NLDROP$ and replace the token with the $\NLDROP_n$. - - % special rules - - \item{\verb+[^*#$]+/$\NLDROP$}\\ - replace the script node with its first child and insert the $\NLDROP$ after it. - - % this rule overrides the one above. - \item{\verb+[^g[!@id][!*]#$]/+$\NLDROP$}\\ - replace the script with the cursor. - - % this rule overrides the one above - \item{\verb+*[sp[!@id][^*g[!@id][^o[@name='prime']++\verb+o[@name='prime']$]]#]/+$\NLDROP$}\\ - remove the last \ONODE{} node and replace the $\NLDROP$ with the cursor.%$\NLDROP_n$. - - \item{\verb+*[sp[!@id][^*g[!@id][^o[@name='prime']$]]#]/+$\NLDROP$}\\ - replace the script with its first child and replace the $\NLDROP$ with the cursor.%$\NLDROP_n$. - - \item{\verb+c[(i|n|o|s|c[!*])#]/+$\NLDROP$}\\ - move the $\NLDROP$ before the delimiter. - - % this rule is true for both right-open and parameterized macros. - \item{\verb+c[p#]/+$\NLDROP$}\\ - move the $\NLDROP$ into the \PNODE{} node. - - %**************** \NLDROP has no preceding nodes, but has following nodes ************** - - % general rule - \item{\verb+*[^#*]/+$\NLDROP$}\\ - remove the $\NLDROP$ and insert it before its parent. - - % special rules - - % this rule is applicable to all macros. - \item{\verb+c[^#][p[*]]/+$\NLDROP$}\\ - remove the $\NLDROP$ and insert it before the \CNODE{} node. - -\end{description} - -\paragraph{Special Left Drop} - -\begin{description} - - %******************************************************************************************************** - %************************************ epsilon-rules with \SLDROP **************************************** - %******************************************************************************************************** - - \item{\verb+math/+$\SLDROP$}\\ - replace the $\SLDROP$ with the cursor. - - \item{\verb+math/g[^#]/+$\NLDROP$}\\ - replace the $\NLDROP$ with the cursor. - - %************************ \SLDROP has neither preceding nor following nodes ***************************** - - \item{\verb+g[^#$]/+$\SLDROP$}\\ - replace the \G{} node with the cursor. - - \item{\verb+c[p[@left-open='1'][*]#$]/p[@right-open='1'][^#$]/+$\SLDROP$}\\ - replace the \CNODE{} node with the content of the first \PNODE{} node and insert the cursor after this content - - \item{\verb+c[p[@left-open='1'][!*]#$]/p[@right-open='1'][^#$]/+$\SLDROP$}\\ - replace the \CNODE{} node with the cursor. - - \item{\verb+c/p[^#$]/+$\SLDROP$}\\ - remove the $\SLDROP$ and insert it before the \PNODE{} node. - - \item{\verb+c[^#][!p(*)]/+$\SLDROP$}\\ - replace the \CNODE{} node with the cursor. - - \item{\verb+cell[^#$]/+$\SLDROP$}\\ - replace the cell with the $\NLDROP_n$. - - \item{\verb+table[^#$]/+$\SLDROP$}\\ - replace the \TABLE{} node with the cursor. - - %*********************** \SLDROP has at least one preceding node *********************************** - - \item{\verb+*[sp[!@id][^*g[!@id][^o[@name='prime']++\verb+o[@name='prime']$]]#]/+$\SLDROP$}\\ - remove the last \ONODE{} node and replace the $\SLDROP$ with the cursor. - - \item{\verb+*[sp[!@id][^*g[!@id][^o[@name='prime']$]]#]/+$\SLDROP$}\\ - replace the script with its first child and replace the $\SLDROP$ with the cursor.%$\NLDROP_n$. - - \item{\verb+[^g[!@id][!*]#$]/+$\SLDROP$}\\ - replace the script with the cursor. - - % this rule is overridden by the three rules above. - \item{\verb+[^*#$]+/$\SLDROP$}\\ - replace the script node with its first child and insert the cursor after it. - - \item{\verb+c[(i|n|o|s|c[!*])#]/+$\SLDROP$}\\ - remove the $\SLDROP$ and insert the cursor before the delimiter. - - \item{\verb+c[p#(i|n|o|s|c[!*])]/+$\SLDROP$}\\ - remove the $\SLDROP$ and insert the cursor into the \PNODE{} node. - - \item{\verb+c[p[@right-open='1']#]+}\\ - remove the $\SLDROP$ and append the curor as last child of the \PNODE{} node. - - % this rule is overridden by the two ones above. - \item{\verb+c[p#]/+$\SLDROP$}\\ - move the $\SLDROP$ into the \PNODE{} node. - - \item{\verb+*[(i|n|o|s|c[!*])#]/+$\SLDROP$}\\ - remove the $\SLDROP$ and replace the token with the cursor. - - \item{\verb+*[table#]/+$\SLDROP$}\\ - remove the $\SLDROP$ and append the $\NLDROP_n$ as the last child of the \TABLE{} node. - - \item{\verb+*[c#]/+$\SLDROP$}\\ - move the $\SLDROP$ into the \CNODE{} node. - - \item{\verb+*[g#]/+$\SLDROP$}\\ - remove the $\SLDROP$ and append the cursor as the last child of the \G{} node. - - %********** \SLDROP has no preceding node, but has following ones ************** - - \item{\verb+c[^#p][p(*)]/+$\SLDROP$}\\ - remove the $\SLDROP$ and insert the cursor before the \CNODE{} node. - - % general rule - \item{\verb+*[^#*]/+$\SLDROP$}\\ - remove the $\SLDROP$ and insert the cursor before its parent. - -\end{description} - -\paragraph{Normalize Left Drop} - -\begin{description} - - %**************************************************************************************** - %***************************** epsilon-rules with \NLDROP_n ***************************** - %**************************************************************************************** - - \item{\verb+*[*#]/+$\NLDROP_n$}\\ - replace the $\NLDROP_n$ with the cursor. - - \item{\verb+row[cell#]/+$\NLDROP_n$}\\ - remove the $\NLDROP_n$ and append the cursor as the last child of the \CELL{} node. - - \item{\verb+row[^#$]/+$\NLDROP_n$}\\ - replace the \ROW{} node with the $\NLDROP_n$ - - \item{\verb+table[row#]/+$\NLDROP_n$}\\ - remove the $\NLDROP_n$ and append it as last child of the \ROW{} node. - - \item{\verb+table[^#$]/+$\NLDROP_n$}\\ - replace the \TABLE{} with the cursor.%$\NLDROP_n$. - - \item{\verb+g[@id][^#$]/+$\NLDROP_n$}\\ - replace the \G{} node with the $\NLDROP_n$. - - \item{$\NLDROP_n$}\\ - replace the $\NLDROP_n$ with the cursor. - -\end{description} - -\paragraph{Right Drop} - -\begin{description} - - %************************* \RDROP has at least a following node **************************************** - - \item{\verb+c[#(i|n|o|s|c[!*])]/+$\RDROP$}\\ - remove the $\RDROP$ and append it after the delimiter - - \item{\verb+*[#(i|n|o|s|c[!*])]/+$\RDROP$}\\ - remove the token and replace the $\RDROP$ with the cursor $\RDROP_n$. - - % this rule is overridden by those ones above. - \item{\verb+*[#*]/+$\RDROP$}\\ - remove the $\RDROP$ and append it as the first child of the following node. - - %************************** \RDROP has neither following nor preceding nodes ****************************** - - \item{\verb+c[#$][!p[*]]/+$\RDROP$}\\ - replace the \CNODE{} with the $\RDROP$. - - \item{\verb+p[^#$]/+$\RDROP$}\\ - move the $\RDROP$ after the \PNODE{} node. - - \item{\verb+g[^#$]/+$\RDROP$}\\ - replace the \G{} node with the $\RDROP$. - -\end{description} - -\paragraph{Normalize Right Drop} - -\begin{description} - - % at the moment it's the only rule, defined for this symbol. - \item{\verb+g[@id][^#$]/+$\RDROP_n$}\\ - replace the \G{} node with the $\RDROP_n$. - - \item{$\RDROP_n$}\\ - replace the $\RDROP$ with the cursor. - -\end{description} - -\paragraph{Advance} - -\begin{description} - \item{\verb+g/+$\tadvance$}\\ - replace $\tadvance$ with the cursor - - \item{\verb+p[#$]/+$\tadvance$}\\ %$ - put $\tadvance$ after the \PNODE{} node - - \item{\verb+c[#p]/+$\tadvance$} \\ - remove $\tadvance$, put the cursor as first child of the \PNODE{} node - - \item{\verb+c[#*]/+$\tadvance$} \\ %$ - replace $\tadvance$ with the cursor - - \item{\verb+c[#$]/+$\tadvance$} \\ %$ - move $\tadvance$ after the \CNODE{} node -\end{description} - -\paragraph{Next Parameter} - -\paragraph{Next Token} - -%% \begin{description} -%% \item{\verb+c[#p]/+$\tnext$} \\ -%% \end{description} - -% g[@id]/(c[#$][@right-open]/g[!@id][#$]/)+cursor } let p = cursor.parent() in remove; advance(p) - -% c/g[!@id]/cursor -% c/cursor -% */cursor { let g = new group in replace - -% g[@id][^#$]/cursor <= cursor.parent().replace(cursor) -% g[@id][^#$]/cursor <- cursor -% (!g[@id][^#$])[A#B]/(g[@id][^#$]/)+cursor <- (!g[@id][^#$])[A#B]/cursor - -\clearpage -\appendix -\section{Semantics of the Regular Context Language} - -\newcommand{\CSEM}[2]{\mathcal{C}\llbracket#1\rrbracket#2} -\newcommand{\QSEM}[2]{\mathcal{Q}\llbracket#1\rrbracket#2} -\newcommand{\TSEMUP}[2]{\mathcal{T}^\uparrow\llbracket#1\rrbracket#2} -\newcommand{\TSEMDOWN}[2]{\mathcal{T}_\downarrow\llbracket#1\rrbracket#2} -\newcommand{\NSEM}[2]{\mathcal{N}\llbracket#1\rrbracket#2} -\newcommand{\PSEM}[1]{\mathcal{P}\llbracket#1\rrbracket} -\newcommand{\LSEM}[2]{\mathcal{L}\llbracket#1\rrbracket#2} -\newcommand{\RSEM}[2]{\mathcal{R}\llbracket#1\rrbracket#2} -\newcommand{\FSEM}[2]{\mathcal{F}\llbracket#1\rrbracket(#2)} -\newcommand{\PARENT}[1]{\mathit{parent}(#1)} -\newcommand{\CHILDREN}[1]{\mathit{children}(#1)} -\newcommand{\CHILD}[1]{\mathit{child}(#1)} -\newcommand{\ANCESTORS}[1]{\mathit{ancestors}(#1)} -\newcommand{\DESCENDANTS}[1]{\mathit{descendants}(#1)} -\newcommand{\HASATTRIBUTE}[2]{\mathit{hasAttribute}(#1,#2)} -\newcommand{\HASNOATTRIBUTE}[2]{\mathit{hasNoAttribute}(#1,#2)} -\newcommand{\ATTRIBUTE}[2]{\mathit{attribute}(#1,#2)} -\newcommand{\ISELEMENT}[1]{\mathit{isElement}(#1)} -\newcommand{\NAME}[1]{\mathit{name}(#1)} -\newcommand{\PREV}[1]{\mathit{prev}(#1)} -\newcommand{\NEXT}[1]{\mathit{next}(#1)} -\newcommand{\PREDICATE}[1]{\mathit{predicate}(#1)} -\newcommand{\IFV}[3]{\begin{array}[t]{@{}l}\mathbf{if}~#1~\mathbf{then}\\\quad#2\\\mathbf{else}\\\quad#3\end{array}} -\newcommand{\IFH}[3]{\mathbf{if}~#1~\mathbf{then}~#2~\mathbf{else}~#3} -\newcommand{\TRUE}{\mathbf{true}} -\newcommand{\FALSE}{\mathbf{false}} -\newcommand{\FUN}[2]{\lambda#1.#2} -\newcommand{\LET}[3]{\mathbf{let}~#1=#2~\mathbf{in}~#3} -\newcommand{\REC}[2]{\mathbf{rec}~#1=#2} -\newcommand{\APPLY}[2]{(#1\;#2)} -\newcommand{\APPLYX}[3]{(#1\;#2\;#3)} -\newcommand{\AND}{\wedge} -\newcommand{\OR}{\vee} -\newcommand{\AAND}{\,\vec{\AND}\,} -\newcommand{\AOR}{\,\vec{\OR}\,} -\newcommand{\MATCH}[4]{\begin{array}[t]{@{}c@{~\to~}l@{}l@{}}\multicolumn{2}{@{}l@{}}{\mathbf{match}~#1~\mathbf{with}}\\\phantom{|}\quad\{#2\}\\|\quad\emptyset\end{array}} - -\[ -\begin{array}{rcl} - \CSEM{q}{x} &=& \{x_1\mid x_1\in\{x\} \wedge \QSEM{q}{x_1}\}\\ - \CSEM{..}{x} &=& \PARENT{x}\\ - \CSEM{/}{x} &=& \CHILDREN{x}\\ - \CSEM{c_1\;c_2}{x} &=& \CSEM{c_2}{\CSEM{c_1}{x}}\\ - \CSEM{(c)}{x} &=& \CSEM{c}{x}\\ - \CSEM{\{c:\alpha\}}{x} &=& \alpha(x,\CSEM{c}{x})\\ - \CSEM{c_1\&c_2}{x} &=& \CSEM{c_1}{x} \cap \CSEM{c_2}{x}\\ - \CSEM{c_1\mid c_2}{x} &=& \CSEM{c_1}{x} \cup \CSEM{c_2}{x}\\ - \CSEM{c+}{x} &=& \CSEM{c}{x} \cup \CSEM{c+}{\CSEM{c}{x}}\\ - \CSEM{c?}{x} &=& \{x\}\cup\CSEM{c}{x}\\ - \CSEM{c*}{x} &=& \CSEM{{c+}?}{x}\\[3ex] - \QSEM{c}{x} &=& \CSEM{c}{x}\ne\emptyset\\ - \QSEM{!c}{x} &=& \CSEM{c}{x}=\emptyset\\ - \QSEM{\langle*\rangle}{x} &=& \TRUE\\ - \QSEM{\langle n\rangle}{x} &=& \NAME{x}=n\\ - \QSEM{@n}{x} &=& \HASATTRIBUTE{x}{n}\\ - \QSEM{@n=v}{x} &=& \ATTRIBUTE{x}{n}=v\\ - \QSEM{[p_1\#p_2]}{x} &=& \LSEM{p_1}{\PREV{x}}\wedge\RSEM{p_2}{\NEXT{x}}\\[3ex] - \LSEM{}{\alpha} &=& \TRUE\\ - \LSEM{\cent}{\alpha} &=& \alpha=\emptyset\\ - \LSEM{p\;q}{\emptyset} &=& \FALSE\\ - \LSEM{p\;q}{\{x\}} &=& \QSEM{q}{x}\wedge\LSEM{p}{\PREV{x}}\\[3ex] - \RSEM{}{\alpha} &=& \TRUE\\ - \RSEM{\$}{\alpha} &=& \alpha=\emptyset\\ - \RSEM{q\;p}{\emptyset} &=& \FALSE\\ - \RSEM{q\;p}{\{x\}} &=& \QSEM{q}{x}\wedge\RSEM{p}{\NEXT{x}}\\[3ex] - \PREDICATE{q} &=& \TRUE\\ - \PREDICATE{..} &=& \FALSE\\ - \PREDICATE{/} &=& \FALSE\\ - \PREDICATE{c_1\;c_2} &=& \PREDICATE{c_1}\wedge\PREDICATE{c_2}\\ - \PREDICATE{(c)} &=& \PREDICATE{c}\\ - \PREDICATE{c_1\&c_2} &=& \PREDICATE{c_1}\wedge\PREDICATE{c_2}\\ - \PREDICATE{c_1\mid c_2} &=& \PREDICATE{c_1}\wedge\PREDICATE{c_2}\\ - \PREDICATE{c+} &=& \PREDICATE{c}\\ - \PREDICATE{c?} &=& \PREDICATE{c}\\ - \PREDICATE{c*} &=& \PREDICATE{c} -\end{array} -\] - -\[ -\begin{array}{rcl} - \PSEM{q} &=& \FUN{x}{\APPLY{\QSEM{q}{}}{x}} \\ - \PSEM{..} &=& \FUN{x}{\neg\APPLY{\mathit{null}}{\PARENT{x}}}\\ - \PSEM{/} &=& \FUN{x}{\neg\APPLY{\mathit{null}}{\CHILD{x}}}\\ - \PSEM{(c)} &=& \PSEM{c}\\ - \PSEM{\{c:\alpha\}} &=& \FUN{x}{\APPLY{\PSEM{c}}{x}\AAND\APPLY{\alpha}{x}}\\ - \PSEM{c_1\;c_2} &=& \IFV{\PREDICATE{c_1}}{\FUN{x}{(\PSEM{c_1}\;x)\wedge(\PSEM{c_2}\;x)}}{\FSEM{c_1}{\PSEM{c_2},\FUN{\_}{\FALSE}}}\\ - \PSEM{c_1\&c_2} &=& \IFV{\PREDICATE{c_1}\wedge\PREDICATE{c_2}}{\FUN{x}{(\PSEM{c_1}\;x)\wedge(\PSEM{c_2}\;x)}}{\FSEM{c_1\&c_2}{\FUN{\_}{\TRUE},\FUN{\_}{\FALSE}}}\\ - \PSEM{c_1\mid c_2} &=& \FUN{x}{(\PSEM{c_1}\;x)\vee(\PSEM{c_2}\;x)}\\ - \PSEM{c+} &=& \PSEM{c}\\ - \PSEM{c?} &=& \FUN{\_}{\TRUE}\\ - \PSEM{c*} &=& \FUN{\_}{\TRUE}\\[3ex] - \FSEM{q}{t,f} &=& \FUN{x}{(\APPLY{\PSEM{q}}{x}\AAND\APPLY{t}{x})\AOR\APPLY{f}{x}}\\ - \FSEM{..}{t,f} &=& \FUN{x}{\MATCH{\PARENT{x}}{y}{\APPLY{t}{y}}{\APPLY{f}{x}}}\\ -% \FSEM{/}{t,f} &=& \FUN{x}{(\vee_{y\in\CHILDREN{x}} \APPLY{t}{y})\AOR\APPLY{f}{x}}\\ - \FSEM{/}{t,f} &=& \FUN{x}{\APPLYX{\mathit{exists}}{t}{\CHILD{x}}\AOR\APPLY{f}{x}}\\ - \FSEM{(c)}{t,f} &=& \FSEM{c}{t,f}\\ - \FSEM{\{c:\alpha\}}{t,f} &=& \FSEM{c}{\FUN{x}{\PSEM{c}\AAND\APPLY{\alpha}{x}\AAND\APPLY{t}{x},f}}\\ - \FSEM{c_1\;c_2}{t,f} &=& \FUN{x}{\APPLY{\FSEM{c_1}{\FSEM{c_2}{t,\FUN{\_}{\APPLY{f}{x}}},f}}{x}}\\ - \FSEM{c_1\&c_2}{t,f} &=& \FUN{x}{\APPLY{\FSEM{c_1}{\FUN{y}{\APPLY{\FSEM{c_2}{\FUN{z}{(y=z)\AAND\APPLY{t}{z}},\FUN{\_}{\APPLY{f}{x}}}}{x}},f}}{x}}\\ - \FSEM{c_1\mid c_2}{t,f} &=& \FSEM{c_1}{t,\FSEM{c_2}{t,f}}\\ - \FSEM{c+}{t,f} &=& \FSEM{c}{\FSEM{c+}{t,t},f}\\ - \FSEM{c?}{t,f} &=& \FSEM{c}{t,t}\\ - \FSEM{c*}{t,f} &=& \FSEM{{c+}?}{t,f}\\[3ex] - \QSEM{c}{} &=& \PSEM{c}\\ - \QSEM{!c}{} &=& \FUN{x}{\neg\APPLY{\PSEM{c}}{x}}\\ - \QSEM{\langle*\rangle}{} &=& \FUN{\_}{\TRUE}\\ - \QSEM{\langle n\rangle}{} &=& \FUN{x}{\NAME{x}=n}\\ - \QSEM{@n}{} &=& \FUN{x}{\HASATTRIBUTE{x}{n}}\\ - \QSEM{@n=v}{} &=& \FUN{x}{\ATTRIBUTE{x}{n}=v}\\ - \QSEM{[p_1\#p_2]}{} &=& \FUN{x}{\APPLY{\LSEM{p_1}{}}{\PREV{x}}\wedge\APPLY{\RSEM{p_2}{}}{\NEXT{x}}}\\[3ex] - \LSEM{}{} &=& \FUN{\_}{\TRUE}\\ - \LSEM{\cent}{} &=& \mathit{null}\\ - \LSEM{p\;q}{} &=& \FUN{x}{\MATCH{x}{y}{\QSEM{q}{y}\AAND\APPLY{\LSEM{p}}{\PREV{y}}}{\FALSE}}\\ - \RSEM{}{} &=& \FUN{\_}{\TRUE}\\ - \RSEM{\$}{} &=& \mathit{null}\\ - \RSEM{p\;q}{} &=& \FUN{x}{\MATCH{x}{y}{\QSEM{q}{y}\AAND\APPLY{\RSEM{p}}{\NEXT{y}}}{\FALSE}}\\ - \mathit{null} &=& \FUN{x}{\MATCH{x}{\_}{\FALSE}{\TRUE}}\\ - \mathit{exists} &=& \FUN{t}{\REC{a}{\FUN{x}{\MATCH{x}{y}{\APPLY{t}{y}\AOR\APPLY{a}{\NEXT{x}}}{\FALSE}}}} -\end{array} -\] - - - -\end{document} diff --git a/helm/DEVEL/mathml_editor/editex.pc.in b/helm/DEVEL/mathml_editor/editex.pc.in deleted file mode 100644 index 9e2c91bf4..000000000 --- a/helm/DEVEL/mathml_editor/editex.pc.in +++ /dev/null @@ -1,19 +0,0 @@ -# This is a comment -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ -datadir=@datadir@ - -pkgdatadir=${datadir}/editex -default_dictionary=${pkgdatadir}/dictionary-tex.xml -default_mathml_xsl=${pkgdatadir}/tml-mmlp.xsl -default_tex_xsl=${pkgdatadir}/tml-tex.xsl - -Name: EdiTeX -Description: An XML/MathML editor based on TeX/LaTeX syntax -Version: @VERSION@ -Requires: glib -Libs: -L${libdir} -leditex -Cflags: -I${includedir}/editex - diff --git a/helm/DEVEL/mathml_editor/examples/.cvsignore b/helm/DEVEL/mathml_editor/examples/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/helm/DEVEL/mathml_editor/examples/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/helm/DEVEL/mathml_editor/examples/Makefile.am b/helm/DEVEL/mathml_editor/examples/Makefile.am deleted file mode 100644 index 8de82fb70..000000000 --- a/helm/DEVEL/mathml_editor/examples/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = abs.tex big.tex diff --git a/helm/DEVEL/mathml_editor/examples/abs.tex b/helm/DEVEL/mathml_editor/examples/abs.tex deleted file mode 100644 index 6cd86a144..000000000 --- a/helm/DEVEL/mathml_editor/examples/abs.tex +++ /dev/null @@ -1 +0,0 @@ -$|x|=\matrix{1&0\cr0&1}$ diff --git a/helm/DEVEL/mathml_editor/examples/big.tex b/helm/DEVEL/mathml_editor/examples/big.tex deleted file mode 100644 index 913a1a13c..000000000 --- a/helm/DEVEL/mathml_editor/examples/big.tex +++ /dev/null @@ -1 +0,0 @@ -$1+x+x^2+x^3+\cdots+x^n\over{\sqrt 1+y^{-1}+y^{-2}+y^{-3}+\cdots+y^{-m}}$ diff --git a/helm/DEVEL/mathml_editor/ocaml/.cvsignore b/helm/DEVEL/mathml_editor/ocaml/.cvsignore deleted file mode 100644 index cf4c41a0a..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -META Makefile Makefile.in *.cm[ioax] *.cmxa *.lo *.la .deps .libs diff --git a/helm/DEVEL/mathml_editor/ocaml/.depend b/helm/DEVEL/mathml_editor/ocaml/.depend deleted file mode 100644 index ceb7476a9..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/.depend +++ /dev/null @@ -1,3 +0,0 @@ -mathml_editor.cmo: i_mathml_editor.cmo mathml_editor.cmi -mathml_editor.cmx: i_mathml_editor.cmx mathml_editor.cmi -mathml_editor.cmi: i_mathml_editor.cmo diff --git a/helm/DEVEL/mathml_editor/ocaml/META.in b/helm/DEVEL/mathml_editor/ocaml/META.in deleted file mode 100644 index f3fe7899a..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/META.in +++ /dev/null @@ -1,6 +0,0 @@ -requires="gdome2,gdome2-xslt" -version="@VERSION@" -archive(byte)="mlmathml-editor.cma" -archive(native)="mlmathml-editor.cmxa" -archive(byte,premethods)="i_mathml_editor.cmo mlmathml-editor.cma" -archive(native,premethods)="i_mathml_editor.cmx mlmathml-editor.cmxa" diff --git a/helm/DEVEL/mathml_editor/ocaml/Makefile.am b/helm/DEVEL/mathml_editor/ocaml/Makefile.am deleted file mode 100644 index 28982ba25..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/Makefile.am +++ /dev/null @@ -1,90 +0,0 @@ -PKGNAME = mathml-editor -ARCHIVE = mlmathml-editor -REQUIRES = gdome2 gdome2-xslt -OCAMLFIND = @OCAMLFIND@ -OCAMLFLAGS = -I $(top_srcdir)/ocaml -OCAMLC = $(OCAMLFIND) @OCAMLC@ $(OCAMLFLAGS) -package "$(REQUIRES)" -OCAMLOPT = $(OCAMLFIND) @OCAMLOPT@ $(OCAMLFLAGS) -package "$(REQUIRES)" -OCAMLDEP = $(OCAMLFIND) @OCAMLDEP@ $(OCAMLFLAGS) -package "$(REQUIRES)" -if HAVE_SHAREDLIBS_COND -OCAMLMKLIBFLAGS = -else -OCAMLMKLIBFLAGS = -custom -endif -OCAMLMKLIB = @OCAMLMKLIB@ $(OCAMLMKLIBFLAGS) -DLL = dll$(ARCHIVE).so -OCAMLSTDLIBDIR = $(DESTDIR)/@OCAMLSTDLIBDIR@ -OCAMLSTUBDIR = $(DESTDIR)/@OCAMLSTUBDIR@ -OCAMLINSTALLDIR = $(OCAMLSTDLIBDIR)/$(PKGNAME) -MODULES = i_mathml_editor mathml_editor -INIT = -CMI_S = $(MODULES:%=%.cmi) -CMO_S = $(MODULES:%=%.cmo) -CMX_S = $(MODULES:%=%.cmx) -O_S = ml_mathml_editor.o c_mathml_editor.o -LO_S = $(O_S:%.o=%.lo) -SHARED_LIBS = $(GMETADOM_LIBS) $(GDOMEXSLT_LIBS) -lmlgdome2-xslt -lmlgdome -lstdc++ -L$(top_builddir)/src/.libs/ -leditex -BYTE_STUFF = i_mathml_editor.cmi mathml_editor.cmi $(ARCHIVE).cma $(DLL) lib$(ARCHIVE).a -NATIVE_STUFF = $(ARCHIVE).cmxa $(ARCHIVE).a -BYTE_INSTALL_STUFF = $(BYTE_STUFF) META mathml_editor.mli -NATIVE_INSTALL_STUFF = $(NATIVE_STUFF) - -EXTRA_DIST = \ - META.in mathml_editor.ml mathml_editor.mli i_mathml_editor.ml \ - c_mathml_editor.h .depend - -if HAVE_OCAMLOPT_COND -noinst_DATA = $(BYTE_STUFF) $(NATIVE_STUFF) -else -noinst_DATA = $(BYTE_STUFF) -endif - -noinst_LTLIBRARIES = libmlmathml-editor.la -libmlmathml_editor_la_SOURCES = \ - c_mathml_editor.cc \ - ml_mathml_editor.c - -if HAVE_OCAMLOPT_COND -install-data-local: $(BYTE_INSTALL_STUFF) $(NATIVE_INSTALL_STUFF) -else -install-data-local: $(BYTE_INSTALL_STUFF) -endif - $(mkinstalldirs) $(OCAMLSTDLIBDIR) $(OCAMLSTUBDIR) - chmod -x $(DLL) - $(OCAMLFIND) install -destdir $(OCAMLSTDLIBDIR) $(PKGNAME) $^ - ln -fs $(DLL) $(OCAMLSTUBDIR)/lib$(ARCHIVE).so - -CLEANFILES = \ - $(ARCHIVE).{cma,cmxa,a} $(CMI_S) $(CMO_S) $(CMX_S) ml_mathml_editor.o \ - $(DLL) $(INIT).cm[iox] libmlmathml-editor.a - -INCLUDES = \ - $(GDOME_CFLAGS) $(MLGDOME_CFLAGS) \ - $(GMETADOM_CFLAGS) $(GDOMEXSLT_CFLAGS) \ - -I$(top_srcdir)/src - -$(ARCHIVE).cma: $(CMO_S) - $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMO_S) $(SHARED_LIBS) - -$(ARCHIVE).cmxa: $(CMX_S) - $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(CMX_S) $(SHARED_LIBS) - -$(DLL) $(ARCHIVE).a: $(O_S) - $(OCAMLMKLIB) -o $(ARCHIVE) -L@OCAMLSTUBDIR@ $(SHARED_LIBS) $(O_S:%.o=.libs/%.o) - -%.cmi: %.mli - $(OCAMLC) -c $< -%.cmo %.cmi: %.ml - $(OCAMLC) -c $< -%.cmx: %.ml %.cmi - $(OCAMLOPT) -c $< - -i_mathml_editor.cmo: i_mathml_editor.ml - $(OCAMLC) -c $< -i_mathml_editor.cmx: i_mathml_editor.ml - $(OCAMLOPT) -c $< - -depend: *.ml - $(OCAMLDEP) *.ml *.mli >.depend -include .depend - diff --git a/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc b/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc deleted file mode 100644 index 25759823b..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc +++ /dev/null @@ -1,224 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include - -#include "ALogger.hh" -#include "TDictionary.hh" -#include "CMathMLFactoryXSLT.hh" -#include "TPushLexer.hh" -#include "LPushLexer.hh" -#include "TPushParser.hh" - -class CCallbackLogger : public ALogger -{ -public: - CCallbackLogger(void (*)(int, const char*, void*), void*); - virtual ~CCallbackLogger() { }; - -protected: - virtual void message(Level, const std::string&); - -private: - void (*callback)(int, const char*, void*); - void* user_data; -}; - -CCallbackLogger::CCallbackLogger(void (*cb)(int, const char*, void*), void* data) : callback(cb), user_data(data) -{ - assert(callback); -} - -void -CCallbackLogger::message(Level l, const std::string& s) -{ - assert(callback); - callback(l, s.c_str(), user_data); -} - -struct Editor -{ - Editor(const char*, const char*, const char*, void (*)(int, const char*, void*), void*, bool); - ~Editor(); - - ALogger* logger; - TDictionary* dictionary; - DOMX::XSLTStylesheet* tml_mml; - DOMX::XSLTStylesheet* tml_tex; - AMathMLFactory* factory; - TPushParser* parser; - APushLexer* lexer; -}; - -Editor::Editor(const char* dict_uri, const char* mml_uri, const char* tex_uri, - void (*cb)(int, const char*, void*), void* data, bool alt) -{ - assert(dict_uri); - assert(mml_uri); - assert(tex_uri); - assert(cb); - logger = new CCallbackLogger(cb, data); - dictionary = new TDictionary(*logger); - dictionary->load(dict_uri); - DOM::DOMImplementation di; - DOM::Document mml = di.createDocumentFromURI(mml_uri); - DOM::Document tex = di.createDocumentFromURI(tex_uri); - tml_mml = new DOMX::XSLTStylesheet(mml); - tml_tex = new DOMX::XSLTStylesheet(tex); - factory = new CMathMLFactoryXSLT(*logger, *tml_mml); - parser = new TPushParser(*logger, *factory, *dictionary); - if (alt) lexer = new LPushLexer(*logger, *parser); - else lexer = new TPushLexer(*logger, *parser); -} - -Editor::~Editor() -{ - delete lexer; - delete parser; - delete factory; - delete tml_tex; - delete tml_mml; - delete dictionary; - delete logger; -} - -extern "C" const char* -c_mathml_editor_get_default_dictionary_path() -{ - return TDictionary::getDefaultDictionaryPath().c_str(); -} - -extern "C" const char* -c_mathml_editor_get_default_mathml_stylesheet_path() -{ - return AMathMLFactory::getDefaultMathMLStylesheetPath().c_str(); -} - -extern "C" const char* -c_mathml_editor_get_default_tex_stylesheet_path() -{ - return AMathMLFactory::getDefaultTeXStylesheetPath().c_str(); -} - -extern "C" Editor* -c_mathml_editor_new(bool alt, - const char* dictionary_uri, - const char* tml_mml_uri, - const char* tml_tex_uri, - void (*log_message_cb)(int, const char*, void*), - void* user_data) -{ - return new Editor(dictionary_uri, tml_mml_uri, tml_tex_uri, log_message_cb, user_data, alt); -} - -extern "C" void -c_mathml_editor_destroy(Editor* editor) -{ - assert(editor); - delete editor; -} - -extern "C" int -c_mathml_editor_freeze(Editor* editor) -{ - assert(editor); - return editor->parser->freeze(); -} - -extern "C" int -c_mathml_editor_thaw(Editor* editor) -{ - assert(editor); - return editor->parser->thaw(); -} - -extern "C" void -c_mathml_editor_push(Editor* editor, char ch) -{ - assert(editor); - editor->lexer->push(ch); -} - -extern "C" void -c_mathml_editor_drop(Editor* editor, int alt) -{ - assert(editor); - editor->lexer->drop(alt != 0); -} - -extern "C" int -c_mathml_editor_cursor_hide(Editor* editor) -{ - assert(editor); - return editor->parser->hideCursor(); -} - -extern "C" int -c_mathml_editor_cursor_show(Editor* editor) -{ - assert(editor); - return editor->parser->showCursor(); -} - -extern "C" char* -c_mathml_editor_get_tex(const Editor* editor) -{ - assert(editor); - DOM::Document res = editor->tml_tex->apply(editor->parser->document()); - assert(res); - res.normalize(); - assert(res.get_firstChild() && res.get_firstChild().get_nodeName() == "#text"); - return strdup(std::string(res.get_firstChild().get_nodeValue()).c_str()); -} - -extern "C" void -c_mathml_editor_reset(Editor* editor) -{ - assert(editor); - editor->lexer->reset(); - editor->parser->reset(); -} - -extern "C" GdomeDocument* -c_mathml_editor_get_tml(const Editor* editor) -{ - assert(editor); - GdomeNode* n = editor->parser->document().cloneNode(true).gdome_object(); - GdomeDocument* doc = gdome_cast_doc(n); - assert(n && doc); - return doc; -} - -extern "C" GdomeDocument* -c_mathml_editor_get_mml(const Editor* editor) -{ - assert(editor); - GdomeNode* n = editor->factory->document().gdome_object(); - GdomeDocument* doc = gdome_cast_doc(n); - assert(n && doc); - return doc; -} - diff --git a/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.h b/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.h deleted file mode 100644 index cb01155ad..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.h +++ /dev/null @@ -1,49 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __c_mathml_editor_h__ -#define __c_mathml_editor_h__ - -#include - -typedef struct Editor Editor; - -const char* c_mathml_editor_get_default_dictionary_path(void); -const char* c_mathml_editor_get_default_mathml_stylesheet_path(void); -const char* c_mathml_editor_get_default_tex_stylesheet_path(void); -Editor* c_mathml_editor_new(int, const char*, const char*, const char*, void (*)(int, const char*, void*), void*); -void c_mathml_editor_destroy(Editor*); -int c_mathml_editor_freeze(Editor*); -int c_mathml_editor_thaw(Editor*); -void c_mathml_editor_reset(Editor*); -void c_mathml_editor_push(Editor*, char); -void c_mathml_editor_drop(Editor*, int); -int c_mathml_editor_cursor_hide(Editor*); -int c_mathml_editor_cursor_show(Editor*); -char* c_mathml_editor_get_tex(const Editor*); -GdomeDocument* c_mathml_editor_get_tml(const Editor*); -GdomeDocument* c_mathml_editor_get_mml(const Editor*); - -#endif /* __c_mathml_editor_h__ */ diff --git a/helm/DEVEL/mathml_editor/ocaml/i_mathml_editor.ml b/helm/DEVEL/mathml_editor/ocaml/i_mathml_editor.ml deleted file mode 100644 index d865898d6..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/i_mathml_editor.ml +++ /dev/null @@ -1,76 +0,0 @@ -(* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - *) - -type t - -external get_default_dictionary_path : unit -> string - = "ml_mathml_editor_get_default_dictionary_path" - -external get_default_mathml_stylesheet_path : unit -> string - = "ml_mathml_editor_get_default_mathml_stylesheet_path" - -external get_default_tex_stylesheet_path : unit -> string - = "ml_mathml_editor_get_default_tex_stylesheet_path" - -external raw_create : - alt_lexer:bool -> - dictionary_uri: string -> - mml_uri: string -> - tml_uri: string -> - log:(int -> string -> unit) -> - t - = "ml_mathml_editor_new" -let create ?(alt_lexer=false) = raw_create ~alt_lexer - -external freeze : editor:t -> bool - = "ml_mathml_editor_freeze" - -external thaw : editor:t -> bool - = "ml_mathml_editor_thaw" - -external reset : editor:t -> unit - = "ml_mathml_editor_reset" - -external push : editor:t -> ch:char -> unit - = "ml_mathml_editor_push" - -external drop : editor:t -> alt:bool -> unit - = "ml_mathml_editor_drop" - -external cursor_hide : editor:t -> unit - = "ml_mathml_editor_cursor_hide" - -external cursor_show : editor:t -> unit - = "ml_mathml_editor_cursor_show" - -external get_tex : editor:t -> string - = "ml_mathml_editor_get_tex" - -external get_tml : editor:t -> TDocument.t - = "ml_mathml_editor_get_tml" - -external get_mml : editor:t -> TDocument.t - = "ml_mathml_editor_get_mml" - diff --git a/helm/DEVEL/mathml_editor/ocaml/mathml_editor.ml b/helm/DEVEL/mathml_editor/ocaml/mathml_editor.ml deleted file mode 100644 index a49ea436e..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/mathml_editor.ml +++ /dev/null @@ -1,70 +0,0 @@ -(* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - *) - -let default_dictionary_path = I_mathml_editor.get_default_dictionary_path () -;; - -let default_mathml_stylesheet_path = I_mathml_editor.get_default_mathml_stylesheet_path () -;; - -let default_tex_stylesheet_path = I_mathml_editor.get_default_tex_stylesheet_path () -;; - -let create ?(alt_lexer=false) ~dictionary_uri ~mml_uri ~tml_uri ~log = - I_mathml_editor.create ~alt_lexer ~dictionary_uri ~mml_uri ~tml_uri ~log -;; - -let freeze = I_mathml_editor.freeze -;; - -let thaw = I_mathml_editor.thaw -;; - -let reset = I_mathml_editor.reset -;; - -let push = I_mathml_editor.push -;; - -let drop = I_mathml_editor.drop -;; - -let cursor_hide = I_mathml_editor.cursor_hide -;; - -let cursor_show = I_mathml_editor.cursor_show -;; - -let get_tex = I_mathml_editor.get_tex -;; - -let get_tml ~editor = - new Gdome.document (I_mathml_editor.get_tml ~editor) -;; - -let get_mml ~editor = - new Gdome.document (I_mathml_editor.get_mml ~editor) -;; - diff --git a/helm/DEVEL/mathml_editor/ocaml/mathml_editor.mli b/helm/DEVEL/mathml_editor/ocaml/mathml_editor.mli deleted file mode 100644 index aa0278522..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/mathml_editor.mli +++ /dev/null @@ -1,50 +0,0 @@ -(* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - *) - -val default_dictionary_path : string -val default_mathml_stylesheet_path : string -val default_tex_stylesheet_path : string - -val create : - ?alt_lexer:bool -> - dictionary_uri: string -> - mml_uri: string -> - tml_uri: string -> - log:(int -> string -> unit) -> I_mathml_editor.t - -val freeze : editor:I_mathml_editor.t -> bool -val thaw : editor:I_mathml_editor.t -> bool - -val reset : editor:I_mathml_editor.t -> unit -val push : editor:I_mathml_editor.t -> ch:char -> unit -val drop : editor:I_mathml_editor.t -> alt:bool -> unit - -val cursor_hide : editor:I_mathml_editor.t -> unit -val cursor_show : editor:I_mathml_editor.t -> unit - -val get_tex : editor:I_mathml_editor.t -> string -val get_tml : editor:I_mathml_editor.t -> Gdome.document -val get_mml : editor:I_mathml_editor.t -> Gdome.document - diff --git a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c b/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c deleted file mode 100644 index c74dfd01c..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c +++ /dev/null @@ -1,210 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include - -#include -#include -#include - -#include "mlgdomevalue.h" - -#include "c_mathml_editor.h" - -typedef struct -{ - Editor* c_editor; - value callback; -} ml_Editor; - -ml_Editor* -Editor_val(value v) -{ - ml_Editor* editor = *((ml_Editor**) Data_custom_val(v)); - assert(editor != NULL); - return editor; -} - -static void -ml_mathml_editor_finalize(value v) -{ - ml_Editor* editor = Editor_val(v); - assert(editor); - - remove_global_root(&editor->callback); - c_mathml_editor_destroy(editor->c_editor); - free(editor); -} - -static void -ml_mathml_editor_log_callback(int level, const char* msg, void* user_data) -{ - ml_Editor* ml_editor = (ml_Editor*) user_data; - assert(ml_editor); - callback2(ml_editor->callback, Val_int(level), copy_string(msg)); -} - -value -ml_mathml_editor_get_default_dictionary_path(value unit) -{ - CAMLparam1(unit); - CAMLreturn(copy_string(c_mathml_editor_get_default_dictionary_path())); -} - -value -ml_mathml_editor_get_default_mathml_stylesheet_path(value unit) -{ - CAMLparam1(unit); - CAMLreturn(copy_string(c_mathml_editor_get_default_mathml_stylesheet_path())); -} - -value -ml_mathml_editor_get_default_tex_stylesheet_path(value unit) -{ - CAMLparam1(unit); - CAMLreturn(copy_string(c_mathml_editor_get_default_tex_stylesheet_path())); -} - -value -ml_mathml_editor_new(value alt, - value dictionary_uri, - value tml_mml_uri, - value tml_tex_uri, - value log_message_cb) -{ - static struct custom_operations ops = - { - "HELM/MathML Editor", - ml_mathml_editor_finalize, - custom_compare_default, - custom_hash_default, - custom_serialize_default, - custom_deserialize_default - }; - - value v = alloc_custom(&ops, sizeof(ml_Editor*), 0, 1); - ml_Editor** ml_editor_ref = (ml_Editor**) Data_custom_val(v); - ml_Editor* ml_editor = *ml_editor_ref = malloc(sizeof(ml_Editor)); - ml_editor->c_editor = c_mathml_editor_new(Bool_val(alt), - String_val(dictionary_uri), - String_val(tml_mml_uri), - String_val(tml_tex_uri), - ml_mathml_editor_log_callback, - (void*) ml_editor); - ml_editor->callback = log_message_cb; - register_global_root(&ml_editor->callback); - - return v; -} - -value -ml_mathml_editor_freeze(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_freeze(editor->c_editor))); -} - -value -ml_mathml_editor_thaw(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_thaw(editor->c_editor))); -} - -value -ml_mathml_editor_push(value v, value ch) -{ - CAMLparam2(v, ch); - ml_Editor* editor = Editor_val(v); - c_mathml_editor_push(editor->c_editor, Int_val(ch)); - CAMLreturn(Val_unit); -} - -value -ml_mathml_editor_drop(value v, value alt) -{ - CAMLparam2(v, alt); - ml_Editor* editor = Editor_val(v); - c_mathml_editor_drop(editor->c_editor, Bool_val(alt)); - CAMLreturn(Val_unit); -} - -value -ml_mathml_editor_cursor_hide(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_cursor_hide(editor->c_editor))); -} - -value -ml_mathml_editor_cursor_show(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_cursor_show(editor->c_editor))); -} - -value -ml_mathml_editor_get_tex(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - char* res = c_mathml_editor_get_tex(editor->c_editor); - CAMLlocal1(ml_res); - ml_res = copy_string(res); - free(res); - CAMLreturn(ml_res); -} - -value -ml_mathml_editor_reset(value v, value s) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - c_mathml_editor_reset(editor->c_editor); - CAMLreturn(Val_unit); -} - -value -ml_mathml_editor_get_tml(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - GdomeDocument* doc = c_mathml_editor_get_tml(editor->c_editor); - CAMLreturn(Val_Document(doc)); -} - -value -ml_mathml_editor_get_mml(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - GdomeDocument* doc = c_mathml_editor_get_mml(editor->c_editor); - CAMLreturn(Val_Document(doc)); -} - diff --git a/helm/DEVEL/mathml_editor/src/.cvsignore b/helm/DEVEL/mathml_editor/src/.cvsignore deleted file mode 100644 index 332956c5c..000000000 --- a/helm/DEVEL/mathml_editor/src/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -*~ -*.lo -*.o -*.la -.deps -.libs -Makefile -Makefile.in -config.dirs diff --git a/helm/DEVEL/mathml_editor/src/ALogger.hh b/helm/DEVEL/mathml_editor/src/ALogger.hh deleted file mode 100644 index 7843dbc88..000000000 --- a/helm/DEVEL/mathml_editor/src/ALogger.hh +++ /dev/null @@ -1,53 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __ALogger_hh__ -#define __ALogger_hh__ - -#include - -class ALogger -{ -public: - enum Level { Error, Warning, Info, Debug }; - - ALogger(void) { level = Error; } - virtual ~ALogger() { } - void debug(const std::string& msg) { if (level >= Debug) message(Debug, msg); } - void info(const std::string& msg) { if (level >= Info) message(Info, msg); } - void warning(const std::string& msg) { if (level >= Warning) message(Warning, msg); } - void error(const std::string& msg) { if (level >= Error) message(Error, msg); } - - Level verbosity(void) const { return level; } - void verbosity(Level lvl) { level = lvl; } - -protected: - virtual void message(Level, const std::string&) = 0; - -private: - Level level; -}; - -#endif // __ALogger_hh__ diff --git a/helm/DEVEL/mathml_editor/src/AMathMLConsumer.hh b/helm/DEVEL/mathml_editor/src/AMathMLConsumer.hh deleted file mode 100644 index ee5e12690..000000000 --- a/helm/DEVEL/mathml_editor/src/AMathMLConsumer.hh +++ /dev/null @@ -1,38 +0,0 @@ - -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __AMathMLConsumer_hh__ -#define __AMathMLConsumer_hh__ - -class AMathMLConsumer -{ -public: - AMathMLConsumer(void) { }; - virtual ~AMathMLConsumer() { }; - virtual void documentModified(const DOM::Document&) = 0; -}; - -#endif // __AMathMLConsumer_hh__ diff --git a/helm/DEVEL/mathml_editor/src/AMathMLFactory.cc b/helm/DEVEL/mathml_editor/src/AMathMLFactory.cc deleted file mode 100644 index b9826352b..000000000 --- a/helm/DEVEL/mathml_editor/src/AMathMLFactory.cc +++ /dev/null @@ -1,42 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include - -#include "config.dirs" -#include "AMathMLFactory.hh" - -std::string -AMathMLFactory::getDefaultMathMLStylesheetPath() -{ - return PKGDATADIR"/tml-mmlp.xsl"; -} - -std::string -AMathMLFactory::getDefaultTeXStylesheetPath() -{ - return PKGDATADIR"/tml-tex.xsl"; -} - diff --git a/helm/DEVEL/mathml_editor/src/AMathMLFactory.hh b/helm/DEVEL/mathml_editor/src/AMathMLFactory.hh deleted file mode 100644 index f53b56408..000000000 --- a/helm/DEVEL/mathml_editor/src/AMathMLFactory.hh +++ /dev/null @@ -1,47 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __AMathMLFactory_hh__ -#define __AMathMLFactory_hh__ - -#include "dom.hh" - -class AMathMLFactory -{ -public: - AMathMLFactory(class ALogger& l) : logger(l) { }; - virtual ~AMathMLFactory() { }; - - static std::string getDefaultMathMLStylesheetPath(void); - static std::string getDefaultTeXStylesheetPath(void); - - virtual void documentModified(class TDocument&) = 0; - virtual DOM::Document document(void) const = 0; - -protected: - class ALogger& logger; -}; - -#endif // __AMathMLFactory_hh__ diff --git a/helm/DEVEL/mathml_editor/src/APushLexer.hh b/helm/DEVEL/mathml_editor/src/APushLexer.hh deleted file mode 100644 index 4a2940b4c..000000000 --- a/helm/DEVEL/mathml_editor/src/APushLexer.hh +++ /dev/null @@ -1,46 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __APushLexer_hh__ -#define __APushLexer_hh__ - -class APushLexer -{ -public: - APushLexer(class ALogger& l, class APushParser& p) : logger(l), parser(p) { }; - virtual ~APushLexer() { }; - - virtual void push(char) = 0; - virtual void drop(bool) = 0; - virtual bool complete(void) = 0; - virtual void reset(void) = 0; - virtual bool error(void) const = 0; - -protected: - class ALogger& logger; - class APushParser& parser; -}; - -#endif // __APushLexer_hh__ diff --git a/helm/DEVEL/mathml_editor/src/APushParser.cc b/helm/DEVEL/mathml_editor/src/APushParser.cc deleted file mode 100644 index 6f843d508..000000000 --- a/helm/DEVEL/mathml_editor/src/APushParser.cc +++ /dev/null @@ -1,42 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include "APushParser.hh" -#include "AMathMLFactory.hh" - -bool -APushParser::freeze() -{ - return freeze_level++ == 0; -} - -bool -APushParser::thaw() -{ - if (freeze_level > 0) - return --freeze_level == 0; - else - return true; -} diff --git a/helm/DEVEL/mathml_editor/src/APushParser.hh b/helm/DEVEL/mathml_editor/src/APushParser.hh deleted file mode 100644 index 74cb18e3b..000000000 --- a/helm/DEVEL/mathml_editor/src/APushParser.hh +++ /dev/null @@ -1,57 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __APushParser_hh__ -#define __APushParser_hh__ - -#include - -class APushParser -{ -public: - APushParser(class ALogger& l) : logger(l), factory(0), freeze_level(0) { }; - APushParser(class ALogger& l, class AMathMLFactory& f) : logger(l), factory(&f), freeze_level(0) { }; - virtual ~APushParser() { }; - - virtual void reset(void) = 0; - virtual void push(const class TToken&) = 0; - virtual std::string drop(bool) = 0; - virtual void setCursorHint(const std::string&) = 0; - virtual bool hideCursor(void) = 0; - virtual bool showCursor(void) = 0; - - virtual bool freeze(void); - virtual bool thaw(void); - bool frozen(void) const { return freeze_level > 0; }; - -protected: - class ALogger& logger; - class AMathMLFactory* factory; - -private: - unsigned freeze_level; -}; - -#endif // __APushParser_hh__ diff --git a/helm/DEVEL/mathml_editor/src/BROWSE b/helm/DEVEL/mathml_editor/src/BROWSE deleted file mode 100644 index ddd9c4428..000000000 --- a/helm/DEVEL/mathml_editor/src/BROWSE +++ /dev/null @@ -1,503 +0,0 @@ -[ebrowse-hs "ebrowse 5.0" " -x" () ()][ebrowse-ts [ebrowse-cs "APushParser" () 0"APushParser.hh" "class APushParser -{" 75"APushParser.hh" ] -([ebrowse-ts [ebrowse-cs "TPushParser" () 0"TPushParser.hh" "class TPushParser :" 226"TPushParser.hh" ] -()([ebrowse-ms "buffer" () 0 () " std::list buffer;" 1306 2 () () 0] -[ebrowse-ms "cursor" () 0 () " TNode cursor;" 1363 2 () () 0] -[ebrowse-ms "doc" () 0 () " TDocument doc;" 1343 2 () () 0] -[ebrowse-ms "frames" () 0 () " std::stack frames;" 1278 2 () () 0] -[ebrowse-ms "nextId" () 0 () " unsigned nextId;" 1326 2 () () 0] -) -([ebrowse-ms "PRIME" () 4 () " std::string PRIME(void" 490 2 "TPushParser.cc" "TPushParser::PRIME()" 279] -[ebrowse-ms "TPushParser" () 0 () () 0 0 "TPushParser.cc" "TPushParser::TPushParser(const TDictionary& d) :" 58] -[ebrowse-ms "TPushParser" () 0 () " TPushParser(const class TDictionary&);" 275 0 () () 0] -[ebrowse-ms "advance" () 0 () " void advance(const" 1065 2 "TPushParser.cc" "TPushParser::advance(const" 13192] -[ebrowse-ms "do_active" () 0 () " void do_active(const" 916 2 "TPushParser.cc" "TPushParser::do_active(const" 5602] -[ebrowse-ms "do_align" () 0 () " void do_align(void" 624 2 "TPushParser.cc" "TPushParser::do_align()" 1530] -[ebrowse-ms "do_apostrophe" () 0 () " void do_apostrophe(void" 1042 2 "TPushParser.cc" "TPushParser::do_apostrophe()" 4611] -[ebrowse-ms "do_begin" () 0 () " void do_begin(void" 557 2 "TPushParser.cc" "TPushParser::do_begin()" 461] -[ebrowse-ms "do_comment" () 0 () " void do_comment(void" 954 2 "TPushParser.cc" "TPushParser::do_comment()" 5668] -[ebrowse-ms "do_control" () 0 () " void do_control(const" 980 2 "TPushParser.cc" "TPushParser::do_control(const" 6337] -[ebrowse-ms "do_cr" () 0 () " void do_cr(void" 1014 2 "TPushParser.cc" "TPushParser::do_cr()" 5708] -[ebrowse-ms "do_digit" () 0 () " void do_digit(const" 841 2 "TPushParser.cc" "TPushParser::do_digit(const" 4072] -[ebrowse-ms "do_end" () 0 () " void do_end(void" 578 2 "TPushParser.cc" "TPushParser::do_end()" 910] -[ebrowse-ms "do_eol" () 0 () " void do_eol(void" 645 2 "TPushParser.cc" "TPushParser::do_eol()" 2464] -[ebrowse-ms "do_letter" () 0 () " void do_letter(const" 804 2 "TPushParser.cc" "TPushParser::do_letter(const" 3902] -[ebrowse-ms "do_other" () 0 () " void do_other(const" 878 2 "TPushParser.cc" "TPushParser::do_other(const" 5303] -[ebrowse-ms "do_parameter" () 0 () " void do_parameter(const" 673 2 "TPushParser.cc" "TPushParser::do_parameter(const" 2546] -[ebrowse-ms "do_shift" () 0 () " void do_shift(void" 601 2 "TPushParser.cc" "TPushParser::do_shift()" 1487] -[ebrowse-ms "do_space" () 0 () " void do_space(const" 766 2 "TPushParser.cc" "TPushParser::do_space(const" 3794] -[ebrowse-ms "do_subscript" () 0 () " void do_subscript(void" 742 2 "TPushParser.cc" "TPushParser::do_subscript()" 2609] -[ebrowse-ms "do_superscript" () 0 () " void do_superscript(void" 715 2 "TPushParser.cc" "TPushParser::do_superscript()" 3204] -[ebrowse-ms "document" () 4 () " TDocument document(void" 432 0 () " TDocument document(void" 432] -[ebrowse-ms "isPrimes" () 4 () " bool isPrimes(const" 520 2 "TPushParser.cc" "TPushParser::isPrimes(const" 4445] -[ebrowse-ms "process" () 0 () " void process(const" 1096 2 "TPushParser.cc" "TPushParser::process(const" 8538] -[ebrowse-ms "push" () 1 () " virtual void push(const" 349 0 "TPushParser.cc" "TPushParser::push(const" 9379] -[ebrowse-ms "setCursor" () 1 () " virtual void setCursor(const" 390 0 "TPushParser.cc" "TPushParser::setCursor(const" 13865] -[ebrowse-ms "~TPushParser" () 1 () " virtual ~TPushParser()" 321 0 "TPushParser.cc" "TPushParser::~TPushParser()" 241] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TTokenizer" () 0"TTokenizer.hh" "class TTokenizer :" 173"TTokenizer.hh" ] -()([ebrowse-ms "tokens" () 0 () " std::list tokens;" 405 2 () () 0] -) -([ebrowse-ms "TTokenizer" () 0 () " TTokenizer(void) {" 221 0 () " TTokenizer(void) {" 221] -[ebrowse-ms "push" () 1 () " virtual void push(const" 316 2 "TTokenizer.cc" "TTokenizer::push(const" 471] -[ebrowse-ms "setCursor" () 1 () " virtual void setCursor(const" 357 2 () " virtual void setCursor(const" 357] -[ebrowse-ms "tokenize" () 0 () " std::vector tokenize(const" 265 0 "TTokenizer.cc" "TTokenizer::tokenize(const" 120] -) -() -() -() -() -()() -])() -([ebrowse-ms "APushParser" () 0 () " APushParser(void) {" 102 0 () " APushParser(void) {" 102] -[ebrowse-ms "push" () 9 () " virtual void push(const" 164 0 () () 0] -[ebrowse-ms "setCursor" () 9 () " virtual void setCursor(const" 209 0 () () 0] -[ebrowse-ms "~APushParser" () 1 () " virtual ~APushParser()" 133 0 () " virtual ~APushParser()" 133] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "EmptyBuffer" "TLexerPush" 0"TLexerPush.hh" " class EmptyBuffer {" 271() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "unary_function" "std" 32() () 0() ] -([ebrowse-ts [ebrowse-cs "StringHash" "TDictionary" 0"TDictionary.hh" " struct StringHash :" 1160"TDictionary.hh" ] -()() -([ebrowse-ms "operator ()" () 4 () " { size_t operator()(const" 1238 0 () " { size_t operator()(const" 1238] -) -() -() -() -() -()() -])() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TObject" () 0"TObject.hh" "class TObject -{" 63"TObject.hh" ] -()() -([ebrowse-ms "TObject" () 0 () " TObject(void) {" 89 1 () " TObject(void) {" 89] -[ebrowse-ms "ref" () 4 () " void ref(coid" 162 0 () " void ref(coid" 162] -[ebrowse-ms "unref" () 4 () " void unref(void" 206 0 () " void unref(void" 206] -[ebrowse-ms "~TObject" () 1 () " virtual ~TObject()" 132 1 () " virtual ~TObject()" 132] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "std" () 0() () 0() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TLexerPush" () 0"TLexerPush.hh" "class TLexerPush -{" 59"TLexerPush.hh" ] -()([ebrowse-ms "state" () 0 () " State state;" 388 2 () () 0] -[ebrowse-ms "tokens" () 0 () " std::deque tokens;" 417 2 () () 0] -) -([ebrowse-ms "TLexerPush" () 0 () " TLexerPush(void);" 85 0 "TLexerPush.cc" "TLexerPush::TLexerPush() -{" 51] -[ebrowse-ms "ambiguous" () 4 () " bool ambiguous(void" 182 0 "TLexerPush.cc" "TLexerPush::ambiguous()" 576] -[ebrowse-ms "empty" () 4 () " bool empty(void" 240 0 "TLexerPush.cc" "TLexerPush::empty()" 447] -[ebrowse-ms "front" () 4 () " TToken front(void" 150 0 "TLexerPush.cc" "TLexerPush::front()" 338] -[ebrowse-ms "pending" () 4 () " bool pending(void" 212 0 "TLexerPush.cc" "TLexerPush::pending()" 510] -[ebrowse-ms "pop" () 0 () " TToken pop(void" 128 0 "TLexerPush.cc" "TLexerPush::pop()" 99] -[ebrowse-ms "push" () 0 () " void push(TChar" 108 0 "TLexerPush.cc" "TLexerPush::push(TChar" 664] -) -() -() -() -([ebrowse-ms "State" () 0 () " {" 303 2 () " {" 303] -) -()() -][ebrowse-ts [ebrowse-cs "TLexerPull" () 0() () 0"TLexerPull.cc" ] -()() -([ebrowse-ms "pop" () 0 () () 0 0 () "TLexerPull::pop(TCharStream" 94] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TDictionary" () 0"TDictionary.hh" "class TDictionary -{" 154"TDictionary.hh" ] -()([ebrowse-ms "entries" () 0 () " Dictionary entries;" 1560 2 () () 0] -) -([ebrowse-ms "TDictionary" () 0 () " TDictionary(void) {" 181 0 () " TDictionary(void) {" 181] -[ebrowse-ms "find" () 4 () " const Entry& find(const" 1107 0 "TDictionary.cc" "TDictionary::find(const" 3723] -[ebrowse-ms "load" () 0 () " void load(const" 1069 0 "TDictionary.cc" "TDictionary::load(const" 162] -[ebrowse-ms "~TDictionary" () 0 () " ~TDictionary()" 204 0 () " ~TDictionary()" 204] -) -() -() -() -([ebrowse-ms "Dictionary" () 0 () "ap< std::string, Entry, StringHash > Dictionary;" 1538 2 () () 0] -[ebrowse-ms "EntryClass" () 0 () " {" 301 0 () " {" 301] -[ebrowse-ms "Form" () 0 () " {" 228 0 () " {" 228] -) -()() -][ebrowse-ts [ebrowse-cs "DOM" () 0() () 0() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "APushLexer" () 0"APushLexer.hh" "class APushLexer -{" 72"APushLexer.hh" ] -([ebrowse-ts [ebrowse-cs "TPushLexer" () 0"TPushLexer.hh" "class TPushLexer :" 117"TPushLexer.hh" ] -()([ebrowse-ms "buffer" () 0 () " std::string buffer;" 483 2 () () 0] -[ebrowse-ms "state" () 0 () " State state;" 461 2 () () 0] -) -([ebrowse-ms "TPushLexer" () 0 () () 0 0 "TPushLexer.cc" "TPushLexer::TPushLexer(APushParser& p) :" 108] -[ebrowse-ms "TPushLexer" () 0 () " TPushLexer(class APushParser&);" 164 0 () () 0] -[ebrowse-ms "error" () 5 () " virtual bool error(void" 290 0 "TPushLexer.cc" "TPushLexer::error()" 2463] -[ebrowse-ms "push" () 1 () " virtual void push(char" 234 0 "TPushLexer.cc" "TPushLexer::push(char" 1180] -[ebrowse-ms "reset" () 1 () " virtual void reset(void" 262 0 "TPushLexer.cc" "TPushLexer::reset()" 176] -[ebrowse-ms "transaction" () 0 () " void transaction(char" 436 2 "TPushLexer.cc" "TPushLexer::transaction(char" 251] -[ebrowse-ms "~TPushLexer" () 1 () " virtual ~TPushLexer()" 203 0 () " virtual ~TPushLexer()" 203] -) -() -() -() -([ebrowse-ms "State" () 0 () " {" 327 2 () " {" 327] -) -()() -])() -([ebrowse-ms "APushLexer" () 0 () " APushLexer(class APushParser& p) :" 99 0 () " APushLexer(class APushParser& p) :" 99] -[ebrowse-ms "error" () 13 () " virtual bool error(void" 251 0 () () 0] -[ebrowse-ms "push" () 9 () " virtual void push(char" 187 0 () () 0] -[ebrowse-ms "reset" () 9 () " virtual void reset(void" 219 0 () () 0] -[ebrowse-ms "~APushLexer" () 1 () " virtual ~APushLexer()" 156 0 () " virtual ~APushLexer()" 156] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "Ptr" () 32"Ptr.hh" "class Ptr -{" 1067"Ptr.hh" ] -()([ebrowse-ms "ptr" () 0 () " P* ptr;" 1797 2 () () 0] -) -([ebrowse-ms "P" () 4 () " operator P*()" 1487 0 () " operator P*()" 1487] -[ebrowse-ms "Ptr" () 0 () " Ptr(const Ptr& p) :" 1142 0 () " Ptr(const Ptr& p) :" 1142] -[ebrowse-ms "Ptr" () 0 () " Ptr(P* p = 0) :" 1083 0 () " Ptr(P* p = 0) :" 1083] -[ebrowse-ms "Q" () 36 () " template operator Ptr()" 1747 0 () " template operator Ptr()" 1747] -[ebrowse-ms "operator ->" () 4 () " P* operator->()" 1253 0 () " P* operator->()" 1253] -[ebrowse-ms "operator =" () 0 () " Ptr& operator=(const" 1316 0 () " Ptr& operator=(const" 1316] -[ebrowse-ms "~Ptr" () 0 () " ~Ptr()" 1202 0 () " ~Ptr()" 1202] -) -() -() -([ebrowse-ms "is_a" () 32 () " template friend bool is_a(const" 1659 0 () " template friend bool is_a(const" 1659] -[ebrowse-ms "smart_cast" () 32 () "emplate friend Ptr smart_cast(const" 1561 0 () "emplate friend Ptr smart_cast(const" 1561] -) -() -()() -][ebrowse-ts [ebrowse-cs "TToken" () 0"TToken.hh" "struct TToken -{" 80"TToken.hh" ] -()([ebrowse-ms "category" () 0 () " TCat category;" 627 0 () () 0] -[ebrowse-ms "value" () 0 () " std::string value;" 648 0 () () 0] -) -([ebrowse-ms "TToken" () 0 () " TToken(TCat c, const std::string& v) :" 438 0 () " TToken(TCat c, const std::string& v) :" 438] -[ebrowse-ms "TToken" () 0 () " TToken(TCat c, char ch) :" 366 0 () " TToken(TCat c, char ch) :" 366] -[ebrowse-ms "TToken" () 0 () " TToken(TCat c) :" 330 0 () " TToken(TCat c) :" 330] -[ebrowse-ms "operator ==" () 4 () " bool operator==(const" 517 0 () " bool operator==(const" 517] -) -() -() -() -([ebrowse-ms "TCat" () 0 () " {" 98 0 () " {" 98] -) -()() -][ebrowse-ts [ebrowse-cs "binary_function" "std" 32() () 0() ] -([ebrowse-ts [ebrowse-cs "StringEq" "TDictionary" 0"TDictionary.hh" " struct StringEq :" 1327() ] -()() -([ebrowse-ms "operator ()" () 4 () " { bool operator()(const" 1415 0 () () 0] -) -() -() -() -() -()() -])() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TNode" () 0"TNode.hh" "class TNode -{" 124"TNode.hh" ] -()([ebrowse-ms "node" () 0 () " DOM::Element node;" 2444 2 () () 0] -) -([ebrowse-ms "TNode" () 0 () " TNode(const TNode& n) :" 270 0 () " TNode(const TNode& n) :" 270] -[ebrowse-ms "TNode" () 0 () " TNode(void) :" 145 0 () " TNode(void) :" 145] -[ebrowse-ms "append" () 4 () " void append(const" 1667 0 "TNode.cc" "TNode::append(const" 2450] -[ebrowse-ms "append" () 4 () " void append(const" 1631 0 "TNode.cc" "TNode::append(const" 2348] -[ebrowse-ms "child" () 4 () " TNode child(unsigned" 592 0 "TNode.cc" "TNode::child(unsigned" 2874] -[ebrowse-ms "core" () 4 () " TNode core(void" 425 0 "TNode.cc" "TNode::core()" 1413] -[ebrowse-ms "empty" () 4 () " bool empty(void" 648 0 () " bool empty(void" 648] -[ebrowse-ms "first" () 4 () " TNode first(void" 480 0 "TNode.cc" "TNode::first()" 1075] -[ebrowse-ms "firstL" () 4 () " TNode firstL(void" 508 0 "TNode.cc" "TNode::firstL()" 1259] -[ebrowse-ms "get" () 4 () " std::string get(const" 1758 0 "TNode.cc" "TNode::get(const" 3007] -[ebrowse-ms "hasId" () 4 () " bool hasId(void" 1994 0 () " bool hasId(void" 1994] -[ebrowse-ms "insert" () 4 () " void insert(const" 1595 0 "TNode.cc" "TNode::insert(const" 2193] -[ebrowse-ms "is" () 4 () " bool is(const" 2055 0 () " bool is(const" 2055] -[ebrowse-ms "isC" () 4 () " bool isC(const" 2303 0 () " bool isC(const" 2303] -[ebrowse-ms "isC" () 4 () " bool isC(void" 2258 0 () " bool isC(void" 2258] -[ebrowse-ms "isG" () 4 () " bool isG(void" 2119 0 () " bool isG(void" 2119] -[ebrowse-ms "isSb" () 4 () " bool isSb(void" 2165 0 () " bool isSb(void" 2165] -[ebrowse-ms "isSp" () 4 () " bool isSp(void" 2212 0 () " bool isSp(void" 2212] -[ebrowse-ms "last" () 4 () " TNode last(void" 534 0 "TNode.cc" "TNode::last()" 736] -[ebrowse-ms "lastL" () 4 () " TNode lastL(void" 561 0 "TNode.cc" "TNode::lastL()" 922] -[ebrowse-ms "name" () 4 () " std::string name(void" 1863 0 () " std::string name(void" 1863] -[ebrowse-ms "nameC" () 4 () " std::string nameC(void" 1929 0 () " std::string nameC(void" 1929] -[ebrowse-ms "next" () 4 () " TNode next(void" 319 0 "TNode.cc" "TNode::next()" 63] -[ebrowse-ms "nextL" () 4 () " TNode nextL(void" 346 0 "TNode.cc" "TNode::nextL()" 247] -[ebrowse-ms "operator !=" () 4 () " bool operator!=(const" 1295 0 () " bool operator!=(const" 1295] -[ebrowse-ms "operator ==" () 4 () " bool operator==(const" 1227 0 () " bool operator==(const" 1227] -[ebrowse-ms "operator []" () 4 () " ProxyAttr operator[](const" 1422 0 () " ProxyAttr operator[](const" 1422] -[ebrowse-ms "operator []" () 4 () " TNode operator[](int" 1362 0 () " TNode operator[](int" 1362] -[ebrowse-ms "parent" () 4 () " TNode parent(void" 453 0 "TNode.cc" "TNode::parent()" 1587] -[ebrowse-ms "prepend" () 4 () " void prepend(const" 1718 0 "TNode.cc" "TNode::prepend(const" 2683] -[ebrowse-ms "prev" () 4 () " TNode prev(void" 372 0 "TNode.cc" "TNode::prev()" 396] -[ebrowse-ms "prevL" () 4 () " TNode prevL(void" 399 0 "TNode.cc" "TNode::prevL()" 588] -[ebrowse-ms "remove" () 4 () " void remove(void" 1529 0 "TNode.cc" "TNode::remove()" 1913] -[ebrowse-ms "replace" () 4 () " void replace(const" 1559 0 "TNode.cc" "TNode::replace(const" 2038] -[ebrowse-ms "set" () 4 () " void set(const" 1797 0 "TNode.cc" "TNode::set(const" 3109] -[ebrowse-ms "size" () 4 () " unsigned size(void" 621 0 "TNode.cc" "TNode::size()" 1749] -[ebrowse-ms "value" () 4 () " std::string value(void" 707 0 () " std::string value(void" 707] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "Entry" "TDictionary" 0"TDictionary.hh" " struct Entry - {" 405"TDictionary.hh" ] -()([ebrowse-ms "cls" () 0 () " EntryClass cls;" 806 0 () () 0] -[ebrowse-ms "delimiter" () 0 () " unsigned delimiter : 1;" 909 0 () () 0] -[ebrowse-ms "embellishment" () 0 () " unsigned embellishment : 1;" 966 0 () () 0] -[ebrowse-ms "infix" () 0 () " unsigned infix : 8;" 830 0 () () 0] -[ebrowse-ms "leftOpen" () 0 () " unsigned leftOpen : 1;" 993 0 () () 0] -[ebrowse-ms "limits" () 0 () " unsigned limits : 1;" 934 0 () () 0] -[ebrowse-ms "pattern" () 0 () " std::vector pattern;" 597 0 () () 0] -[ebrowse-ms "postfix" () 0 () " unsigned postfix : 8;" 881 0 () () 0] -[ebrowse-ms "prefix" () 0 () " unsigned prefix : 8;" 855 0 () () 0] -[ebrowse-ms "rightOpen" () 0 () " unsigned rightOpen : 1;" 1021 0 () () 0] -[ebrowse-ms "table" () 0 () " unsigned table : 1;" 1045 0 () () 0] -[ebrowse-ms "value" () 0 () " std::string value;" 620 0 () () 0] -) -([ebrowse-ms "Entry" () 0 () " {" 420 0 () " {" 420] -[ebrowse-ms "defined" () 4 () " bool defined(void" 643 0 () " bool defined(void" 643] -[ebrowse-ms "hasArguments" () 4 () " bool hasArguments(void" 707 0 () " bool hasArguments(void" 707] -[ebrowse-ms "paramDelimited" () 4 () " bool paramDelimited(unsigned" 777 0 "TDictionary.cc" "TDictionary::Entry::paramDelimited(unsigned" 4012] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "Frame" "TPushParser" 0"TPushParser.hh" " struct Frame - {" 1126"TPushParser.hh" ] -()([ebrowse-ms "entry" () 0 () " const TDictionary::Entry& entry;" 1226 0 () () 0] -[ebrowse-ms "pos" () 0 () " unsigned pos;" 1244 0 () () 0] -) -([ebrowse-ms "Frame" () 0 () " Frame(const TDictionary::Entry& e) :" 1142 0 () " Frame(const TDictionary::Entry& e) :" 1142] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TCharStream" () 0"TCharStream.hh" "class TCharStream -{" 94"TCharStream.hh" ] -([ebrowse-ts [ebrowse-cs "TCharStreamString" () 0"TCharStreamString.hh" "class TCharStreamString :" 120"TCharStreamString.hh" ] -()([ebrowse-ms "buffer" () 0 () " TString buffer;" 555 2 () () 0] -[ebrowse-ms "idx" () 0 () " unsigned long idx;" 536 2 () () 0] -) -([ebrowse-ms "TCharStreamString" () 0 () " TCharStreamString(const TString& s) :" 175 0 () " TCharStreamString(const TString& s) :" 175] -[ebrowse-ms "look" () 5 () " virtual TChar look(void" 343 0 () " virtual TChar look(void" 343] -[ebrowse-ms "more" () 5 () " virtual bool more(void" 275 0 () " virtual bool more(void" 275] -[ebrowse-ms "next" () 1 () " virtual TChar next(void" 439 0 () " virtual TChar next(void" 439] -[ebrowse-ms "~TCharStreamString" () 1 () " virtual ~TCharStreamString()" 243 0 () " virtual ~TCharStreamString()" 243] -) -() -() -() -() -()() -])() -([ebrowse-ms "TCharStream" () 0 () " TCharStream(void) {" 121 0 () " TCharStream(void) {" 121] -[ebrowse-ms "look" () 13 () " virtual TChar look(void" 222 0 () () 0] -[ebrowse-ms "more" () 13 () " virtual bool more(void" 184 0 () () 0] -[ebrowse-ms "next" () 9 () " virtual TChar next(void" 260 0 () () 0] -[ebrowse-ms "~TCharStream" () 1 () " virtual ~TCharStream()" 152 0 () " virtual ~TCharStream()" 152] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "EmptyStream" "TCharStream" 0"TCharStream.hh" " class EmptyStream {" 289() ] -()() -() -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "*Globals*" () 0() () 0"APushLexer.hh" ] -()() -([ebrowse-ms "dispatch" () 0 "special.cc" "dispatch(const" 1012 0 "special.cc" "dispatch(const" 1012] -[ebrowse-ms "do_apostrophe" () 0 "special.cc" "do_apostrophe(const" 669 0 "special.cc" "do_apostrophe(const" 669] -[ebrowse-ms "do_bgroup" () 0 "special.cc" "do_bgroup(const" 149 0 "special.cc" "do_bgroup(const" 149] -[ebrowse-ms "do_control" () 0 "special.cc" "do_control(const" 711 0 "special.cc" "do_control(const" 711] -[ebrowse-ms "do_other" () 0 "special.cc" "do_other(const" 776 0 "special.cc" "do_other(const" 776] -[ebrowse-ms "finishG" () 0 "special.cc" "void finishG(const" 118 0 () () 0] -[ebrowse-ms "getCore" () 0 "domnav.cc" "getCore(const" 629 0 "domnav.cc" "getCore(const" 629] -[ebrowse-ms "getRightmostChild" () 0 "domnav.cc" "getRightmostChild(const" 37 0 "domnav.cc" "getRightmostChild(const" 37] -[ebrowse-ms "isDelimiter" () 0 "domnav.cc" "isDelimiter(const" 1716 0 "domnav.cc" "isDelimiter(const" 1716] -[ebrowse-ms "isFunction" () 0 "domnav.cc" "isFunction(const" 1879 0 "domnav.cc" "isFunction(const" 1879] -[ebrowse-ms "isGroup" () 0 "domnav.cc" "isGroup(const" 1214 0 "domnav.cc" "isGroup(const" 1214] -[ebrowse-ms "isInferred" () 0 "domnav.cc" "isInferred(const" 985 0 "domnav.cc" "isInferred(const" 985] -[ebrowse-ms "isMacro" () 0 "domnav.cc" "isMacro(const" 1085 0 "domnav.cc" "isMacro(const" 1085] -[ebrowse-ms "isOperator" () 0 "domnav.cc" "isOperator(const" 1553 0 "domnav.cc" "isOperator(const" 1553] -[ebrowse-ms "isPrimes" () 0 "domnav.cc" "isPrimes(const" 1451 0 "domnav.cc" "isPrimes(const" 1451] -[ebrowse-ms "isSb" () 0 "domnav.cc" "isSb(const" 1291 0 "domnav.cc" "isSb(const" 1291] -[ebrowse-ms "isSp" () 0 "domnav.cc" "isSp(const" 1369 0 "domnav.cc" "isSp(const" 1369] -[ebrowse-ms "isUnicodeAlpha" () 2 "dom.hh" "inline bool isUnicodeAlpha(TChar" 303 0 "dom.hh" "inline bool isUnicodeAlpha(TChar" 303] -[ebrowse-ms "isUnicodeDigit" () 2 "dom.hh" "inline bool isUnicodeDigit(TChar" 408 0 "dom.hh" "inline bool isUnicodeDigit(TChar" 408] -[ebrowse-ms "isUnicodeSpace" () 2 "dom.hh" "inline bool isUnicodeSpace(TChar" 198 0 "dom.hh" "inline bool isUnicodeSpace(TChar" 198] -[ebrowse-ms "main" () 0 "texlexer.cc" "main()" 51 0 "texlexer.cc" "main()" 51] -[ebrowse-ms "prevLinearSibling" () 0 "domnav.cc" "prevLinearSibling(const" 324 0 "domnav.cc" "prevLinearSibling(const" 324] -[ebrowse-ms "replace" () 0 "domnav.cc" "replace(const" 834 0 "domnav.cc" "replace(const" 834] -[ebrowse-ms "tokenize" () 0 "tokenizer.hh" "std::vector tokenize(const" 123 0 () () 0] -) -([ebrowse-ms "undefinedEntry" () 0 () () 0 0 "TDictionary.cc" "static TDictionary::Entry undefinedEntry;" 132] -) -() -([ebrowse-ms "Ptr_hh" () 512 () () 0 0 "Ptr.hh" "#define Ptr_hh -" 1036] -[ebrowse-ms "TML_NS_URI" () 512 () () 0 0 "globals.hh" "#define TML_NS_URI " 67] -[ebrowse-ms "XMLNS_NS_URI" () 512 () () 0 0 "globals.hh" "#define XMLNS_NS_URI " 123] -[ebrowse-ms "__APushLexer_hh__" () 512 () () 0 0 () "#define __APushLexer_hh__ -" 53] -[ebrowse-ms "__APushParser_hh__" () 512 () () 0 0 "APushParser.hh" "#define __APushParser_hh__ -" 55] -[ebrowse-ms "__TCharStreamString_hh__" () 512 () () 0 0 "TCharStreamString.hh" "#define __TCharStreamString_hh__ -" 67] -[ebrowse-ms "__TCharStream_hh__" () 512 () () 0 0 "TCharStream.hh" "#define __TCharStream_hh__ -" 55] -[ebrowse-ms "__TDictionary_hh__" () 512 () () 0 0 "TDictionary.hh" "#define __TDictionary_hh__ -" 55] -[ebrowse-ms "__TDocument_hh__" () 512 () () 0 0 "TDocument.hh" "#define __TDocument_hh__ -" 51] -[ebrowse-ms "__TNode_hh__" () 512 () () 0 0 "TNode.hh" "#define __TNode_hh__ -" 43] -[ebrowse-ms "__TObject_hh__" () 512 () () 0 0 "TObject.hh" "#define __TObject_hh__ -" 47] -[ebrowse-ms "__TPushLexer_hh__" () 512 () () 0 0 "TPushLexer.hh" "#define __TPushLexer_hh__ -" 53] -[ebrowse-ms "__TPushParser_hh__" () 512 () () 0 0 "TPushParser.hh" "#define __TPushParser_hh__ -" 55] -[ebrowse-ms "__TToken_hh__" () 512 () () 0 0 "TToken.hh" "#define __TToken_hh__ -" 45] -[ebrowse-ms "__TTokenizer_hh__" () 512 () () 0 0 "TTokenizer.hh" "#define __TTokenizer_hh__ -" 53] -[ebrowse-ms "__dom_hh__" () 512 () () 0 0 "dom.hh" "#define __dom_hh__ -" 39] -[ebrowse-ms "__globals_hh__" () 512 () () 0 0 "globals.hh" "#define __globals_hh__ -" 47] -[ebrowse-ms "__tokenzier_hh__" () 512 () () 0 0 "tokenizer.hh" "#define __tokenzier_hh__ -" 51] -) -([ebrowse-ms "TChar" () 0 () () 0 0 "dom.hh" "typedef DOM::Char32 TChar;" 131] -[ebrowse-ms "TString" () 0 () () 0 0 "dom.hh" "typedef DOM::UCS4String TString;" 164] -) -()() -][ebrowse-ts [ebrowse-cs "ProxyAttr" "TNode" 0"TNode.hh" " class ProxyAttr - {" 765"TNode.hh" ] -()([ebrowse-ms "name" () 0 () " std::string name;" 1155 2 () () 0] -[ebrowse-ms "node" () 0 () " DOM::Element node;" 1132 2 () () 0] -) -([ebrowse-ms "ProxyAttr" () 0 () "r(const DOM::Element& n, const std::string& s) :" 795 0 () "r(const DOM::Element& n, const std::string& s) :" 795] -[ebrowse-ms "operator =" () 0 () " ProxyAttr& operator=(const" 959 0 () " ProxyAttr& operator=(const" 959] -[ebrowse-ms "operator ==" () 0 () " bool operator==(const" 1040 0 () " bool operator==(const" 1040] -[ebrowse-ms "string" () 4 () " operator std::string()" 885 0 () " operator std::string()" 885] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "EventListener" "DOM" 0() () 0() ] -([ebrowse-ts [ebrowse-cs "DOMSubtreeModifiedListener" "TDocument" 0"TDocument.hh" " class DOMSubtreeModifiedListener :" 1015"TDocument.hh" ] -()([ebrowse-ms "doc" () 0 () " TDocument doc;" 1247 2 () () 0] -) -([ebrowse-ms "DOMSubtreeModifiedListener" () 0 () "DOMSubtreeModifiedListener(const TDocument& d) :" 1092 0 () "DOMSubtreeModifiedListener(const TDocument& d) :" 1092] -[ebrowse-ms "handleEvent" () 1 () " virtual void handleEvent(const" 1202 0 () () 0] -[ebrowse-ms "~DOMSubtreeModifiedListener" () 1 () " virtual ~DOMSubtreeModifiedListener()" 1162 0 () " virtual ~DOMSubtreeModifiedListener()" 1162] -) -() -() -() -() -()() -][ebrowse-ts [ebrowse-cs "TDocument" () 0"TDocument.hh" "class TDocument :" 108"TDocument.hh" ] -()([ebrowse-ms "dirty" () 0 () " DOM::Element dirty;" 971 2 () () 0] -[ebrowse-ms "doc" () 0 () " DOM::Document doc;" 949 2 () () 0] -) -([ebrowse-ms "TDocument" () 0 () " TDocument(void);" 162 0 "TDocument.cc" "TDocument::TDocument() -{" 108] -[ebrowse-ms "create" () 4 () " TNode create(const" 202 0 "TDocument.cc" "TDocument::create(const" 789] -[ebrowse-ms "createC" () 4 () " TNode createC(const" 327 0 "TDocument.cc" "TDocument::createC(const" 1062] -[ebrowse-ms "createG" () 4 () " TNode createG(unsigned" 262 0 () " TNode createG(unsigned" 262] -[ebrowse-ms "createI" () 4 () " TNode createI(const" 461 0 () " TNode createI(const" 461] -[ebrowse-ms "createN" () 4 () " TNode createN(const" 561 0 () " TNode createN(const" 561] -[ebrowse-ms "createO" () 4 () " TNode createO(const" 661 0 () " TNode createO(const" 661] -[ebrowse-ms "createT" () 4 () " TNode createT(const" 384 0 "TDocument.cc" "TDocument::createT(const" 1197] -[ebrowse-ms "dirtyIdNode" () 4 () " TNode dirtyIdNode(void" 872 0 "TDocument.cc" "TDocument::dirtyIdNode()" 2081] -[ebrowse-ms "dirtyNode" () 4 () " TNode dirtyNode(void" 821 0 () " TNode dirtyNode(void" 821] -[ebrowse-ms "handleEvent" () 1 () " virtual void handleEvent(const" 1293 2 "TDocument.cc" "TDocument::handleEvent(const" 2348] -[ebrowse-ms "root" () 0 () " TNode root(void" 758 0 () " TNode root(void" 758] -[ebrowse-ms "serialize" () 4 () " void serialize(const" 904 0 "TDocument.cc" "TDocument::serialize(const" 637] -[ebrowse-ms "~TDocument" () 0 () " ~TDocument()" 179 0 "TDocument.cc" "TDocument::~TDocument()" 460] -) -() -([ebrowse-ms "findCommonAncestor" () 0 () " static DOM::Node findCommonAncestor(const" 1398 2 "TDocument.cc" "TDocument::findCommonAncestor(const" 1560] -[ebrowse-ms "nodeDepth" () 0 () " static unsigned nodeDepth(const" 1341 2 "TDocument.cc" "TDocument::nodeDepth(const" 1362] -) -() -() -()() -])() -() -() -() -() -() -()() -] \ No newline at end of file diff --git a/helm/DEVEL/mathml_editor/src/CLoggerConsole.cc b/helm/DEVEL/mathml_editor/src/CLoggerConsole.cc deleted file mode 100644 index 0265f389d..000000000 --- a/helm/DEVEL/mathml_editor/src/CLoggerConsole.cc +++ /dev/null @@ -1,35 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include - -#include "CLoggerConsole.hh" - -void -CLoggerConsole::message(Level l, const std::string& msg) -{ - const char* ls[] = { "Error", "Warning", "Info", "Debug" }; - std::cerr << "*** " << ls[l] << ": " << msg << std::endl; -} diff --git a/helm/DEVEL/mathml_editor/src/CLoggerConsole.hh b/helm/DEVEL/mathml_editor/src/CLoggerConsole.hh deleted file mode 100644 index 630f7cf32..000000000 --- a/helm/DEVEL/mathml_editor/src/CLoggerConsole.hh +++ /dev/null @@ -1,40 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __CLoggerConsole_hh__ -#define __CLoggerConsole_hh__ - -#include "ALogger.hh" - -class CLoggerConsole : public ALogger -{ -public: - CLoggerConsole(void) { }; - -protected: - virtual void message(Level, const std::string&); -}; - -#endif // __CLoggerConsole_hh__ diff --git a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.cc b/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.cc deleted file mode 100644 index 888452030..000000000 --- a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.cc +++ /dev/null @@ -1,145 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include "dom.hh" -#include "TNode.hh" -#include "ALogger.hh" -#include "TDocument.hh" -#include "CMathMLFactoryXSLT.hh" -#include "AMathMLConsumer.hh" -#include - -CMathMLFactoryXSLT::CMathMLFactoryXSLT(ALogger& l, const DOMX::XSLTStylesheet& s) - : AMathMLFactory(l), style(s) -{ - DOM::DOMImplementation di; - DOM::DocumentType dt; - result = di.createDocument(MATHML_NS_URI, "m:math", dt); -} - -#if 1 -void -CMathMLFactoryXSLT::documentModified(TDocument& doc) -{ - std::vector< std::pair > dirtyId; - if (TNode dirty = doc.dirtyNode()) - if (result.get_documentElement().hasAttribute("xref")) - dirtyId.push_back(std::make_pair(DOM::GdomeString("id"), - DOM::GdomeString("'" + std::string(dirty["id"]) + "'"))); - DOM::Document res = style.apply(doc.document(), dirtyId); - assert(res); - //style.save(doc.document(), stdout); - - if (DOM::Element wrapper = res.get_documentElement()) - { - if (DOM::Element root = wrapper.get_firstChild()) - if (DOM::Element oldRoot = result.get_documentElement().get_firstChild()) - { - bool ok = subst(oldRoot, root.getAttribute("xref"), result.importNode(root, true)); - assert(ok); - doc.clearDirty(); - } - else - { - result.get_documentElement().appendChild(result.importNode(root, true)); - } - } - else - { - // Something wrong happened while applying the stylesheet. - DOM::Element root = result.get_documentElement(); - DOM::Node p = root.get_firstChild(); - while (p) { - DOM::Node next = p.get_nextSibling(); - root.removeChild(p); - p = next; - } - logger.error("The stylesheet produced an empty document"); - } - - //style.save(result, stdout); -} -#else -void -CMathMLFactoryXSLT::documentModified(TDocument& doc) -{ - DOM::Document res = style.apply(doc.document()); - assert(res); - - if (DOM::Element root = res.get_documentElement()) - { - DOM::Element newRoot = root.get_firstChild(); - assert(newRoot); - - if (DOM::Element oldSubRoot = result.get_documentElement().get_firstChild()) - { - result.get_documentElement().replaceChild(result.importNode(newRoot, true), oldSubRoot); - } - else - { - result.get_documentElement().appendChild(result.importNode(newRoot, true)); - } - } - else - { - // Something wrong happened while applying the stylesheet. - DOM::Element root = result.get_documentElement(); - DOM::Node p = root.get_firstChild(); - while (p) { - DOM::Node next = p.get_nextSibling(); - root.removeChild(p); - p = next; - } - logger.error("The stylesheet produced an empty document"); - } -} -#endif - -bool -CMathMLFactoryXSLT::subst(const DOM::Element& e1, const DOM::GdomeString& id, const DOM::Element& e2) -{ - assert(e1); - assert(e2); - if (e1.getAttribute("xref") == id) - { - DOM::Node parent = e1.get_parentNode(); - assert(parent); - parent.replaceChild(e2, e1); - return true; - } - else - { - DOM::Node p = e1.get_firstChild(); - while (p) - { - while (p && p.get_nodeType() != DOM::Node::ELEMENT_NODE) p = p.get_nextSibling(); - if (p) - if (subst(p, id, e2)) return true; - else p = p.get_nextSibling(); - } - return false; - } -} - diff --git a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.hh b/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.hh deleted file mode 100644 index 34d8fa984..000000000 --- a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLT.hh +++ /dev/null @@ -1,47 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __CMathMLFactoryXSLT_hh__ -#define __CMathMLFactoryXSLT_hh__ - -#include -#include "AMathMLFactory.hh" - -class CMathMLFactoryXSLT : public AMathMLFactory -{ -public: - CMathMLFactoryXSLT(class ALogger&, const class GdomeSmartDOMExt::XSLTStylesheet&); - - virtual void documentModified(class TDocument&); - virtual GdomeSmartDOM::Document document(void) const { return result; }; - -private: - static bool subst(const GdomeSmartDOM::Element&, const GdomeSmartDOM::GdomeString&, const GdomeSmartDOM::Element&); - - const class GdomeSmartDOMExt::XSLTStylesheet& style; - GdomeSmartDOM::Document result; -}; - -#endif // __CMathMLFactoryXSLT_hh__ diff --git a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.cc b/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.cc deleted file mode 100644 index 456f383b4..000000000 --- a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.cc +++ /dev/null @@ -1,102 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include - -#include "dom.hh" -#include "timer.hh" -#include "Diff.hh" -#include "TNode.hh" -#include "TDocument.hh" -#include "CMathMLFactoryXSLTDiff.hh" -#include "AMathMLConsumer.hh" - -CMathMLFactoryXSLTDiff::CMathMLFactoryXSLTDiff(ALogger& l, const DOMX::XSLTStylesheet& s) - : AMathMLFactory(l), style(s) -{ - DOM::DOMImplementation di; - DOM::DocumentType dt; - result = di.createDocument(MATHML_NS_URI, "m:math", dt); -} - -void -CMathMLFactoryXSLTDiff::documentModified(TDocument& doc) -{ -#if 0 - std::vector< std::pair > dirtyId; - if (TNode dirty = doc.dirtyNode()) - if (false && result.get_documentElement().hasAttribute("xref")) - dirtyId.push_back(std::make_pair(DOM::GdomeString("id"), - DOM::GdomeString("'" + std::string(dirty["id"]) + "'"))); -#endif - long t0 = getTimer(); - DOM::Document res = style.apply(doc.document()); - long t1 = getTimer(); - assert(res); - //cout << "*** THE TEX DOCUMENT" << endl; - //style.save(doc.document(), stdout); - //std::cout << "*** THE CURRENT DOCUMENT:" << std::endl; - //if (result) style.save(result, stdout); - //std::cout << "*** THE NEW DOCUMENT:" << std::endl; - //style.save(res, stdout); - //std::cout << "*** THE DIFF:" << std::endl; - DOMX::Diff diff = DOMX::Diff::diff(result, res); - //style.save(diff.document(), stdout); - long t2 = getTimer(); - diff.patch(); - long t3 = getTimer(); - - //std::cout << "=== APPLY = " << (t1 - t0) / 1000 << " DIFF = " << (t2 - t1) / 1000 << " PATCH = " << (t3 - t2) / 1000 << std::endl; - - doc.clearDirty(); -} - -bool -CMathMLFactoryXSLTDiff::subst(const DOM::Element& e1, const DOM::GdomeString& id, const DOM::Element& e2) -{ - assert(e1); - assert(e2); - if (e1.getAttribute("xref") == id) - { - DOMX::Diff diff = DOMX::Diff::diff(e1, e2); - //style.save(diff.document(), stdout); - diff.patch(); - return true; - } - else - { - DOM::Node p = e1.get_firstChild(); - while (p) - { - while (p && p.get_nodeType() != DOM::Node::ELEMENT_NODE) p = p.get_nextSibling(); - if (p) - if (subst(p, id, e2)) return true; - else p = p.get_nextSibling(); - } - return false; - } -} - diff --git a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.hh b/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.hh deleted file mode 100644 index 75ebfc260..000000000 --- a/helm/DEVEL/mathml_editor/src/CMathMLFactoryXSLTDiff.hh +++ /dev/null @@ -1,46 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __CMathMLFactoryXSLTDiff_hh__ -#define __CMathMLFactoryXSLTDiff_hh__ - -#include "AMathMLFactory.hh" - -class CMathMLFactoryXSLTDiff : public AMathMLFactory -{ -public: - CMathMLFactoryXSLTDiff(class ALogger&, const DOMX::XSLTStylesheet&); - - virtual void documentModified(class TDocument&); - virtual DOM::Document document(void) const { return result; }; - -private: - bool subst(const DOM::Element& e1, const DOM::GdomeString& id, const DOM::Element& e2); - - const DOMX::XSLTStylesheet& style; - DOM::Document result; -}; - -#endif // __CMathMLFactoryXSLT_hh__ diff --git a/helm/DEVEL/mathml_editor/src/Diff.cc b/helm/DEVEL/mathml_editor/src/Diff.cc deleted file mode 100644 index d8df81201..000000000 --- a/helm/DEVEL/mathml_editor/src/Diff.cc +++ /dev/null @@ -1,393 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include -#include -#include -#include - -#include "Diff.hh" - -namespace GdomeSmartDOMExt -{ - - Diff - Diff::diff(const Document& dest, const Document& source, flatNodeEq flatEq) - { - assert(dest); - assert(source); - assert(flatEq); - - return diff(dest.get_documentElement(), source.get_documentElement(), flatEq); - } - - Diff - Diff::diff(const Element& dest, const Element& source, flatNodeEq flatEq) - { - assert(dest); - assert(source); - assert(flatEq); - - DOMImplementation di; - Document doc = di.createDocument(DDIFF_NS_URI, "diff:doc", DocumentType()); - Element root = doc.get_documentElement(); - root.setAttributeNS(XMLNS_NS_URI, "xmlns:diff", DDIFF_NS_URI); - - Diff diff(dest, doc, flatEq); - if (Node d = diff.diffNodes(dest, source)) root.appendChild(d); - else root.appendChild(doc.createElementNS(DDIFF_NS_URI, "diff:same")); - - return diff; - } - - struct NodeEqPredicate : std::binary_function - { - NodeEqPredicate(Diff::flatNodeEq e) : eq(e) { }; - bool operator()(const Node& n1, const Node& n2) const { return eq(n1, n2); }; - - private: - Diff::flatNodeEq eq; - }; - - std::vector - collectProperAttributes(const Node& n) - { - assert(n); - NamedNodeMap map = n.get_attributes(); - unsigned len = map.get_length(); - - std::vector res; - res.reserve(len); - for (unsigned i = 0; i < len; i++) - { - Node attr = map.item(i); - assert(attr); - if (attr.get_nodeName() != "xmlns" && attr.get_prefix() != "xmlns") res.push_back(attr); - } - - return res; - } - - bool - Diff::defaultFlatNodeEq(const Node& n1, const Node& n2) - { - assert(n1); - assert(n2); - - unsigned nodeType = n1.get_nodeType(); - if (nodeType != n2.get_nodeType()) return false; - - GdomeString ns1 = n1.get_namespaceURI(); - GdomeString ns2 = n2.get_namespaceURI(); - if (ns1 != ns2) return false; - - switch (nodeType) - { - case Node::ATTRIBUTE_NODE: - if (!ns1.null()) - { - assert(!ns2.null()); - if (n1.get_localName() != n2.get_localName()) return false; - } - else - { - assert(ns2.null()); - if (n1.get_nodeName() != n2.get_nodeName()) return false; - } - // WARNING: fallback for checking node value - case Node::TEXT_NODE: - case Node::CDATA_SECTION_NODE: - if (n1.get_nodeValue() != n2.get_nodeValue()) return false; - return true; - case Node::ELEMENT_NODE: - { - //cout << "comparing: " << n1.get_nodeName() << " ? " << n2.get_nodeName() << endl; - if (!ns1.null()) - { - assert(!ns2.null()); - if (n1.get_localName() != n2.get_localName()) return false; - } - else - { - assert(ns2.null()); - if (n1.get_nodeName() != n2.get_nodeName()) return false; - } -#if 1 - std::vector m1 = collectProperAttributes(n1); - std::vector m2 = collectProperAttributes(n2); - if (m1.size() != m2.size()) return false; - - for (unsigned i = 0; i < m1.size(); i++) - { - std::vector::iterator p2 = std::find_if(m2.begin(), m2.end(), std::bind2nd(NodeEqPredicate(defaultFlatNodeEq), m1[i])); - if (p2 == m2.end()) return false; - } -#endif - } - return true; - default: - return true; - } - - } - - void - Diff::sameChunk(const Node& res, unsigned long n) const - { - assert(n > 0); - Element s = doc.createElementNS(DDIFF_NS_URI, "diff:same"); - if (n != 1) - { - std::ostringstream os; - os << n; - s.setAttribute("count", os.str()); - } - res.appendChild(s); - } - - Node - Diff::diffNodes(const Node& p1, const Node& p2) const - { - if (eq(p1, p2)) - { - Element m = doc.createElementNS(DDIFF_NS_URI, "diff:merge"); - if (diffChildren(p1, p2, m)) return m; - else return Node(); - } - else - { - Element r = doc.createElementNS(DDIFF_NS_URI, "diff:replace"); - r.appendChild(doc.importNode(p2, true)); - return r; - } - } - - bool - Diff::diffChildren(const Node& n1, const Node& n2, const Node& res) const - { - assert(n1); - assert(n2); - assert(res); - - Node p1 = n1.get_firstChild(); - Node p2 = n2.get_firstChild(); - bool same = true; - unsigned nSame = 0; - while (p1 && p2) - { - if (Node d = diffNodes(p1, p2)) - { - same = false; - if (nSame > 0) - { - sameChunk(res, nSame); - nSame = 0; - } - res.appendChild(d); - } - else - nSame++; - - p1 = p1.get_nextSibling(); - p2 = p2.get_nextSibling(); - } - - if (p1) - { - same = false; - if (nSame > 0) - { - sameChunk(res, nSame); - nSame = 0; - } - - unsigned nRemoved = 0; - while (p1) - { - nRemoved++; - p1 = p1.get_nextSibling(); - } - - if (nRemoved > 0) - { - Element r = doc.createElementNS(DDIFF_NS_URI, "diff:remove"); - if (nRemoved > 1) - { - std::ostringstream os; - os << nRemoved; - r.setAttribute("count", os.str()); - } - res.appendChild(r); - } - } - - if (p2) - { - same = false; - if (nSame > 0) - { - sameChunk(res, nSame); - nSame = 0; - } - - Element i = doc.createElementNS(DDIFF_NS_URI, "diff:insert"); - while (p2) - { - i.appendChild(doc.importNode(p2, true)); - p2 = p2.get_nextSibling(); - } - res.appendChild(i); - } - - return !same; - } - - static Node - getFirstElement(const Node& n) - { - Node p = n.get_firstChild(); - while (p && p.get_nodeType() != Node::ELEMENT_NODE) - p = p.get_nextSibling(); - return p; - } - - static Node - getNextElement(const Node& n) - { - Node p = n.get_nextSibling(); - while (p && p.get_nodeType() != Node::ELEMENT_NODE) - p = p.get_nextSibling(); - return p; - } - - void - Diff::patchRootNode(const Node& node, const Element& elem) const - { - GdomeString name = elem.get_localName(); - if (name == "same") - { - if (elem.hasAttribute("count")) - { - unsigned count; - std::istringstream is(elem.getAttribute("count")); - is >> count; - assert(count == 1); - } - } - else if (name == "replace") - { - Document d1 = node.get_ownerDocument(); - Node parent = node.get_parentNode(); - assert(parent); -#if 0 - /* the following patch is because of gdome2 bug that prevents from - * replacing the root element of a document. - */ - assert(!node.get_previousSibling()); - assert(!node.get_nextSibling()); - parent.removeChild(node); - parent.appendChild(d1.importNode(getFirstElement(elem), true)); -#endif - parent.replaceChild(d1.importNode(getFirstElement(elem), true), node); - } - else if (name == "merge") - patchChildren(node, elem); - else - assert(0); - } - - void - Diff::patchChildren(const Node& n1, const Element& e2) const - { - Node p1 = n1.get_firstChild(); - Element p2 = getFirstElement(e2); - while (p2) - { - GdomeString name = p2.get_localName(); - if (name == "same") - { - unsigned count = 1; - if (p2.hasAttribute("count")) - { - std::istringstream is(p2.getAttribute("count")); - is >> count; - } - while (count-- > 0) - { - if (!p1) throw BADDiff("too few nodes in original document (same)"); - p1 = p1.get_nextSibling(); - } - } - else if (name == "replace") - { - Document d1 = n1.get_ownerDocument(); - if (!p1) throw BADDiff("no node to replace in original document"); - Node next = p1.get_nextSibling(); - n1.replaceChild(d1.importNode(p2.get_firstChild(), true), p1); - p1 = next; - } - else if (name == "insert") - { - Document d1 = n1.get_ownerDocument(); - for (Node i = p2.get_firstChild(); i; i = i.get_nextSibling()) - n1.insertBefore(d1.importNode(i, true), p1); - } - else if (name == "merge") - { - if (!p1) throw BADDiff("no node to merge in original document"); - patchChildren(p1, p2); - p1 = p1.get_nextSibling(); - } - else if (name == "remove") - { - unsigned count = 1; - if (p2.hasAttribute("count")) - { - std::istringstream is(p2.getAttribute("count")); - is >> count; - } - while (count-- > 0) - { - if (!p1) throw BADDiff("too few nodes in original document (remove)"); - Node next = p1.get_nextSibling(); - n1.removeChild(p1); - p1 = next; - } - } - else - assert(0); - - p2 = getNextElement(p2); - } - } - - void - Diff::patch() const - { - patchRootNode(dest, getFirstElement(doc.get_documentElement())); - } - -} diff --git a/helm/DEVEL/mathml_editor/src/Diff.hh b/helm/DEVEL/mathml_editor/src/Diff.hh deleted file mode 100644 index a047d6baa..000000000 --- a/helm/DEVEL/mathml_editor/src/Diff.hh +++ /dev/null @@ -1,77 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __Diff_hh__ -#define __Diff_hh__ - -#include - -#define XMLNS_NS_URI "http://www.w3.org/2000/xmlns/" -#define DDIFF_NS_URI "http://helm.cs.unibo.it/2002/DDIFF" - -namespace GdomeSmartDOMExt -{ - - using namespace GdomeSmartDOM; - - class Diff - { - public: - typedef bool (*flatNodeEq)(const Node&, const Node&); - static bool defaultFlatNodeEq(const Node&, const Node&); - - private: - Diff(const Node& n, const Document& d, flatNodeEq e) : dest(n), doc(d), eq(e) { }; - - public: - static Diff diff(const Document&, const Document&, flatNodeEq = defaultFlatNodeEq); - static Diff diff(const Element&, const Element&, flatNodeEq = defaultFlatNodeEq); - - Document document(void) const { return doc; }; - Node node(void) const { return dest; }; - - void patch(void) const; - - struct BADDiff - { - BADDiff(const std::string& s) : msg(s) { }; - const std::string msg; - }; - - private: - Node diffNodes(const Node&, const Node&) const; - bool diffChildren(const Node&, const Node&, const Node&) const; - void sameChunk(const Node&, unsigned long) const; - void patchRootNode(const Node&, const Element&) const; - void patchChildren(const Node&, const Element&) const; - - Document doc; - Node dest; - flatNodeEq eq; - }; - -} - -#endif // __ddiff_hh__ diff --git a/helm/DEVEL/mathml_editor/src/ILPushLexer.cc b/helm/DEVEL/mathml_editor/src/ILPushLexer.cc deleted file mode 100644 index b82b52e5c..000000000 --- a/helm/DEVEL/mathml_editor/src/ILPushLexer.cc +++ /dev/null @@ -1,51 +0,0 @@ - -#include -#include - -#include "ALogger.hh" -#include "TToken.hh" -#include "ILPushLexer.hh" -#include "APushParser.hh" -#include "TDictionary.hh" - -ILPushLexer::ILPushLexer(ALogger& l, APushParser& p, TDictionary& d) : LPushLexer(l, p), dictionary(d) -{ - state = ACCEPT; -} - -bool -ILPushLexer::complete() -{ - if (state == MACRO) - { - std::list complete_list; - std::string new_buffer = dictionary.complete(buffer, complete_list); - - if (!complete_list.size()) - { - // no matching macro - logger.warning("no known macro with `" + buffer + "' prefix"); - } - else if (complete_list.size() == 1) - { - // good! we have found the macro - buffer = new_buffer; - } - else - { - // we have more than one matching macro - logger.warning("ambiguous prefix `" + buffer + "'"); - for (std::list::const_iterator p = complete_list.begin(); - p != complete_list.end(); - p++) - { - logger.info("Candidate: " + *p); - } - buffer = new_buffer; - } - - displayCursor(); - return true; - } - else return false; -} diff --git a/helm/DEVEL/mathml_editor/src/ILPushLexer.hh b/helm/DEVEL/mathml_editor/src/ILPushLexer.hh deleted file mode 100644 index 1af6f93ea..000000000 --- a/helm/DEVEL/mathml_editor/src/ILPushLexer.hh +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef __ILPushLexer_hh__ -#define __ILPushLexer_hh__ - -#include - -#include "LPushLexer.hh" - -class ILPushLexer : public LPushLexer -{ -public: - ILPushLexer(class ALogger&, class APushParser&, class TDictionary&); - ~ILPushLexer(void) { }; - - virtual bool complete(void); - -protected: - class TDictionary& dictionary; -}; - -#endif diff --git a/helm/DEVEL/mathml_editor/src/ITPushLexer.cc b/helm/DEVEL/mathml_editor/src/ITPushLexer.cc deleted file mode 100644 index b4d1b6c12..000000000 --- a/helm/DEVEL/mathml_editor/src/ITPushLexer.cc +++ /dev/null @@ -1,44 +0,0 @@ -#include -#include - -#include "ALogger.hh" -#include "TToken.hh" -#include "ITPushLexer.hh" -#include "APushParser.hh" -#include "TDictionary.hh" - -ITPushLexer::ITPushLexer(ALogger& l, APushParser& p, TDictionary& d) : TPushLexer(l, p), dictionary(d) -{ - state = ACCEPT; -} - -bool -ITPushLexer::complete() -{ - if (state == MACRO) - { - std::list complete_list; - std::string new_buffer = dictionary.complete(buffer, complete_list); - - if (!complete_list.size()) - { - // no matching macro - logger.warning("wrong prefix: nothing to complete"); - } - else if (complete_list.size() == 1) - { - // good! we have found the macro - buffer = new_buffer; - } - else - { - // we have more than one matching macro - logger.warning("prefix not sufficient"); - buffer = new_buffer; - } - - displayCursor(); - return true; - } - else return false; -} diff --git a/helm/DEVEL/mathml_editor/src/ITPushLexer.hh b/helm/DEVEL/mathml_editor/src/ITPushLexer.hh deleted file mode 100644 index 5b5ace351..000000000 --- a/helm/DEVEL/mathml_editor/src/ITPushLexer.hh +++ /dev/null @@ -1,20 +0,0 @@ - -#ifndef __ITPushLexer_hh__ -#define __ITPushLexer_hh__ - -#include - -#include "TPushLexer.hh" - -class ITPushLexer : public TPushLexer -{ -public: - ITPushLexer(class ALogger&, class APushParser&, class TDictionary&); - ~ITPushLexer(void) { }; - - virtual bool complete(void); -private: - class TDictionary& dictionary; -}; - -#endif diff --git a/helm/DEVEL/mathml_editor/src/LPushLexer.cc b/helm/DEVEL/mathml_editor/src/LPushLexer.cc deleted file mode 100644 index a16801bf0..000000000 --- a/helm/DEVEL/mathml_editor/src/LPushLexer.cc +++ /dev/null @@ -1,382 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include -#include - -#include "ALogger.hh" -#include "TToken.hh" -#include "LPushLexer.hh" -#include "APushParser.hh" - -LPushLexer::LPushLexer(ALogger& l, APushParser& p) : APushLexer(l, p) -{ - state = ACCEPT; -} - -void -LPushLexer::reset() -{ - buffer.erase(); - state = ACCEPT; - - displayCursor(); -} - -void -LPushLexer::flush() -{ - push(-1); -} - -void -LPushLexer::transaction(char ch, State newState) -{ - switch (ch) - { - case '{': parser.push(TToken(TToken::BEGIN)); break; - case '}': parser.push(TToken(TToken::END)); break; - case '$': parser.push(TToken(TToken::SHIFT)); break; - case '&': parser.push(TToken(TToken::ALIGN)); break; - case '\n': - case '\r': parser.push(TToken(TToken::EOL, ch)); break; - case '^': parser.push(TToken(TToken::SUPERSCRIPT)); break; - case '_': parser.push(TToken(TToken::SUBSCRIPT)); break; - case '\t': parser.push(TToken(TToken::IGNORABLE_SPACE, ch)); break; - case ' ': parser.push(TToken(TToken::SPACE, ch)); break; - case '~': parser.push(TToken(TToken::ACTIVE, ch)); break; - case '%': parser.push(TToken(TToken::COMMENT)); break; - default: parser.push(TToken(TToken::OTHER, ch)); break; - } - state = newState; -} - -void -LPushLexer::push(char ch) -{ - switch (state) - { - case ACCEPT: - if (ch == '\\') state = ESCAPE; - else if (ch == '#') state = PARAMETER; - else if (ch == -1) ; - else if (isalpha(ch)) - { - buffer.push_back(ch); - state = IDENTIFIER; - } - else if (isdigit(ch)) - { - buffer.push_back(ch); - state = NUMBER; - } - else transaction(ch, ACCEPT); - break; - case ESCAPE: - if (isalpha(ch)) - { - buffer.push_back(ch); - state = MACRO; - } - else if (ch == -1) error(); - else if (isdigit(ch)) - { - // in this case, the previous '\' is ignored - buffer.push_back(ch); - state = NUMBER; - } - else - { - parser.push(TToken(TToken::CONTROL, ch)); - state = ACCEPT; - } - break; - case MACRO: - if (ch == '\\') - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - state = ESCAPE; - } - else if (ch == '#') - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - state = PARAMETER; - } - else if (isalpha(ch)) - buffer.push_back(ch); - else if (ch == -1) - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - state = ACCEPT; - } - else if (isspace(ch)) - { - // we don't call transaction, because a white space is useful to exit from the macro, - // without "side effect". It's the TeX syntax. - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - state = ACCEPT; - } - else if (isdigit(ch)) - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - buffer.push_back(ch); - state = NUMBER; - } - else - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - transaction(ch, ACCEPT); - } - break; - case PARAMETER: - if (ch == -1) error(); - else - { - parser.push(TToken(TToken::PARAMETER, ch)); - state = ACCEPT; - } - break; - case IDENTIFIER: - if (ch == -1) - { - parser.push(TToken(TToken::LETTER, buffer)); - buffer.erase(); - state = ACCEPT; - } - else if (isalpha(ch) || isdigit(ch)) - { - buffer.push_back(ch); - } - else if (ch == '\\') state = ESCAPED_CHARACTER; - else if (ch == '#') - { - parser.push(TToken(TToken::LETTER, buffer)); - buffer.erase(); - state = PARAMETER; - } - else - { - parser.push(TToken(TToken::LETTER, buffer)); - buffer.erase(); - transaction(ch, ACCEPT); - } - break; - case ESCAPED_CHARACTER: - if ((ch == '-') || (ch == '_') || (ch == '/')) - { - buffer.push_back(ch); - state = IDENTIFIER; - } - else if (isalpha(ch)) - { - parser.push(TToken(TToken::LETTER, buffer)); - buffer.erase(); - buffer.push_back(ch); - state = MACRO; - } - else if (ch == -1) error(); - else if (isdigit(ch)) - { - parser.push(TToken(TToken::LETTER, buffer)); - buffer.erase(); - buffer.push_back(ch); - state = NUMBER; - } - else - { - parser.push(TToken(TToken::LETTER, buffer)); - buffer.erase(); - parser.push(TToken(TToken::CONTROL, ch)); - state = ACCEPT; - } - break; - case NUMBER: - if (isdigit(ch)) buffer.push_back(ch); - else if (isalpha(ch)) - { - parser.push(TToken(TToken::DIGIT, buffer)); - buffer.erase(); - buffer.push_back(ch); - state = IDENTIFIER; - } - else if (ch == -1) - { - parser.push(TToken(TToken::DIGIT, buffer)); - buffer.erase(); - state = ACCEPT; - } - else if (ch == '\\') - { - parser.push(TToken(TToken::DIGIT, buffer)); - buffer.erase(); - state = ESCAPE; - } - else if (ch == '#') - { - parser.push(TToken(TToken::DIGIT, buffer)); - buffer.erase(); - state = PARAMETER; - } - else - { - parser.push(TToken(TToken::DIGIT, buffer)); - buffer.erase(); - transaction(ch, ACCEPT); - } - break; - default: - assert(0); - break; - } - - displayCursor(); - -} - -void -LPushLexer::drop(bool alt) -{ - std::string restore = ""; - - switch (state) - { - case ACCEPT: - { - restore = parser.drop(alt); - long bs_pos = restore.find('\\'); - if ((restore.length() > 0) && (bs_pos != std::string::npos)) - { - // in this case we have to control the blackslash's position - if (bs_pos == 0) - { - //logger.debug(restore); - buffer = std::string(restore, 1, restore.length() - 1); - state = (buffer.length() > 0) ? MACRO : ESCAPE; - } - else - { - assert(bs_pos == restore.length() - 1); - buffer = std::string(restore, 0, bs_pos); - state = ESCAPED_CHARACTER; - } - } - else if (restore.length() > 0 && isdigit(restore[0])) - { - buffer = restore; - state = NUMBER; - } - else if (restore.length() > 0 && isalpha(restore[0])) - { - buffer = restore; - state = IDENTIFIER; - } - } - break; -/* if (restore.length() > 0 && restore[0] == '\\') - { - logger.debug(restore); - buffer = std::string(restore, 1, restore.length() - 1); - state = (buffer.length() > 0) ? MACRO : ESCAPE; - } - else if (restore.length() > 0 && isdigit(restore[0])) - { - buffer = restore; - state = NUMBER; - } - else if (restore.length() > 0 && isalpha(restore[0])) - { - buffer = restore; - state = IDENTIFIER; - } - break;*/ - case ESCAPED_CHARACTER: - state = IDENTIFIER; - break; - case ESCAPE: - state = ACCEPT; - break; - case MACRO: - if (alt) buffer.erase(); - else buffer.erase(buffer.length() - 1, 1); - if (buffer.length() == 0) state = ESCAPE; - break; - case IDENTIFIER: - switch (buffer[buffer.length() - 1]) - { - case '-': - case '_': - buffer.erase(buffer.length() - 1, 1); - if (alt) state = ESCAPED_CHARACTER; - break; - default: - if (alt) buffer.erase(); - else buffer.erase(buffer.length() - 1, 1); - if (buffer.length() == 0) state = ACCEPT; - break; - } - break; - case NUMBER: - if (alt) buffer.erase(); - else buffer.erase(buffer.length() - 1, 1); - if (buffer.length() == 0) state = ACCEPT; - break; - case PARAMETER: - default: - //assert(0); - error(); - break; - } - - displayCursor(); - -} - -void -LPushLexer::displayCursor() -{ - switch (state) - { - case ESCAPE: parser.setCursorHint("\\"); break; - case ESCAPED_CHARACTER: parser.setCursorHint(buffer + "\\"); break; - case MACRO: parser.setCursorHint("\\" + buffer); break; - case PARAMETER: parser.setCursorHint("#"); break; - case IDENTIFIER: parser.setCursorHint(buffer); break; - case NUMBER: parser.setCursorHint(buffer); break; - default: parser.setCursorHint(""); break; - } -} - -bool -LPushLexer::error() const -{ - return false; -} diff --git a/helm/DEVEL/mathml_editor/src/LPushLexer.hh b/helm/DEVEL/mathml_editor/src/LPushLexer.hh deleted file mode 100644 index a9f95e200..000000000 --- a/helm/DEVEL/mathml_editor/src/LPushLexer.hh +++ /dev/null @@ -1,65 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __LPushLexer_hh__ -#define __LPushLexer_hh__ - -#include - -#include "APushLexer.hh" - -class LPushLexer : public APushLexer -{ -public: - LPushLexer(class ALogger&, class APushParser&); - virtual ~LPushLexer() { }; - - virtual void push(char); - virtual void drop(bool); - virtual bool complete(void) {}; - virtual void reset(void); - virtual void flush(void); - virtual bool error(void) const; - -protected: - enum State - { - ACCEPT, - ESCAPE, - MACRO, - PARAMETER, - IDENTIFIER, - ESCAPED_CHARACTER, - NUMBER - }; - - void transaction(char, State); - void displayCursor(void); - - State state; - std::string buffer; -}; - -#endif // __LPushLexer_hh__ diff --git a/helm/DEVEL/mathml_editor/src/Makefile.am b/helm/DEVEL/mathml_editor/src/Makefile.am deleted file mode 100644 index 1f3a12ddf..000000000 --- a/helm/DEVEL/mathml_editor/src/Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ - -lib_LTLIBRARIES = libeditex.la - -libeditex_la_LDFLAGS = -version-info @EDITEX_VERSION_INFO@ - -libeditex_la_LIBADD = \ - $(GMETADOM_LIBS) \ - $(GDOMEXSLT_LIBS) \ - -lstdc++ - -libeditex_la_SOURCES = \ - Diff.cc \ - CLoggerConsole.cc \ - ITPushLexer.cc \ - ILPushLexer.cc \ - TPushLexer.cc \ - LPushLexer.cc \ - APushParser.cc \ - TPushParser.cc \ - AMathMLFactory.cc \ - CMathMLFactoryXSLT.cc \ - CMathMLFactoryXSLTDiff.cc \ - TDictionary.cc \ - TDocument.cc \ - TNode.cc \ - TTokenizer.cc \ - timer.cc - -pkginclude_HEADERS = \ - Diff.hh \ - ALogger.hh \ - CLoggerConsole.hh \ - APushLexer.hh \ - APushParser.hh \ - AMathMLFactory.hh \ - AMathMLConsumer.hh \ - CMathMLFactoryXSLT.hh \ - CMathMLFactoryXSLTDiff.hh \ - TPushLexer.hh \ - LPushLexer.hh \ - ITPushLexer.hh \ - ILPushLexer.hh \ - TPushParser.hh \ - TTokenizer.hh \ - TDictionary.hh \ - TDocument.hh \ - TNode.hh \ - TListener.hh \ - TToken.hh \ - globals.hh \ - dom.hh \ - timer.hh - -INCLUDES = \ - $(GMETADOM_CFLAGS) \ - $(GDOMEXSLT_CFLAGS) - diff --git a/helm/DEVEL/mathml_editor/src/Makefile.in b/helm/DEVEL/mathml_editor/src/Makefile.in deleted file mode 100644 index 0863b0101..000000000 --- a/helm/DEVEL/mathml_editor/src/Makefile.in +++ /dev/null @@ -1,431 +0,0 @@ -# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AS = @AS@ -CC = @CC@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EDITEX_VERSION_INFO = @EDITEX_VERSION_INFO@ -EXEEXT = @EXEEXT@ -GDOMEXSLT_CFLAGS = @GDOMEXSLT_CFLAGS@ -GDOMEXSLT_LIBS = @GDOMEXSLT_LIBS@ -GMETADOM_CFLAGS = @GMETADOM_CFLAGS@ -GMETADOM_LIBS = @GMETADOM_LIBS@ -GTKMATHVIEW_CFLAGS = @GTKMATHVIEW_CFLAGS@ -GTKMATHVIEW_LIBS = @GTKMATHVIEW_LIBS@ -HAVE_OCAMLC = @HAVE_OCAMLC@ -HAVE_OCAMLDEP = @HAVE_OCAMLDEP@ -HAVE_OCAMLFIND = @HAVE_OCAMLFIND@ -HAVE_OCAMLMKLIB = @HAVE_OCAMLMKLIB@ -HAVE_OCAMLOPT = @HAVE_OCAMLOPT@ -LDFLAGS = @LDFLAGS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -MAKEINFO = @MAKEINFO@ -MLGDOME_CFLAGS = @MLGDOME_CFLAGS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OCAMLC = @OCAMLC@ -OCAMLDEP = @OCAMLDEP@ -OCAMLFIND = @OCAMLFIND@ -OCAMLMKLIB = @OCAMLMKLIB@ -OCAMLOPT = @OCAMLOPT@ -OCAMLSTDLIBDIR = @OCAMLSTDLIBDIR@ -OCAMLSTUBDIR = @OCAMLSTUBDIR@ -OCAML_INCLUDE_DIR = @OCAML_INCLUDE_DIR@ -PACKAGE = @PACKAGE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ - -lib_LTLIBRARIES = libeditex.la - -libeditex_la_LDFLAGS = -version-info @EDITEX_VERSION_INFO@ - -libeditex_la_LDADDS = $(GMETADOM_LIBS) $(GDOMEXSLT_LIBS) - - -libeditex_la_SOURCES = Diff.cc CLoggerConsole.cc ITPushLexer.cc ILPushLexer.cc TPushLexer.cc LPushLexer.cc APushParser.cc TPushParser.cc CMathMLFactoryXSLT.cc CMathMLFactoryXSLTDiff.cc TDictionary.cc TDocument.cc TNode.cc TTokenizer.cc - - -pkginclude_HEADERS = Diff.hh ALogger.hh CLoggerConsole.hh APushLexer.hh APushParser.hh AMathMLFactory.hh AMathMLConsumer.hh CMathMLFactoryXSLT.hh CMathMLFactoryXSLTDiff.hh TPushLexer.hh LPushLexer.hh ITPushLexer.hh ILPushLexer.hh TPushParser.hh TTokenizer.hh TDictionary.hh TDocument.hh TNode.hh TListener.hh TToken.hh globals.hh dom.hh - - -INCLUDES = $(GMETADOM_CFLAGS) $(GDOMEXSLT_CFLAGS) - -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(lib_LTLIBRARIES) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -LIBS = @LIBS@ -libeditex_la_LIBADD = -libeditex_la_OBJECTS = Diff.lo CLoggerConsole.lo ITPushLexer.lo \ -ILPushLexer.lo TPushLexer.lo LPushLexer.lo APushParser.lo \ -TPushParser.lo CMathMLFactoryXSLT.lo CMathMLFactoryXSLTDiff.lo \ -TDictionary.lo TDocument.lo TNode.lo TTokenizer.lo -CXXFLAGS = @CXXFLAGS@ -CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ -HEADERS = $(pkginclude_HEADERS) - -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -DEP_FILES = .deps/APushParser.P .deps/CLoggerConsole.P \ -.deps/CMathMLFactoryXSLT.P .deps/CMathMLFactoryXSLTDiff.P .deps/Diff.P \ -.deps/ILPushLexer.P .deps/ITPushLexer.P .deps/LPushLexer.P \ -.deps/TDictionary.P .deps/TDocument.P .deps/TNode.P .deps/TPushLexer.P \ -.deps/TPushParser.P .deps/TTokenizer.P -SOURCES = $(libeditex_la_SOURCES) -OBJECTS = $(libeditex_la_OBJECTS) - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .cc .lo .o .obj .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-libLTLIBRARIES: - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - -distclean-libLTLIBRARIES: - -maintainer-clean-libLTLIBRARIES: - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(libdir) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ - done - -# FIXME: We should only use cygpath when building on Windows, -# and only if it is available. -.c.obj: - $(COMPILE) -c `cygpath -w $<` - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -rm -f *.$(OBJEXT) - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -libeditex.la: $(libeditex_la_OBJECTS) $(libeditex_la_DEPENDENCIES) - $(CXXLINK) -rpath $(libdir) $(libeditex_la_LDFLAGS) $(libeditex_la_OBJECTS) $(libeditex_la_LIBADD) $(LIBS) -.cc.o: - $(CXXCOMPILE) -c $< -.cc.obj: - $(CXXCOMPILE) -c `cygpath -w $<` -.cc.lo: - $(LTCXXCOMPILE) -c $< - -install-pkgincludeHEADERS: $(pkginclude_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(pkgincludedir) - @list='$(pkginclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ - echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p"; \ - $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p; \ - done - -uninstall-pkgincludeHEADERS: - @$(NORMAL_UNINSTALL) - list='$(pkginclude_HEADERS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgincludedir)/$$p; \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = src - -distdir: $(DISTFILES) - here=`cd $(top_builddir) && pwd`; \ - top_distdir=`cd $(top_distdir) && pwd`; \ - distdir=`cd $(distdir) && pwd`; \ - cd $(top_srcdir) \ - && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) - --include $(DEP_FILES) - -mostlyclean-depend: - -clean-depend: - -distclean-depend: - -rm -rf .deps - -maintainer-clean-depend: - -%.o: %.c - @echo '$(COMPILE) -c $<'; \ - $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-cp .deps/$(*F).pp .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm .deps/$(*F).pp - -%.lo: %.c - @echo '$(LTCOMPILE) -c $<'; \ - $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ - < .deps/$(*F).pp > .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm -f .deps/$(*F).pp - -%.o: %.cc - @echo '$(CXXCOMPILE) -c $<'; \ - $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-cp .deps/$(*F).pp .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm .deps/$(*F).pp - -%.lo: %.cc - @echo '$(LTCXXCOMPILE) -c $<'; \ - $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ - < .deps/$(*F).pp > .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm -f .deps/$(*F).pp -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-libLTLIBRARIES -install-exec: install-exec-am - -install-data-am: install-pkgincludeHEADERS -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS -uninstall: uninstall-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(pkgincludedir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags mostlyclean-depend \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \ - clean-depend clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-libLTLIBRARIES distclean-compile \ - distclean-libtool distclean-tags distclean-depend \ - distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-libLTLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-depend \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \ -clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \ -uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \ -distclean-compile clean-compile maintainer-clean-compile \ -mostlyclean-libtool distclean-libtool clean-libtool \ -maintainer-clean-libtool uninstall-pkgincludeHEADERS \ -install-pkgincludeHEADERS tags mostlyclean-tags distclean-tags \ -clean-tags maintainer-clean-tags distdir mostlyclean-depend \ -distclean-depend clean-depend maintainer-clean-depend info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ -install-exec install-data-am install-data install-am install \ -uninstall-am uninstall all-redirect all-am all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/helm/DEVEL/mathml_editor/src/TDictionary.cc b/helm/DEVEL/mathml_editor/src/TDictionary.cc deleted file mode 100644 index 25f6c9674..000000000 --- a/helm/DEVEL/mathml_editor/src/TDictionary.cc +++ /dev/null @@ -1,316 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include - -#include "dom.hh" -#include "config.dirs" -#include "TDictionary.hh" -#include "TTokenizer.hh" -#include "CLoggerConsole.hh" - -static TDictionary::Entry undefinedEntry; - -static std::string -getURIBase(const std::string& uri) -{ - std::string::size_type slash = uri.rfind('/'); - if (slash != std::string::npos) return uri.substr(0, slash + 1); - else return ""; -} - -static std::string -getURIName(const std::string& uri) -{ - std::string::size_type slash = uri.rfind('/'); - if (slash != std::string::npos) return uri.substr(slash + 1, uri.size()); - else return uri; -} - -std::string -TDictionary::getDefaultDictionaryPath() -{ - return PKGDATADIR"/dictionary-tex.xml"; -} - -void -TDictionary::load(const std::string& uri) -{ - load(getURIName(uri), getURIBase(uri)); -} - -void -TDictionary::load(const std::string& name, const std::string& base) -{ - logger.debug("Dictionary: loading `" + base + name + "'"); - - DOM::DOMImplementation di; - DOM::Document doc = di.createDocumentFromURI((base + name).c_str()); - assert(doc); - load(doc, base); -} - -void -TDictionary::load(const DOM::Document& doc, const std::string& base) -{ - assert(doc); - - DOM::Element root = doc.get_documentElement(); - assert(root); - - CLoggerConsole logger; - TTokenizer tokenizer(logger); - - for (DOM::Node p = root.get_firstChild(); p; p = p.get_nextSibling()) - if (p.get_nodeType() == DOM::Node::ELEMENT_NODE && p.get_nodeName() == "include") - { - DOM::Element el = p; - assert(el); - if (el.hasAttribute("href")) - { - // WARNING: this may result into an infinite loop! - std::string href = el.getAttribute("href"); - std::string newBase = getURIBase(href); - std::string newName = getURIName(href); - if (newBase != "") load(newName, newBase); - else load(newName, base); - } - else - logger.warning("Dictionary: include statement with no href attribute (ignored)"); - } - else if (p.get_nodeType() == DOM::Node::ELEMENT_NODE && p.get_nodeName() == "entry") - { - DOM::Element el = p; - assert(el); - assert(el.hasAttribute("name")); - - std::string name = el.getAttribute("name"); - if (entries.find(name) != entries.end()) - logger.info("Dictionary: `" + name + "' is being redefined"); - - Entry entry; - - if (el.hasAttribute("class")) - { - std::string cls = el.getAttribute("class"); - if (cls == "o") entry.cls = OPERATOR; - else if (cls == "i") entry.cls = IDENTIFIER; - else if (cls == "n") entry.cls == NUMBER; - else entry.cls = MACRO; - } - else - entry.cls = MACRO; - - if (el.hasAttribute("val")) - { - entry.value = el.getAttribute("val"); - if (entry.cls == MACRO) - logger.warning("Dictionary: `" + name + "' has a specified value, but is classified as macro"); - } - - if (el.hasAttribute("pattern")) - { - if (entry.cls != MACRO) - logger.warning("Dictionary: `" + name + "' has a specified pattern, but is not classified as macro"); - - std::string pattern = el.getAttribute("pattern"); - if (pattern == "{}") - entry.leftOpen = entry.rightOpen = 1; - else if (pattern == "{") - entry.leftOpen = 1; - else if (pattern == "}") - entry.rightOpen = 1; - else - entry.pattern = tokenizer.tokenize(pattern); - } - -#if 0 - if (el.hasAttribute("infix")) - { - std::istringstream is(el.getAttribute("infix")); - unsigned infix; - is >> infix; - entry.infix = infix; - if (!el.hasAttribute("prefix")) entry.prefix = infix; - if (!el.hasAttribute("postfix")) entry.postfix = infix; - } - - if (el.hasAttribute("prefix")) - { - std::istringstream is(el.getAttribute("prefix")); - unsigned prefix; - is >> prefix; - entry.prefix = prefix; - if (!el.hasAttribute("infix")) - { - entry.infix = prefix; - if (!el.hasAttribute("postfix")) entry.postfix = prefix; - } - } - - if (el.hasAttribute("postfix")) - { - std::istringstream is(el.getAttribute("postfix")); - unsigned postfix; - is >> postfix; - entry.postfix = postfix; - if (!el.hasAttribute("infix")) - { - entry.infix = postfix; - if (!el.hasAttribute("prefix")) entry.prefix = postfix; - } - } -#endif - - if (el.hasAttribute("limits")) - { - std::istringstream is(el.getAttribute("limits")); - unsigned limits; - is >> limits; - entry.limits = limits; - } - - if (el.hasAttribute("embellishment")) - { - std::istringstream is(el.getAttribute("embellishment")); - unsigned embellishment; - is >> embellishment; - entry.embellishment = embellishment; - } - - if (el.hasAttribute("delimiter")) - { - if (entry.cls != OPERATOR && !entry.embellishment) - logger.warning("Dictionary: `" + name + "' delimiter ignored for non-operator"); - - std::istringstream is(el.getAttribute("delimiter")); - unsigned delimiter; - is >> delimiter; - entry.delimiter = delimiter; - } - - if (el.hasAttribute("table")) - { - if (entry.cls != MACRO) - logger.warning("Dictionary: `" + name + "' table ignored for non-macro"); - - std::istringstream is(el.getAttribute("table")); - unsigned table; - is >> table; - entry.table = table; - } - - entries[name] = entry; - } -} - -const TDictionary::Entry& -TDictionary::find(const std::string& name) const -{ - Dictionary::const_iterator p = entries.find(name); - if (p != entries.end()) return (*p).second; - else - { - logger.warning("unknown entry `" + name + "'"); - return undefinedEntry; - } -} - -std::string -TDictionary::complete(const std::string prefix, std::list& complete_list) const -{ - bool no_match = true; - std::string new_prefix = ""; - for (Dictionary::const_iterator i = entries.begin(); i != entries.end(); i++) - { - if ((*i).first.find(prefix) == 0) - { - complete_list.push_front((*i).first); - if (no_match) - { - // it's the first match - no_match = false; - new_prefix = (*i).first; - } - else - { - // in this case, new_prefix has been set yet. - std::string s1 = (*i).first.substr(prefix.length()); // s1 is the high part of the matching string - std::string s2 = new_prefix.substr(prefix.length()); // s2 is the high part of new_prefix -#if 0 - long j = 0; // it's the number of common characters - while (s1[j] == s2[j]) j++; -#endif - std::string::const_iterator i1 = s1.begin(); - std::string::const_iterator i2 = s2.begin(); - while (i1 != s1.end() && i2 != s2.end() && *i1 == *i2) i1++, i2++; - new_prefix = prefix + s1.substr(0, i1 - s1.begin()); - //new_prefix = (j) ? prefix + s1.substr(0, i1 - s1.begin()) : prefix; - } - } - } - - return new_prefix; -} - -bool -TDictionary::Entry::paramDelimited(unsigned i) const -{ - assert(i < pattern.size()); - assert(pattern[i].category == TToken::PARAMETER); - // a parameter is delimited if it is NOT the last one - // AND the next argument is not a parameter - return i + 1 < pattern.size() && pattern[i + 1].category != TToken::PARAMETER; -} - -bool -TDictionary::Entry::lastDelimiter(unsigned i) const -{ - assert(i < pattern.size()); - assert(pattern[i].category != TToken::PARAMETER); - // a token is the last delimiter if it is the last token - // of the pattern or if the next token is a parameter) - return i + 1 == pattern.size() || pattern[i + 1].category == TToken::PARAMETER; -} - -unsigned -TDictionary::Entry::previousParam(unsigned i) const -{ - // this method return the position in the pattern of the - // parameter placed in a position preceding i. - // If no preceding i parameter present, the method return - // pattern.size(). - // To know the position of the last parameter, call this - // method with i == pattern.size() - unsigned j = i - 1; - - while (pattern[j].category != TToken::PARAMETER) - { - if (j) j--; - else return pattern.size(); - } - return j; -} diff --git a/helm/DEVEL/mathml_editor/src/TDictionary.hh b/helm/DEVEL/mathml_editor/src/TDictionary.hh deleted file mode 100644 index 4864630f9..000000000 --- a/helm/DEVEL/mathml_editor/src/TDictionary.hh +++ /dev/null @@ -1,129 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TDictionary_hh__ -#define __TDictionary_hh__ - -#include - -#include -#include -#if defined(HAVE_EXT_HASH_MAP) -#include -#elif defined(HAVE_HASH_MAP) -#include -#else -#error "no hash_map could be found" -#endif -#include - -#include "dom.hh" -#include "TToken.hh" - -class TDictionary -{ -public: - TDictionary(class ALogger& l) : logger(l) { }; - ~TDictionary() { }; - - enum Form - { - INFIX, - PREFIX, - POSTFIX - }; - - enum EntryClass - { - UNDEFINED, - MACRO, - OPERATOR, - IDENTIFIER, - NUMBER - }; - - struct Entry - { - Entry(void) - { - cls = UNDEFINED; - table = delimiter = limits = embellishment = leftOpen = rightOpen = 0; - }; - - std::vector pattern; - std::string value; - - bool defined(void) const { return cls != UNDEFINED; }; - bool hasArguments(void) const { return !pattern.empty(); }; - bool paramDelimited(unsigned) const; - bool lastDelimiter(unsigned) const; - unsigned previousParam(unsigned) const; - - EntryClass cls; - unsigned delimiter : 1; - unsigned limits : 1; - unsigned embellishment : 1; - unsigned leftOpen : 1; - unsigned rightOpen : 1; - unsigned table : 1; - }; - - static std::string getDefaultDictionaryPath(void); - - void load(const std::string&); - void load(const std::string&, const std::string&); - void load(const DOM::Document&, const std::string& = ""); - const Entry& find(const std::string&) const; - std::string complete(const std::string, std::list&) const; - -private: -#if defined(HAVE_EXT_HASH_MAP) - struct StringHash : public std::unary_function< std::string, size_t > - { size_t operator()(const std::string& s) const { return __gnu_cxx::hash()(s.c_str()); } }; -#elif defined(HAVE_HASH_MAP) - struct StringHash : public std::unary_function< std::string, size_t > - { size_t operator()(const std::string& s) const { return hash()(s.c_str()); } }; -#else -#error "no hash_map could be found" -#endif - -#if 0 - struct StringEq : public std::binary_function< std::string, std::string, bool > - { bool operator()(const std::string&, const class String*) const; }; -#endif - - class ALogger& logger; -#if defined(HAVE_EXT_HASH_MAP) - typedef __gnu_cxx::hash_map< std::string, Entry, StringHash > Dictionary; -#elif defined(HAVE_HASH_MAP) - typedef std::hash_map< std::string, Entry, StringHash > Dictionary; -#else -#error "no hash_map could be found" -#endif - Dictionary entries; -}; - -#endif // __TDictionary_hh__ - diff --git a/helm/DEVEL/mathml_editor/src/TDocument.cc b/helm/DEVEL/mathml_editor/src/TDocument.cc deleted file mode 100644 index ca4878e6c..000000000 --- a/helm/DEVEL/mathml_editor/src/TDocument.cc +++ /dev/null @@ -1,213 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include - -#include "globals.hh" -#include "dom.hh" -#include "TDocument.hh" - -TDocument::TDocument() -{ - DOM::DOMImplementation di; - DOM::DocumentType dt; - doc = di.createDocument(TML_NS_URI, "tml:tex", dt); - DOM::Element root = doc.get_documentElement(); - assert(root); - root.setAttributeNS(XMLNS_NS_URI, "xmlns:tml", TML_NS_URI); - - DOM::EventTarget et(doc); - assert(et); - et.addEventListener("DOMSubtreeModified", *this, false); -} - -TDocument::~TDocument() -{ - //DOM::Element root = doc.get_documentElement(); - DOM::EventTarget et(doc); - assert(doc); - et.removeEventListener("DOMSubtreeModified", *this, false); -} - -void -TDocument::reset() -{ - DOM::Element root = doc.createElementNS(TML_NS_URI, "tml:tex"); - root.setAttributeNS(XMLNS_NS_URI, "xmlns:tml", TML_NS_URI); - doc.replaceChild(root, doc.get_documentElement()); - clearDirty(); -} - -void -TDocument::serialize(const char* filename) const -{ - DOM::DOMImplementation di; - di.saveDocumentToFile(doc, filename, GDOME_SAVE_LIBXML_INDENT); -} - -std::string -TDocument::makeId(unsigned id) -{ - std::ostringstream os; - os << "I" << id; - return os.str(); -} - -TNode -TDocument::create(const std::string& name, unsigned id) const -{ - DOM::Element elem = doc.createElementNS(TML_NS_URI, "tml:" + name); - if (id > 0) elem.setAttribute("id", makeId(id)); - return elem; -} - -TNode -TDocument::createC(const std::string& name, unsigned id) const -{ - TNode m = create("c", id); - m["name"] = name; - return m; -} - -TNode -TDocument::createT(const std::string& name, const std::string& text, unsigned id) const -{ - TNode t = create(name, id); - t["val"] = text; - return t; -} - -unsigned -TDocument::nodeDepth(const DOM::Node& node) -{ - DOM::Node n = node; - - unsigned depth = 0; - while (n) - { - depth++; - n = n.get_parentNode(); - } - return depth; -} - -DOM::Node -TDocument::findCommonAncestor(const DOM::Node& node1, const DOM::Node& node2) -{ - DOM::Node n1 = node1; - DOM::Node n2 = node2; - - unsigned d1 = nodeDepth(n1); - unsigned d2 = nodeDepth(n2); - - // cout << "finding common ancestor " << d1 << " " << d2 << endl; - - while (d1 < d2) - { - assert(n2); - n2 = n2.get_parentNode(); - d2--; - } - - while (d1 > d2) - { - assert(n1); - n1 = n1.get_parentNode(); - d1--; - } - - while (n1 != n2) - { - assert(n1); - assert(n2); - n1 = n1.get_parentNode(); - n2 = n2.get_parentNode(); - } - - return n1; -} - -DOM::Node -TDocument::findIdNode(const DOM::Node& node) -{ - DOM::Node n = node; - while (n) - { - if (n.get_nodeType() == DOM::Node::ELEMENT_NODE) - { - DOM::Element el = n; - if (el.hasAttribute("id")) return el; - } - n = n.get_parentNode(); - } - - return DOM::Node(0); -} - -TNode -TDocument::getNodeByIdAux(const TNode& node, const std::string& id) -{ - if (node.hasId(id)) return node; - else - for (TNode p = node.first(); p; p = p.next()) - if (TNode res = getNodeByIdAux(p, id)) return res; - return TNode(); -} - -TNode -TDocument::getNodeById(unsigned id) const -{ - DOM::Element root = doc.get_documentElement(); - assert(root); - return getNodeByIdAux(root, makeId(id)); -} - -void -TDocument::handleEvent(const DOM::Event& ev) -{ - DOM::MutationEvent me(ev); - assert(me); - -#if 0 - if (dirty) - cout << "TDocument::handleEvent DIRTY BEFORE = " << dirty.getAttribute("id") << endl; - else - cout << "TDocument::handleEvent DIRTY BEFORE = (nil)" << endl; -#endif - - if (DOM::Node node = me.get_target()) - if (dirty) - dirty = findIdNode(findCommonAncestor(dirty, node)); - else - dirty = findIdNode(node); - else - assert(0); - -#if 0 - cout << "TDocument::handleEvent target = " << DOM::Node(me.get_target()).get_nodeName() << " DIRTY AFTER = " - << dirty.getAttribute("id") << " ME = " << DOM::Node(me.get_target()).get_nodeName() << endl; -#endif -} diff --git a/helm/DEVEL/mathml_editor/src/TDocument.hh b/helm/DEVEL/mathml_editor/src/TDocument.hh deleted file mode 100644 index 02d1dc38d..000000000 --- a/helm/DEVEL/mathml_editor/src/TDocument.hh +++ /dev/null @@ -1,69 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TDocument_hh__ -#define __TDocument_hh__ - -#include "dom.hh" -#include "TNode.hh" - -class TDocument : private DOM::EventListener -{ -public: - TDocument(void); - ~TDocument(); - - void reset(void); - TNode create(const std::string&, unsigned = 0) const; - TNode createG(unsigned id = 0) const { return create("g", id); }; - TNode createC(const std::string&, unsigned = 0) const; - TNode createT(const std::string&, const std::string&, unsigned = 0) const; - TNode createI(const std::string& text, unsigned id = 0) const { return createT("i", text, id); }; - TNode createN(const std::string& text, unsigned id = 0) const { return createT("n", text, id); }; - TNode createO(const std::string& text, unsigned id = 0) const { return createT("o", text, id); }; - TNode createS(unsigned id = 0) const { return createT("s", "", id); }; - - DOM::Document document(void) const { return doc; }; - - TNode getNodeById(unsigned) const; - TNode root(void) { return doc.get_documentElement(); }; - TNode dirtyNode(void) const { return dirty; }; - void clearDirty(void) { dirty = DOM::Element(0); }; - - void serialize(const char*) const; - -private: - DOM::Document doc; - DOM::Element dirty; - - virtual void handleEvent(const DOM::Event&); - static std::string makeId(unsigned); - static TNode getNodeByIdAux(const TNode&, const std::string&); - static unsigned nodeDepth(const DOM::Node&); - static DOM::Node findCommonAncestor(const DOM::Node&, const DOM::Node&); - static DOM::Node findIdNode(const DOM::Node&); -}; - -#endif // __TDocument_hh__ diff --git a/helm/DEVEL/mathml_editor/src/TListener.hh b/helm/DEVEL/mathml_editor/src/TListener.hh deleted file mode 100644 index 16fea6d71..000000000 --- a/helm/DEVEL/mathml_editor/src/TListener.hh +++ /dev/null @@ -1,35 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TListener_hh__ -#define __TListener_hh__ - -class TListener -{ -public: - virtual void callback(TDocument&) = 0; -}; - -#endif // __TListener_hh__ diff --git a/helm/DEVEL/mathml_editor/src/TNode.cc b/helm/DEVEL/mathml_editor/src/TNode.cc deleted file mode 100644 index 3c67d9d60..000000000 --- a/helm/DEVEL/mathml_editor/src/TNode.cc +++ /dev/null @@ -1,236 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include "globals.hh" -#include "TNode.hh" -#include - -TNode -TNode::next() const -{ - assert(node); - DOM::Node p = node.get_nextSibling(); - while (p && p.get_nodeType() != DOM::Node::ELEMENT_NODE) p = p.get_nextSibling(); - return p; -} - -TNode -TNode::nextL() const -{ - assert(node); - if (TNode n = next()) - if (n.isG()) return n.firstL(); - else return n; - else return TNode(); -} - -TNode -TNode::prev() const -{ - assert(node); - DOM::Node p = node.get_previousSibling(); - while (p && p.get_nodeType() != DOM::Node::ELEMENT_NODE) p = p.get_previousSibling(); - return p; -} - -TNode -TNode::prevL() const -{ - assert(node); - if (TNode n = prev()) - if (n.isG()) return n.lastL(); - else return n; - else return TNode(); -} - -TNode -TNode::last() const -{ - assert(node); - DOM::Node p = node.get_lastChild(); - while (p && p.get_nodeType() != DOM::Node::ELEMENT_NODE) p = p.get_previousSibling(); - return p; -} - -TNode -TNode::lastL() const -{ - assert(node); - if (TNode n = last()) - if (n.isG()) return n.lastL(); - else return n; - else - return TNode(); -} - -TNode -TNode::first() const -{ - assert(node); - DOM::Node p = node.get_firstChild(); - while (p && p.get_nodeType() != DOM::Node::ELEMENT_NODE) p = p.get_nextSibling(); - return p; -} - -TNode -TNode::firstL() const -{ - assert(node); - if (TNode n = first()) - if (n.isG()) return n.firstL(); - else return n; - else - return TNode(); -} - -TNode -TNode::core() const -{ - assert(node); - // check also if there is a macro embellishment (\not) - if (isSb() || isSp()) return first().core(); - else return *this; -} - -TNode -TNode::parent() const -{ - assert(node); - DOM::Node p = node.get_parentNode(); - assert(!p || p.get_nodeType() == DOM::Node::ELEMENT_NODE); - return p; -} - -unsigned -TNode::size() const -{ - assert(node); - unsigned size = 0; - TNode p = first(); - while (p) - { - p = p.next(); - size++; - } - - return size; -} - -void -TNode::remove() const -{ - assert(node); - DOM::Node parent = node.get_parentNode(); - parent.removeChild(node); -} - -void -TNode::replace(const TNode& newNode) const -{ - assert(node); - DOM::Node parent = node.get_parentNode(); - parent.replaceChild(newNode.node, node); -} - -void -TNode::replace(const TNode& first, const TNode& last) const -{ - assert(node); - assert(first); - - TNode p = first; - while (p != last) - { - TNode next = p.next(); - insert(p); - p = next; - } - remove(); -} - -void -TNode::insert(const TNode& newNode) const -{ - assert(node); - DOM::Node parent = node.get_parentNode(); - parent.insertBefore(newNode.node, node); -} - -void -TNode::append(const TNode& newNode) const -{ - assert(node); - node.appendChild(newNode.node); -} - -void -TNode::append(const TNode& first, const TNode& last) const -{ - assert(node); - assert(first); - assert(last); - - TNode p = first; - while (p != last) - { - TNode next = p.next(); - append(p); - p = next; - } -} - -void -TNode::prepend(const TNode& newNode) const -{ - assert(node); - DOM::Node parent = node.get_parentNode(); - parent.insertBefore(newNode.node, parent.get_firstChild()); -} - -#if 0 -#endif - -TNode -TNode::child(unsigned pos) const -{ - assert(node); - TNode p = first(); - while (p && pos-- > 0) p = p.next(); - return p; -} - -std::string -TNode::get(const std::string& name) const -{ - assert(node); - return node.getAttribute(name); -} - -void -TNode::set(const std::string& name, const std::string& value) const -{ - assert(node); - node.setAttribute(name, value); -} diff --git a/helm/DEVEL/mathml_editor/src/TNode.hh b/helm/DEVEL/mathml_editor/src/TNode.hh deleted file mode 100644 index adbfe69a6..000000000 --- a/helm/DEVEL/mathml_editor/src/TNode.hh +++ /dev/null @@ -1,107 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TNode_hh__ -#define __TNode_hh__ - -#include "dom.hh" -#include "globals.hh" -#include "TDictionary.hh" - -class TNode -{ -public: - TNode(void) : node(0) { }; - TNode(const DOM::Node& n) : node(n) { }; - TNode(const DOM::Element& elem) : node(elem) { }; - TNode(const TNode& n) : node(n.node) { }; - - TNode next(void) const; - TNode nextL(void) const; - TNode prev(void) const; - TNode prevL(void) const; - TNode core(void) const; - TNode parent(void) const; - TNode first(void) const; - TNode firstL(void) const; - TNode last(void) const; - TNode lastL(void) const; - TNode child(unsigned) const; - unsigned size(void) const; - bool empty(void) const { return !first().node; }; - std::string value(void) const { return (*this)["val"]; }; - - class ProxyAttr - { - public: - ProxyAttr(const DOM::Element& n, const std::string& s) : node(n), name(s) { }; - operator std::string() const { return node.getAttribute(name); }; - ProxyAttr& operator=(const std::string& v) { node.setAttribute(name, v); }; - bool operator==(const std::string& v) const { return node.getAttribute(name) == v; }; - bool operator!=(const std::string& v) const { return node.getAttribute(name) != v; }; - private: - DOM::Element node; - std::string name; - }; - - operator bool() const { return node; }; - DOM::Element element(void) const { return node; }; - bool operator==(const TNode& n) const { return node == n.node; }; - bool operator!=(const TNode& n) const { return node != n.node; }; - TNode operator[](int i) const { return child(i); }; - ProxyAttr operator[](const char* s) const { return ProxyAttr(node, s); }; - - //void advance(const TNode&) const; - void remove(void) const; - void replace(const TNode&) const; - void replace(const TNode&, const TNode&) const; - void insert(const TNode&) const; - void append(const TNode&) const; - void append(const TNode&, const TNode&) const; - void prepend(const TNode&) const; - - std::string get(const std::string&) const; - void set(const std::string&, const std::string&) const; - - std::string name(void) const { return node.get_localName(); }; - std::string nameC(void) const { return node.getAttribute("name"); }; - bool hasId(void) const { return node.hasAttribute("id"); }; - bool hasId(const std::string& id) const { return node.getAttribute("id") == id; }; - bool is(const std::string& s) const { return name() == s; }; - bool isG(void) const { return is("g"); }; - bool isSb(void) const { return is("sb"); }; - bool isSp(void) const { return is("sp"); }; - bool isC(void) const { return is("c"); } - bool isC(const std::string& name) const - { return isC() && node.getAttribute("name") == name; }; - bool isT(void) const { return (is("o") || is("i") || is("n") || is("s")); }; - - friend class TDocument; - -private: - DOM::Element node; -}; - -#endif // __TNode_hh__ diff --git a/helm/DEVEL/mathml_editor/src/TPushLexer.cc b/helm/DEVEL/mathml_editor/src/TPushLexer.cc deleted file mode 100644 index da15822c3..000000000 --- a/helm/DEVEL/mathml_editor/src/TPushLexer.cc +++ /dev/null @@ -1,207 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include -#include - -#include "TToken.hh" -#include "TPushLexer.hh" -#include "APushParser.hh" - -TPushLexer::TPushLexer(ALogger& l, APushParser& p) : APushLexer(l, p) -{ - state = ACCEPT; -} - -void -TPushLexer::reset() -{ - buffer.erase(); - state = ACCEPT; - - displayCursor(); -} - -void -TPushLexer::flush() -{ - push(-1); -} - -void -TPushLexer::transaction(char ch, State newState) -{ - switch (ch) - { - case '{': parser.push(TToken(TToken::BEGIN)); break; - case '}': parser.push(TToken(TToken::END)); break; - case '$': parser.push(TToken(TToken::SHIFT)); break; - case '&': parser.push(TToken(TToken::ALIGN)); break; - case '\n': - case '\r': parser.push(TToken(TToken::EOL, ch)); break; - case '^': parser.push(TToken(TToken::SUPERSCRIPT)); break; - case '_': parser.push(TToken(TToken::SUBSCRIPT)); break; - case '\t': - case ' ': parser.push(TToken(TToken::IGNORABLE_SPACE, ch)); break; - case '~': parser.push(TToken(TToken::ACTIVE, ch)); break; - case '%': parser.push(TToken(TToken::COMMENT)); break; - default: - if (isalpha(ch)) parser.push(TToken(TToken::LETTER, ch)); - else if (isdigit(ch)) parser.push(TToken(TToken::DIGIT, ch)); - else parser.push(TToken(TToken::OTHER, ch)); - break; - } - state = newState; -} - -void -TPushLexer::push(char ch) -{ - switch (state) - { - case ACCEPT: - if (ch == '\\') state = ESCAPE; - else if (ch == '#') state = PARAMETER; - else if (ch == -1) ; - else transaction(ch, ACCEPT); - break; - case ESCAPE: - if (isalpha(ch)) - { - buffer.push_back(ch); - state = MACRO; - } - else if (ch == -1) error(); - else - { - parser.push(TToken(TToken::CONTROL, ch)); - state = ACCEPT; - } - break; - case MACRO: - if (ch == '\\') - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - state = ESCAPE; - } - else if (ch == '#') - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - state = PARAMETER; - } - else if (isalpha(ch)) - buffer.push_back(ch); - else if (ch == -1) - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - state = ACCEPT; - } - else - { - parser.push(TToken(TToken::CONTROL, buffer)); - buffer.erase(); - if (isspace(ch)) state = IGNORE_SPACE; - else transaction(ch, ACCEPT); - } - break; - case IGNORE_SPACE: - if (ch == '\\') state = ESCAPE; - else if (ch == '#') state = PARAMETER; - else if (isspace(ch)) ; - else if (ch == -1) state = ACCEPT; - else transaction(ch, ACCEPT); - break; - case PARAMETER: - if (ch == -1) error(); - else - { - parser.push(TToken(TToken::PARAMETER, ch)); - state = ACCEPT; - } - break; - default: - assert(0); - break; - } - - displayCursor(); - -} - -void -TPushLexer::drop(bool alt) -{ - std::string restore = ""; - - switch (state) - { - case ACCEPT: - case IGNORE_SPACE: - restore = parser.drop(alt); - if (restore.length() > 0 && restore[0] == '\\') - { - buffer = std::string(restore, 1, restore.length() - 1); - state = (buffer.length() > 0) ? MACRO : ESCAPE; - } - break; - case ESCAPE: - state = ACCEPT; - break; - case MACRO: - if (alt) buffer.erase(); - else buffer.erase(buffer.length() - 1, 1); - if (buffer.length() == 0) state = ESCAPE; - break; - case PARAMETER: - default: - assert(0); - break; - } - - displayCursor(); - -} - -void -TPushLexer::displayCursor() -{ - switch (state) - { - case ESCAPE: parser.setCursorHint("\\"); break; - case MACRO: parser.setCursorHint("\\" + buffer); break; - case PARAMETER: parser.setCursorHint("#"); break; - default: parser.setCursorHint(""); break; - } -} - -bool -TPushLexer::error() const -{ - return false; -} diff --git a/helm/DEVEL/mathml_editor/src/TPushLexer.hh b/helm/DEVEL/mathml_editor/src/TPushLexer.hh deleted file mode 100644 index 2aafd6ec9..000000000 --- a/helm/DEVEL/mathml_editor/src/TPushLexer.hh +++ /dev/null @@ -1,64 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TPushLexer_hh__ -#define __TPushLexer_hh__ - -#include - -#include "APushLexer.hh" - -class TPushLexer : public APushLexer -{ -public: - TPushLexer(class ALogger&, class APushParser&); - virtual ~TPushLexer() { }; - - virtual void push(char); - virtual void drop(bool); - virtual bool complete(void) { }; - virtual void reset(void); - virtual void flush(void); - virtual bool error(void) const; - -protected: - enum State - { - ACCEPT, - ESCAPE, - MACRO, - IGNORE_SPACE, - PARAMETER - }; - - void transaction(char, State); - void displayCursor(void); - - State state; - std::string buffer; - -}; - -#endif // __TPushLexer_hh__ diff --git a/helm/DEVEL/mathml_editor/src/TPushParser.cc b/helm/DEVEL/mathml_editor/src/TPushParser.cc deleted file mode 100644 index 0c96fe439..000000000 --- a/helm/DEVEL/mathml_editor/src/TPushParser.cc +++ /dev/null @@ -1,1952 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include - -#include "ALogger.hh" -#include "TPushParser.hh" -#include "AMathMLFactory.hh" - -TPushParser::TPushParser(ALogger& l, const TDictionary& d) : APushParser(l), dictionary(d) -{ - init(); -} - -TPushParser::TPushParser(ALogger& l, AMathMLFactory& f, const TDictionary& d) : APushParser(l, f), dictionary(d) -{ - init(); -} - -TPushParser::~TPushParser() -{ -} - -void -TPushParser::init() -{ - cursor = doc.create("cursor"); - cursor["visible"] = "1"; - hiddenCursor = 0; - reset(); -} - -void -TPushParser::reset() -{ - nextId = 1; - if (cursor.parent()) cursor.remove(); - cursor["val"] = ""; - doc.reset(); - doc.root().append(cursor); - if (factory && !frozen()) factory->documentModified(doc); -} - -TNode -TPushParser::PRIME() -{ - const TDictionary::Entry entry = dictionary.find("prime"); - if (entry.cls == TDictionary::OPERATOR) - { - TNode op = doc.createO(entry.value, nextId++); - op["name"] = "prime"; - return op; - } - else - { - TNode op = doc.createO("?", nextId++); - return op; - } -} - -bool -TPushParser::do_begin() -{ - TNode parent = cursor.parent(); - if (parent.isC() && dictionary.find(parent.nameC()).table) - { - TNode row = doc.create("row"); - TNode cell = doc.create("cell"); - TNode g = doc.createG(); - row.append(cell); - cell.append(g); - g.append(cursor); - parent.append(row); - } - else - { - TNode g = doc.createG(nextId++); - cursor.replace(g); - g.append(cursor); - } - return true; -} - -bool -TPushParser::correctBrace() -{ - // this method MUST be invoked when the cursor is child of a - // phantom group, which in turn is the last rightOpen MACRO's child. - // The only way to exit from a rightOpen MACRO is opening a group before - // inserting the MACRO and, once the MACRO is completely inserted, closing - // the group. - // This method return true if the condition above is true. False, otherwise. - assert(cursor.parent() && cursor.parent().isG() && !cursor.parent().hasId()); - TNode parent = cursor.parent(); - assert(parent.parent() && parent.parent().isC()); - assert(!frames.empty()); - Frame& frame = frames.top(); - assert(frame.entry.rightOpen); - assert(parent.parent().last() == parent); - - TNode c = parent.parent(); - bool stop = false; - bool ok = false; - TNode node = c.parent(); - do - { - if (node.isG() && node.hasId()) - { - // in this case, the rightOpen MACRO is a child of a group with id. - // So, the '}' is correct - ok = true; - stop = true; - } - else if (node.isG()) - { - // the MACRO is a phantom group's child. We have to control why we - // have this phantom group - TNode nodeParent = node.parent(); - if (nodeParent && nodeParent.isC()) - { - // we have to control the nature of this MACRO - const TDictionary::Entry& entry = dictionary.find(nodeParent.nameC()); - if (entry.rightOpen && node == nodeParent.last()) - { - // in this case we have to re-iterate the process - node = nodeParent.parent(); - } - else stop = true; - } - else stop = true; - } - else - { - // at the moment we assume that a MACRO cannot be child of an element other than a group - stop = true; - } - } - while (!stop); - - return ok; -} - -bool -TPushParser::do_end() -{ - TNode parent = cursor.parent(); - if (parent && parent.isG() && parent.hasId()) - { - // normal closing brace for an explicitly open group - cursor.remove(); - advance(parent); - return true; - } - else if (parent && parent.isG() && parent.parent() && parent.parent().is("cell")) - { - assert(!frames.empty()); - // closing brace for a structure in which & or \cr have been used - TNode row = parent.parent().parent(); - assert(row && row.is("row")); - assert(row.parent()); - advance(row); - return true; - } - else if (parent && parent.isG() && !parent.hasId() && parent.parent() && !parent.parent().is("math")) - { - // In this case, we have to control the cursor's grand parent. - TNode gparent = parent.parent(); - - if (gparent.isC() && gparent.last() == parent) - { - // a frame MUST be in the stack - assert(!frames.empty()); - - // we have to control the nature of this macro - if (frames.top().entry.rightOpen) - { - // in this case, the '}' character is the proper way to exit from the phantom group, and - // in particular, this character means that the user wants to exit from the MACRO. - // A rightOpen MACRO MUST be descendant of a group with Id. This '}' is the closing brace of this - // group. So, we have to control if this group exists. This groyp could exist, but this MACRO could - // be another MACRO's child, so we have to control this last MACRO recursively. This recurive control - // is done by the correctBrace method. - if (!correctBrace()) - { - // the '}' is not correct - logger.warning("nothing to close"); - return false; - } - else - { - cursor.remove(); - advance(parent); - return true; - } - } - else - { - logger.warning("ignored closing brace"); - return false; - } - } - else - { - // at the moment, a phantom group with the cursor inside can be a MACRO's child or a cell's child, and these cases - // are handled in other blocks of code. - logger.error("do_end: strange TML tree"); - return false; - } - } - else - { - // In this case, there is a redundant '}', so we can ignore it and - // emit an error - logger.warning("There is so no corresponding'{'"); - return false; - //assert(0); - } -} - -bool -TPushParser::do_shift() -{ - TNode parent = cursor.parent(); - assert(parent); - if (parent.is("tex")) - { - TNode math = doc.create("math", nextId++); - TNode g = doc.createG(); - cursor.replace(math); - math.append(g); - g.append(cursor); - return true; - } - else if (parent.isG() && !parent.hasId() && parent.parent() && parent.parent().is("math")) - { - if (cursor.prev()) - { - // there is something before the cursor, hence this is the - // closing math shift - if (parent.parent()["display"] != "1") - { - // one math shift is enough to close it - cursor.remove(); - return true; - } - else - { - // we need two closing math shifts - //cursor.remove(); ?? - parent.parent().append(cursor); - return true; // ??? - } - } - else if (parent.parent()["display"] != "1") - { - // there is nothing before the cursor, and the math is not - // in display mode, so this must be a double math shift - parent.parent()["display"] = "1"; - return true; - } - else - { - parent.parent().append(cursor); - return true; - } - } - else if (parent.is("math")) - { - cursor.remove(); - return true; - } - else - { - logger.warning("not allowed here"); - return false; - } -} - -bool -TPushParser::do_align() -{ - TNode parent = cursor.parent(); - if (parent && parent.isG() && parent.hasId()) - { - // alignment tab used for the first time inside a group - TNode row = doc.create("row"); - TNode cell = doc.create("cell"); - TNode g = doc.createG(); - row.append(cell); - cell.append(g); - g.append(parent.first(), cursor); - return true; - } - else if (parent && parent.isG() && parent.parent().is("cell")) - { - // alignment tab used within a cell - TNode oldCell = parent.parent(); - assert(oldCell && oldCell.is("cell")); - TNode row = oldCell.parent(); - assert(row && row.is("row")); - TNode cell = doc.create("cell"); - if (oldCell.next()) oldCell.next().insert(cell); - else row.append(cell); - TNode g = doc.createG(); - cell.append(g); - g.append(cursor); - return true; - } - else - { - logger.warning("alignment tab used outside matrix"); - return false; - } -} - -bool -TPushParser::do_eol() -{ - //if (cursor.parent()) cursor.remove(); - logger.warning("ignored token"); - return false; -} - -bool -TPushParser::do_parameter(const std::string& p) -{ - logger.warning("ignored token"); - return false; -} - -bool -TPushParser::do_subscript() -{ - TNode parent = cursor.parent(); - if (parent.isG()) - { - TNode prev = cursor.prev(); - if (!prev) - { - TNode elem = doc.create("sb", nextId++); - TNode g = doc.createG(); - cursor.replace(elem); - elem.append(g); - elem.append(cursor); - return true; - } - else - { - TNode elem = doc.create("sb", nextId++); - prev.replace(elem); - elem.append(prev); - elem.append(cursor); - return true; - } - } - else if (parent.isSb() && cursor == parent[1]) - { - if (parent["under"] == "1") - { - logger.warning("already under"); - return false; - } - else - { - parent["under"] = "1"; - return true; - } - } - else - { - logger.warning("ignored token"); - return false; - } -} - -bool -TPushParser::do_superscript() -{ - TNode parent = cursor.parent(); - if (parent.isG()) - { - TNode prev = cursor.prev(); - if (!prev) - { - TNode elem = doc.create("sp", nextId++); - TNode g = doc.createG(); - cursor.replace(elem); - elem.append(g); - elem.append(cursor); - return true; - } - else - { - TNode elem = doc.create("sp", nextId++); - prev.replace(elem); - elem.append(prev); - elem.append(cursor); - return true; - } - } - else if (parent.isSp() && cursor == parent[1]) - { - if (parent["over"] == "1") - { - logger.warning("already over"); - return false; - } - else - { - parent["over"] = "1"; - return true; - } - } - else - { - logger.warning("ignored token"); - return false; - } -} - -bool -TPushParser::do_ignorablespace(const std::string& s) -{ - // At the moment, do nothing -} - -bool -TPushParser::do_space(const std::string&) -{ - TNode elem = doc.createS(nextId++); - cursor.replace(elem); - advance(elem); - return true; -} - -bool -TPushParser::do_letter(const std::string& s) -{ - //TNode parent = cursor.parent(); - TNode elem = doc.createI(s, nextId++); - cursor.replace(elem); - advance(elem); - return true; -} - -bool -TPushParser::do_digit(const std::string& s) -{ - TNode elem = doc.createN(s, nextId++); - cursor.replace(elem); - advance(elem); - return true; -} - -bool -TPushParser::isPrimes(const TNode& node) const -{ - assert(node); - return node.isG() && node.last() && node.last().is("o") && node.last()["name"] == "prime"; -} - -bool -TPushParser::do_apostrophe() -{ - if (cursor.parent() && cursor.parent().isG()) - { - if (TNode prev = cursor.prev()) - { - if (prev.isSp() && prev[1] && isPrimes(prev[1])) - { - prev[1].append(PRIME()); - return true; - } - else if (prev.isSb() && prev[0] && - prev[0].isSp() && prev[0][1] && - isPrimes(prev[0][1])) - { - prev[0][1].append(PRIME()); - return true; - } - else - { - TNode elem = doc.create("sp"); - TNode g = doc.createG(); - prev.replace(elem); - elem.append(prev); - elem.append(g); - g.append(PRIME()); - return true; - } - } - else - { - // is it an error? - logger.warning("you have to insert an identifier before a ''"); - return false; - } - } - else - { - logger.warning("cursor has to be in a group"); - return false; - } -} - -bool -TPushParser::do_other(const std::string& s) -{ - switch (s[0]) - { - case '\'': - return do_apostrophe(); - break; - default: - /*cout << "TPushParser::do_other " << s << endl; - cout << "DOCUMENT: " << static_cast(cursor.element().get_ownerDocument()) << endl;*/ - TNode elem = doc.createT("o", s, nextId++); - cursor.replace(elem); - advance(elem); - return true; - break; - } -} - -bool -TPushParser::do_active(const std::string&) -{ - // ??? space? - logger.warning("ignored token"); - return false; -} - -bool -TPushParser::do_comment() -{ - // ??? - return false; -} - -bool -TPushParser::do_cr() -{ - TNode parent = cursor.parent(); - if (parent && parent.isG() && - parent.parent() && parent.parent().is("cell") && - parent.parent().parent() && parent.parent().parent().is("row")) - { - TNode oldRow = parent.parent().parent(); - assert(oldRow); - TNode table = oldRow.parent(); - assert(table); - TNode row = doc.create("row"); - TNode cell = doc.create("cell"); - TNode g = doc.createG(); - if (oldRow.next()) oldRow.next().insert(row); - else table.append(row); - row.append(cell); - cell.append(g); - g.append(cursor); - return true; - } - else - { - // at the moment, \cr can only be used inside a table - logger.warning("cr used outside a table"); - return false; - } -} - -bool -TPushParser::do_control(const std::string& name) -{ - if (name == "cr") return do_cr(); - else - { - TNode parent = cursor.parent(); - const TDictionary::Entry& entry = dictionary.find(name); - switch (entry.cls) - { - case TDictionary::IDENTIFIER: - { - TNode t = doc.createI(entry.value, nextId++); - t["name"] = name; - cursor.replace(t); - advance(t); - return true; - } - break; - case TDictionary::OPERATOR: - { - TNode t = doc.createO(entry.value, nextId++); - t["name"] = name; - cursor.replace(t); - advance(t); - return true; - } - break; - case TDictionary::NUMBER: - { - TNode t = doc.createN(entry.value, nextId++); - t["name"] = name; - cursor.replace(t); - advance(t); - return true; - } - break; - case TDictionary::MACRO: - { - if (parent.isG()) - { - TNode m = doc.createC(name, nextId++); - cursor.replace(m); - if (entry.leftOpen && entry.rightOpen) - { - assert(entry.pattern.empty()); - assert(parent.isG()); - TNode g1 = doc.createG(); - g1["left-open"] = "1"; - g1.append(parent.first(), m); - m.append(g1); - TNode g2 = doc.createG(); - g2.append(cursor); - m.append(g2); - frames.push(Frame(entry)); - } - else if (entry.leftOpen) - { - assert(parent.isG()); - TNode g = doc.createG(); - g["left-open"] = "1"; - g.append(parent.first(), m); - m.append(g); - advance(m); - } - else if (entry.rightOpen) - { - assert(entry.pattern.empty()); - assert(parent.isG()); - TNode g = doc.createG(); - g.append(cursor); - m.append(g); - frames.push(Frame(entry)); - } - else if (!entry.pattern.empty()) - { - frames.push(Frame(entry)); - if (entry.paramDelimited(0)) - { - TNode g = doc.createG(); - m.append(g); - g.append(cursor); - } - else - m.append(cursor); - } - else - { - // it's an empty macro - advance(m); - } - return true; - } - else if (!entry.pattern.size() && !entry.rightOpen && !entry.leftOpen) - { - // a macro with no arguments and no right open and no left open, can be child of anything - TNode m = doc.createC(name, nextId++); - cursor.replace(m); - advance(m); - return true; - } - else - { - // a macro with arguments or a rightOpen or leftOpen macro must be a group's child - logger.warning("ignored token: this macro should be in a group"); - return false; - } - } - break; - case TDictionary::UNDEFINED: - { - logger.warning("using undefined macro " + name); - TNode m = doc.createC(name, nextId++); - cursor.replace(m); - advance(m); - return true; - } - break; - default: - { - //assert(0); - logger.warning("ignored token"); - return false; - } - } - } -} - -std::string -TPushParser::drop_prev_token(bool special) -{ - assert(cursor.prev()); - assert(cursor.parent()); - TNode prev = cursor.prev(); - assert(prev.isT()); - - DOM::UCS4String ucs4val = prev.element().getAttribute("val"); - bool macro = prev.element().hasAttribute("name"); - std::string utf8name; - if (macro) utf8name = prev.element().getAttribute("name"); - - cursor.remove(); - prev.replace(cursor); - - if (cursor.parent().isC()) - { - // in this case we have removed an element of a MACRO. - // we can assert that this element was a non delimited argument - assert(!frames.empty()); - Frame& frame = frames.top(); - assert(frame.pos > 0); - frame.pos--; - } - - if ((ucs4val.length() > 1)) - { - if (!macro) - { - // in this case we can return the content of ucs4val, but we have - // to convert it in a utf8 - DOM::GdomeString gdsval(ucs4val); - std::string utf8val(gdsval); - switch (utf8val[utf8val.length() - 1]) - { - case '-': - case '_': - return (special) ? std::string(utf8val, 0, utf8val.length() - 1) + "\\" : std::string(utf8val, 0, utf8val.length() - 1); - default: return (special) ? "" : std::string(utf8val, 0, utf8val.length() - 1); - } - } - else - { - // in this case, the content of val could be in unicode, - // but we have the attribute name, which doesn't contain character not representable - // with a byte. - return (special) ? "\\" + utf8name : ""; - } - } - else if (macro && special) return "\\" + utf8name; - else return ""; -} - -std::string -TPushParser::drop_prev_script(bool special) -{ - // this method deletes an sp or an sb preceding the cursor - assert(cursor.prev()); - assert(cursor.parent()); - TNode prev = cursor.prev(); - assert(prev.is("sp") || prev.is("sb")); - cursor.remove(); - prev.append(cursor); - // we can invoke the drop_prev, because a sp (sb) MUST have two children - // but we cannot invoke do_drop_script because it assumes when called, the first - // child has been removed yet. - if (cursor.prev().isG() && !prev.hasId()) - { - // in this case, the user has inserted a sequence of '. - // Hence, we force a normal deletion, because the behavior must be the same - // for the two kind of deletion - return drop_prev(false); - } - else return drop_prev(special); -} - -std::string -TPushParser::drop_prev_group(bool special) -{ - assert(cursor.prev() && cursor.prev().isG()); - TNode parent = cursor.parent(); - TNode prev = cursor.prev(); - cursor.remove(); - prev.append(cursor); - - if (parent.isC() && prev.hasId()) - { - // this previous group is a macro's argument. Entering inside it means that - // this argument becomes incomplete. Hence, we have to decrement the member pos. - assert(!frames.empty()); - frames.top().pos--; - } - - if (special) return ""; - else - { - // a group could have no children, so the drop_prev is not appropriate - // so, this method is not equivalent to the one above - return do_drop(special); - } -} - -std::string -TPushParser::drop_prev_macro(bool special) -{ - assert(cursor.parent()); - assert(cursor.prev()); - TNode prev = cursor.prev(); - assert(prev.isC()); - - std::string macro_name = prev.nameC(); - - TNode parent = cursor.parent(); - - const TDictionary::Entry& entry = dictionary.find(prev["name"]); - - if (!entry.defined()) - { - // In this case, with a normal deletion, we completely remove the macro. - // With a special deletion, we remove the last character of the macro's name. - cursor.remove(); - prev.replace(cursor); - if (cursor.parent().isC()) - { - // we have removed a macro's child - assert(!frames.empty()); - frames.top().pos--; - } - if (special) return "\\" + macro_name.erase(macro_name.length() - 1, 1); // we remove the last char, because an undefined macro's name is visible - return ""; - } - else - { - // we start to remove a MACRO. Different actions must be taken, based on the nature - // of the MACRO. In some cases, we can't remove the MACRO immediately, in other - // cases it's correct. In the first set of cases, we have to update the stack, pushing - // a frame in it with a correct value of pos, in the - // second one, we must not push a frame in the stack - - if (entry.rightOpen) - { - // In this fragment of code we also handle the leftOpen && rightOpen MACRO. - // since the control element is rightOpen, the cursor should be placed after - // the last child of the control element's last child, and than, we try to remove something. - // A frame MUST be pushed in the stack, because we dont' know if the following actions - // will completely remove the MACRO. - frames.push(Frame(entry)); - - // Since the MACRO is rightOpen, the last child of the MACRO must be a phantom group - assert(prev.last().isG() && !prev.last().hasId()); - - cursor.remove(); - prev.last().append(cursor); - - if (special) return ""; - else - { - // the drop_prev is not appropriate, because the last child of the MACRO could have no children - return do_drop_phantom_group(special); - } - } - else if (entry.leftOpen) - { - // the leftOpen MACRO MUST have one and only one child, which MUST be a phantom group - // In this case, we do not have to push a frame in the stack, because we remove the - // MACRO immediately, substituting it with the content of the phantom group. - // We could remove the last child of the phantom group, but - // it's not clear if it's the correct behavior of the graphical deletion. - // At the moment, to give a standard behavior, we remove the last element. - // With a special deletion, we do not remove it. - assert(prev.first()); - assert(prev.first().isG()); - assert(prev.first() == prev.last()); - - TNode g = prev.first(); - if (g.size()) - { - // in this case, the phantom group has at least one child, so we can call the - // TNode::replace. - g.remove(); - prev.replace(g.first(), TNode()); - parent.append(cursor); - if (special) return "\\" + macro_name; - else return do_drop(special); - } - else - { - // otherwise, the phantom group has no children, so we remove it, also the MACRO. - cursor.remove(); - g.remove(); - prev.replace(cursor); - if (special) return "\\" + macro_name; - else - { - // Once removed this empty macro, we could try to remove something else. - // This would be justified by the fact that, generally, an empty macro gives no visual information - // about it. - return do_drop(special); // special is false - } - } - } - else if (!entry.pattern.empty()) - { - // we have to start to remove a MACRO which accepts arguments. - // If the MACRO accepts arguments, the MACRO has at least one child - assert(prev.size() >= 1); - - // Differnt actions must be taken, based on the nature of the last child - // of the MACRO. We have to distinguish the case in which it's a delimited argument, - // frome the one in which it's a not delimited argument. - if (prev.last().isG() && !prev.last().hasId()) - { - if (special) - { - // in this case, we have to start removing the last delimiter - frames.push(Frame(entry, entry.pattern.size() - 2)); - - cursor.remove(); - prev.last().append(cursor); - - std::string last_del = entry.pattern[entry.pattern.size() - 1].value; - - return "\\" + last_del; - } - else - { - // the last argument of the MACRO is a delimited argumet. We ideally remove - // the sequence of delimiters - cursor.remove(); - prev.last().append(cursor); - // we have to push a frame with a correct value of pos - assert(entry.previousParam(entry.pattern.size()) != entry.pattern.size()); - - unsigned sequence_length = entry.pattern.size() - entry.previousParam(entry.pattern.size()) - 1; - unsigned p = entry.pattern.size() - sequence_length - 1; - // now, p is the correct value of pos, and we can push the frame. - frames.push(Frame(entry, p)); - - // To give a standard behavior to the graphical deletion, we remove the last - // element of the macro. Since we are in a phantom group, we can invoke the - // do_drop_phantom_group(special). - return do_drop_phantom_group(special); - } - } - else - { - // in this case, the last child of the MACRO is not a delimited argument, so we try - // to remove it, but we have to take differnt actions if the MACRO is a table with rows or not. - cursor.remove(); - if (entry.table == 1 && prev.last().is("row")) - { - // in this case the cursor has to be appended to the group associated to - // the last cell of the last row of the table - assert(prev.last().last().is("cell") && prev.last().last().first().isG()); - prev.last().last().first().append(cursor); - - // we have to push a frame in the stack. Since tables has a pattern size = 1, we have to - // set pos at 0, because appending the cursor to the last cell means that this argument - // is not whole inserted. - // We don't call frames.push(Frame(entry)), because it incoditionaly set pos at 0. The - // following line is more general - frames.push(Frame(entry, entry.pattern.size() - 1)); - if (special) - { - // to type a table with rows and cells, the user had typed a - // "{", and to exit from it, the user had inserted a "}". - // Since we are in a special deletion, we just idealy remove the "}" - return ""; - } - else return do_drop_phantom_group(special); - } - else - { - // we push a frame in the stack with a correct value of member pos. - // This correct value is the size of the pattern - 1, because we have been started to delete - // a MACRO. It means that all of the MACRO's arguments have been inserted, but - frames.push(Frame(entry, entry.pattern.size())); - prev.append(cursor); - return drop_prev(special); - } - - } // end of the else of the if (prev.last().isG() && !prev.last().hasId()) - - } // end of if (!entry.pattern.empty()) - else - { - // if we are here, the MACRO preceding the cursor, is !(rightOpen || leftOpen), - // and has no pattern. It means that it has no children. - // We can replace it with the cursor - assert(prev.size() == 0); - cursor.remove(); - prev.replace(cursor); - if (cursor.parent().isC()) - { - // we have removed an empty macro, which was a non delimited argument of a macro. - // We have to decrement pos - assert(!frames.empty()); - frames.top().pos--; - } - - if (special) return "\\" + macro_name; - else return ""; - - // now we could start to remove something else. This behavior would be justified by the - // fact that, generally, an empty MACRO gives no visual information about it. - // To adopt this behavior, just remove the comment to the following instruction - // return do_drop(special); - } - } // end of defined MACRO - -} - -std::string -TPushParser::drop_prev(bool special) -{ - // if in this function, the prev of cursor does exist, also the parent and we want a graphical deletion. - - assert(cursor.prev()); - assert(cursor.parent()); - - TNode prev = cursor.prev(); - - if (prev.isT()) - { - return drop_prev_token(special); - } - else if (prev.isSp() || prev.isSb()) - { - return drop_prev_script(special); - } - else if (prev.isG()) - { - return drop_prev_group(special); - } - else if (prev.isC()) - { - // here, we also treat the case in which the MACRO is a table - return drop_prev_macro(special); - } - else - { - // not handled. Future cases... - return ""; - } - -} // end of method - -void -TPushParser::rgreplace_father() -{ - // this method MUST only be invoked, when the cursor - // is the only child of a group with id. This function - // replaces the group with the cursor. But if the new parent - // is a group with id and the cursor is the only child of the - // group, the new parent is replaced...and so on. - // r stands for recursive, g stands for graphical. - assert(cursor.parent()); - assert(cursor.parent().isG() && cursor.parent().hasId()); - - TNode parent = cursor.parent(); - - while (parent.isG() && parent.hasId() && (parent.first() == cursor)) - { - parent.replace(cursor); - parent = cursor.parent(); - } -} - -std::string -TPushParser::do_drop_script(bool special) -{ - // If we are here, the cursor is child of a script (sp or sb) and - // this means that a prev does exist and that there is one and only one - // element preceding the cursor. The sp's (or sb's) parent - // MUST NOT be a MACRO. - // The element preceding the cursor is the base of the script. - - assert(cursor.parent() && (cursor.parent().isSp() || cursor.parent().isSb())); - TNode parent = cursor.parent(); - - assert(parent.size() == 2); - assert(parent.parent() && !parent.parent().isC()); - - TNode prev = cursor.prev(); - cursor.remove(); - if (prev.isG() /*&& !prev.hasId()*/ && (prev.size() == 0)) - { - // in this case, the script's base is a group with no elements, so - // we have to remove the entire MACRO, replacing it with the cursor. - // This situation occurs when the user had typed something like this - // $....{}^ - // or this - // $^ - // or this - // $...{^ - // - if (special && prev.hasId()) - { - // in this case, the user has typed: ...{}^ - // hence we idealy remove the ^ - parent.replace(prev); - prev.parent().append(cursor); - return ""; - } - else if (!prev.hasId()) - { - // we idealy remove the ^, but the phantom group - // has to be removed, also - prev.remove(); - parent.replace(cursor); - return ""; - } - else - { - prev.remove(); - parent.replace(cursor); - - // since the script had no children, we can try to remove something else. - // Since we don't know who is cursor's parent, and who is cursor's preceding - // element, we invoke the do_drop() - return do_drop(special); - } - } - else - { - // in this case, the prev has to replace the script. - parent.replace(prev); - prev.parent().append(cursor); - // now prev have a preceding element - assert(cursor.parent().size() > 1); - - if (special) return ""; - else - { - // to give a standard behavior, we try to remove the element, which was - // the script's base. - return do_drop(special); - } - } - -} // end of method do_drop_script - -std::string -TPushParser::do_drop_macro(bool special) -{ - // If we are here, the cursor is a child of a MACRO and this means - // that there is an open frame for the control element - // and this element is closed at either side (no leftOpen no rightOpen) - // and the MACRO is waiting for a not delimited argument, so - // we can assert that frame.entry.pattern.size() >= 1 - assert(cursor.parent() && cursor.parent().isC()); - TNode parent = cursor.parent(); - - // this string is useful iff we have a special deletion. - std::string macro_name = parent.nameC(); - - assert(!frames.empty()); - Frame& frame = frames.top(); - assert(frame.entry.pattern.size() >= 1); - - // we have to take different actions, based on if a preceding element exists - // or not - TNode prev = cursor.prev(); - if (!prev) - { - // in this case, a prev does not exist, so the actions of deleting means - // that we have to remove the MACRO. So we have to pop the stack. - assert(frame.pos == 0); - - parent.replace(cursor); - frames.pop(); - - if (special) return "\\" + macro_name; - else - { - // Since the macro had no children and this is a graphical deletion, we try - // to remove something else - return do_drop(special); - } - } - else - { - // a prev does exist, we have to control if it's a delimited argument or not. - if (prev.isG() && !prev.hasId()) - { - // in this case, prev is a delimited argument, so we have - // to ideally remove the sequence of delimiters - Frame& frame = frames.top(); - assert(frame.pos > 1); - cursor.remove(); - prev.append(cursor); - assert(frame.entry.previousParam(frame.pos) != frame.entry.pattern.size()); - - if (special) - { - // in this case we have to start removing the last delimimeter. - // It means that we return in a situation where the user has not entirely - // inserted the delimited argument. So, we have to decrement frame.pos of - // two units: the delimiter and the actual argument - std::string last_del = frame.entry.pattern[frame.pos - 1].value; - frame.pos = frame.pos - 2; - return "\\" + last_del; - } - else - { - // these 3 lines of code update the member pos. - unsigned sequence_length = frame.pos - frame.entry.previousParam(frame.pos) - 1; - assert(sequence_length); - frame.pos = frame.pos - sequence_length - 1; - - // since it's a graphical deletion, we have to remove the current preceding element. - // We don't invoke the drop_prev(), because a do_drop_phantom_group is more general. - return do_drop_phantom_group(special); - } - } - else - { - // the prev is not a delimited argument, so we have to try to remove it. - // We "try", because the prev might be something that - // a simple deletion cannot remove completely - return drop_prev(special); - } - } - -} - -std::string -TPushParser::do_drop_groupId(bool special) -{ - // if we are here, the cursor's parent is a group with Id - assert(cursor.parent() && cursor.parent().isG() && cursor.parent().hasId()); - TNode parent = cursor.parent(); - - // we have to take different actions based on if the cursor has a preceding - // element or not - TNode prev = cursor.prev(); - if (prev) - { - // the cursor has a preceding element, so we try to remove it - if (special) return drop_prev(special); - else - { - std::string str = drop_prev(special); - - // We control if the group has to be removed, because the cursor - // might be the only element of the group. - // But we have to be careful, because drop_prev could change the TML tree - // more than we think...parent could no longer exist! - parent = cursor.parent(); - if ((parent.first() == cursor) && parent.isG() && parent.hasId()) - rgreplace_father(); - - return str; - } - } - else - { - // the cursor has no preceding elements, so we have to remove the - // group. - if (special) - { - parent.replace(cursor); - return ""; - } - else - { - rgreplace_father(); - // we have to re-start the process, because it' a graphical deletion - return do_drop(special); - } - } - -} // end of method do_drop_groupId() - -std::string -TPushParser::do_drop_phantom_group(bool special) -{ - // if we are here, the cursor MUST be a child of a - // phantom group. - assert(cursor.parent() && cursor.parent().isG() && !cursor.parent().hasId()); - - TNode parent = cursor.parent(); - - // now we have to control if the cursor has a preceding element or not - TNode prev = cursor.prev(); - if (prev) - { - if (parent.parent() && parent.parent().isC()) - { - // there is a frame in the stack - assert(!frames.empty()); - if (frames.top().entry.pattern.size()) - { - Frame& frame = frames.top(); - if (special) - { - // we are in a delimited argument. If the user has inserted a proper subset of the - // delimiters'sequence, we start to remove the previous delimiter. Start to remove - // a delimiter means that that delimiter must be removed from the count of inserted delimiters. - // It means that we have to decrement the member pos. - if (frame.entry.pattern[frame.pos].category != TToken::PARAMETER) - { - std::string del = frame.entry.pattern[frame.pos].value; - frame.pos--; - return "\\" + del; - } - } - else - { - // we are in a delimited argument. If the user has inserted a proper subset of the delimiters'sequence, - // we have to remove the portion the user has inserted. - while (frame.entry.pattern[frame.pos].category != TToken::PARAMETER) frame.pos--; - } - } - } - - // the cursor has a preceding element, so we try to remove it - std::string str = drop_prev(special); - - if (special) return str; - else - { - // now we have to control the parent, to handle the case of primes. But we have returned from a drop_prev(), which - // could change the TML tree. So not asssuming that cursor's parent is unchanged is convenient. - parent = cursor.parent(); - if (parent.isG() && !parent.hasId() && (parent.size() == 1) && parent.parent().isSp()) - { - // in this case the drop_prev has removed the only element preceding the cursor. - // Since the phantom group is an sp's child, the user has removed all \' in the - // phantom group. - // Now we have some possibilities: - // - we can replace the phantom group with the cursor, giving the user the chance to insert a new - // exponent - // - we can remove the phantom group and the sp element, recreating the state before the user inserted the first - // prime. - // At the moment we implement the second one. - assert(parent.parent().size() == 2); - TNode gparent = parent.parent(); - TNode base = gparent.first(); - cursor.remove(); - parent.remove(); - gparent.replace(base); - // now base's parent is no more gparent - base.parent().append(cursor); - - return str; - } - else if (parent.isG() && !parent.hasId() && parent.parent().isSp()) - { - // in this case we have to place the cursor after the sp element - cursor.remove(); - assert(parent.parent().parent()); - parent.parent().parent().append(cursor); - return str; - } - else return str; - } - } - else - { - // in this case the cursor is the only element of the phantom group, - // so we have to remove it. But, a phantom group has a special role, - // so we have to control the grand father of the cursor. - TNode gfather = parent.parent(); - if (!gfather) - { - // If here, the TML tree is in an inconsistent state - logger.error("TML tree in a inconsistent state"); - return ""; - } - else if (gfather.isC()) - { - // in this case the phantom group is child of a MACRO. - // We have to control the nature of this MACRO. - assert(!frames.empty()); - Frame& frame = frames.top(); - - // this variable is useful in a special deletion - std::string macro_name = gfather.nameC(); - - if (frame.entry.leftOpen && frame.entry.rightOpen) - { - // in this case, the cursor'parent is in the second and last child - // of the MACRO. We can assert that the grand father has two - // children, which are both phantom groups - assert(gfather.size() == 2); - assert((gfather.last() == parent) && (gfather.first().isG() && !gfather.first().hasId())); - assert(frame.pos == 0); - - TNode ggfather = gfather.parent(); - assert(ggfather); - cursor.remove(); - parent.remove(); - // we have to replace the gfather with the elements of its first child, but this group may have no - // children. - if (gfather.first().size()) - { - gfather.replace(gfather.first().first(), TNode()); - ggfather.append(cursor); - } - else - { - // in this case, the MACRO has to be replaced with the cursor - gfather.first().remove(); - gfather.replace(cursor); - } - // now we have the situation preceding the insertion of the leftOpen and rightOpen MACRO. - // this MACRO no longer exists. - frames.pop(); - - if (special) return "\\" + macro_name; - else - { - // to give a standard behavior to the graphical deletion, we call the do_drop. - return do_drop(special); - } - } - else if (frame.entry.rightOpen) - { - // the user has inserted a rightOpen MACRO, and now, this MACRO has no children (excluding the - // phantom group), so we remove the MACRO. - // We can assert that cursor's parent is the only child of the MACRO - assert(gfather.size() == 1); - assert(frame.pos == 0); - cursor.remove(); - parent.remove(); - gfather.replace(cursor); - - // now we have the situation preceding the rightOpen MACRO, so we have to pop the frame - frames.pop(); - - if (special) return "\\" + macro_name; - else - { - // to give a standard behavior to the graphical deletion, we call the do_drop. - return do_drop(special); - } - - } - else if (frame.entry.leftOpen) - { - // this situation will never occur. - logger.error("the parser has generated a wrong TML tree"); - return ""; - } - else if (!frame.entry.pattern.empty()) - { - // the MACRO accepts arguments, and the phantom group in which - // the cursor is, rappresents a delimited argument. - // We have to control if the cursor's parent has a preceding element, - // or not. - TNode uncle = parent.prev(); - if (!uncle) - { - // the parent is the only element of the MACRO. - // we can assert that frame.pos == 0. - // In this case we can replace the MACRO with the cursor - assert(frame.pos == 0); - cursor.remove(); - parent.remove(); - gfather.replace(cursor); - frames.pop(); - - if (special) return "\\" + macro_name; - else - { - // once we have replaced the empty macro with the cursor, we can remove - // something else - return do_drop(special); - } - } - else - { - // the parent has a preceding element. Now we have - // to control if the uncle is a delimited argument or not. - if (uncle.isG() && !uncle.hasId()) - { - // cursor's uncle is a delimited argument - cursor.remove(); - parent.remove(); - uncle.append(cursor); - if (special) - { - // we have to start removing the last delimiter of the delimited - // argument. - std::string last_del = frame.entry.pattern[frame.pos - 1].value; - frame.pos = frame.pos - 2; - return "\\" + last_del; - } - else - { - // the uncle is a delimited argument. So we have to ideally - // remove the sequence of delimiters. - assert(frame.pos > 1); - unsigned sequence_length = frame.pos - frame.entry.previousParam(frame.pos) - 1; - assert(frame.entry.previousParam(frame.pos) != frame.entry.pattern.size()); - assert(sequence_length); - // sequence_length is the length of the delimiters sequence which separates - // the current parameter and the previous parameter - frame.pos = frame.pos - sequence_length - 1; - - // once removed the sequnce of delimiters, we can start to remove the actual - // parameter. We can call the do_drop_phantom_group() because a delimited argument - // is always a phantom group's child - return do_drop_phantom_group(special); - } - } - else - { - // the uncle is a not delimited argument, so we try to remove it. - cursor.remove(); - parent.replace(cursor); - parent = cursor.parent(); // we update the parent (it should be the MACRO) - assert(parent.isC()); - - // now we try to remove the uncle (now it' the preceding element) - return drop_prev(special); - } - } // this is the else's end, that handles the case in which an uncle exists - } // end of if (!frame.entry.pattern.empty()) - else - { - // the entry has no arguments, is not rightOpen and is not leftOpen. - logger.error("TML tree in a strange state"); - return ""; - } - } // end of if (gfather.isC()) - else if (gfather.is("cell")) - { - // A table is a control sequence, so there is a frame in the stack - assert(!frames.empty()); - assert(frames.top().pos == 0); - assert(frames.top().entry.table == 1); - - // a cell MUST be a row's child, which in turn is a table's child - assert(gfather.parent() && gfather.parent().is("row") && gfather.parent().parent()); - - // this variable is useful to handle the special deletion - std::string table_name = gfather.parent().parent().nameC(); - - TNode row = gfather.parent(); - - // in this case the cell has no element, so the user wants to delete this cell. - TNode prev_cell = gfather.prev(); - cursor.remove(); - parent.remove(); - gfather.remove(); - // now the cell no longer exists - - if (!prev_cell) - { - // in this case, the cell was the only cell in the row. - // So, we assume that the user wants to delete the entire row. - TNode table = row.parent(); - TNode prev_row = row.prev(); - row.remove(); - - if (!prev_row) - { - if (special) - { - // Since there was a cell (and a row), the user has typed a "{" to - // We ideally remove this character. - table.append(cursor); - return ""; - } - else - { - // the row was the only child of the table. - // so we have to delete the entire table - assert(table.parent()); - TNode parent_table = table.parent(); - table.remove(); - frames.pop(); - parent_table.append(cursor); - return ""; - } - } - else - { - // there are other rows (one or more) - assert(prev_row.is("row")); - assert(prev_row.last()); - TNode last_cell = prev_row.last(); - assert(last_cell.is("cell")); - assert(last_cell.size() == 1); - assert(last_cell.first().isG() && !last_cell.first().hasId()); - last_cell.first().append(cursor); - // Since cells and rows are separated by spaces and CRs - // (and the user can see this spaces and CRs), a special deletion - // is equivalent to a normal deletion - return ""; - } - } // end of if (!prev_cell) - else - { - // being here means that there is a previous cell, - // so we append the cursor to group. - assert(prev_cell.size() == 1); - assert(prev_cell.first().isG() && !prev_cell.first().hasId()); - prev_cell.first().append(cursor); - return ""; - } - } // end of if (gfather.is("cell")) - else if (gfather.isSp()) - { - // we cannot be here because a phantom group can be a Sp child only - // in two cases. If the user has typed somethong like: - // $^ - // the cursor is not phantom group's child. - // If the user has typed somethong like - // ..'' - // In this case the sequence of ' is placed in a phantom group, - // which becomes the exponent of the script. But, the cursor is - // always outside the phantom group - logger.error("TML tree in a strange state"); - return ""; - } - else if (gfather.is("math")) - { - // in this case we ignore the user's will of deleting - // but we could also decide to remove the math mode. - logger.warning("nothing to delete"); - return ""; - } - else - { - // cursor's grand father is undefined - logger.error("TML tree is in an unknown state"); - return ""; - } - } // end of the else of the if (prev) - -} - - -std::string -TPushParser::do_drop(bool special) -{ - // we have to handle the case in wich the cursor has a parent or not - if (!cursor.parent()) - { - // it's not a good situation...at the moment we do not take actions - logger.error("TML tree not well structured"); - return ""; - } - else - { - // a parent exists. We have to take differnt actions, based on the nature of - // the parent - TNode parent = cursor.parent(); - if (parent.is("math")) - { - // we ca do two thing...we can remove the math mode (it implies controlling the display attribute), we can do nothing - // At the moment, the user's will of deleting is simply ignored - logger.warning("nothing to delete"); - return ""; - } - else if (parent.isG()) - { - // the cursor's parent is a group. We have to control if it's a phantom group or not - if (parent.hasId()) - { - return do_drop_groupId(special); - } - else - { - return do_drop_phantom_group(special); - } - } // end of parent is group - else if (parent.isC()) - { - return do_drop_macro(special); - } // end of parent is a MACRO - else if (parent.isSp() || parent.isSb()) - { - return do_drop_script(special); - } // end of parent is sp or sb - } // end of the else which consider the case in which parent exists - -} // end of method do_drop - -bool -TPushParser::process(const TToken& token) -{ - switch (token.category) - { - case TToken::BEGIN: return do_begin(); - case TToken::END: return do_end(); - case TToken::SHIFT: return do_shift(); - case TToken::ALIGN: return do_align(); - case TToken::EOL: return do_eol(); - case TToken::PARAMETER: return do_parameter(token.value); - case TToken::SUPERSCRIPT: return do_superscript(); - case TToken::SUBSCRIPT: return do_subscript(); - case TToken::IGNORABLE_SPACE: return do_ignorablespace(token.value); - case TToken::SPACE: return do_space(token.value); - case TToken::LETTER: return do_letter(token.value); - case TToken::DIGIT: return do_digit(token.value); - case TToken::OTHER: return do_other(token.value); - case TToken::ACTIVE: return do_active(token.value); - case TToken::COMMENT: return do_comment(); - case TToken::CONTROL: return do_control(token.value); - } -} - -void -TPushParser::push(const TToken& token) -{ - TNode parent = cursor.parent(); - // If the cursor has no parent then it is detached from the editing - // tree, which means this token will be ignored - - if (parent) - // If the parent is a phantom group and the grand-parent is a - // control sequence, there are two cases: - // a. we are parsing a delimited argument of a entry - // b. we are parsing a side of a right- or left-open entry - if (parent.isG() && !parent.hasId() && parent.parent().isC()) - { - // There must be an open frame, for the grand-parent is a control sequence - assert(!frames.empty()); - Frame& frame = frames.top(); - if (!frame.entry.pattern.empty()) - { - // The entry pattern is not empty. By our conventions this means - // the entry cannot be open at either end, hence we are parsing - // a delimited argument - assert(frame.pos + 1 < frame.entry.pattern.size()); - assert(frame.entry.pattern[frame.pos + 1].category != TToken::PARAMETER); - if (frame.entry.pattern[frame.pos + 1] == token) - { - // The token matches with a delimiter of the argument, - // hence we increment the frame.pos - frame.pos++; - - if (frame.entry.lastDelimiter(frame.pos)) - { - // this delimiter is the last one for the argumet, - // so the argument is completed - cursor.remove(); - advance(parent); - } - } - else - { - // Delimiter mismatch. - if (frame.entry.pattern[frame.pos].category != TToken::PARAMETER) - { - // in this case, there is a sequence of delimiters that delimitates - // the argument, and the user has correctly inserted a portion of this - // sequence, but now has inserted a wrong delimiter. - // Here, there are some possibilities: - // - ignore the token, and wait for the correct delimiter - // - ignore the token, wait for the correct delimiter and emit an error - // At the moment, we implement the second possibily - logger.warning("it's not the correct delimiter...you have to type '" + frame.entry.pattern[frame.pos + 1].value + "'"); - } - else - { - // in this case, the sequence of delimiters is composed of one - // delimiter. It means that we have to process the token - process(token); - } - } - } - else - { - // The entry pattern is empty, hence we are parsing a right-open - // entry. What happens if we actually are in the left side? - // This could happen only when re-editing an entered expression - // We'll see... - assert(frame.entry.rightOpen); - process(token); - } - } - else if (parent.isC()) - { - // We are parsing a non-delimited argument entry - // or a fixed token - Frame& frame = frames.top(); - assert(frame.pos < frame.entry.pattern.size()); - - if (frame.entry.pattern[frame.pos].category == TToken::PARAMETER) - { - // As by the TeX parsing rules of undelimited parameters, - // empty spaces are ignored - if ((token.category != TToken::SPACE) && (token.category != TToken::IGNORABLE_SPACE)) process(token); - } - else if (frame.entry.pattern[frame.pos] == token) - { - // The token has been accepted - frame.pos++; - if (frame.pos < frame.entry.pattern.size() && - frame.entry.paramDelimited(frame.pos)) - { - // If the next is a delimited argument we have to place - // the phantom group with the cursor inside - TNode g = doc.createG(); - cursor.replace(g); - g.append(cursor); - } - else - { - cursor.remove(); - advance(parent); - } - } - else - { - // There is a mismatch. Emit an error and ignore the token? - logger.warning("ignored token: " + token.value); - } - } - else - process(token); - else - { - logger.warning("ignored token"); - } - - if (factory && doc.dirtyNode() && !frozen()) factory->documentModified(doc); -} - -std::string -TPushParser::drop(bool special) -{ - std::string str = do_drop(special); - if (factory && doc.dirtyNode() && !frozen()) factory->documentModified(doc); - return str; -} - -void -TPushParser::advance(const TNode& node) -{ - assert(node); - - if (!node.parent()) - { - // this is an error - logger.error("wrong TML tree"); - } - else if (node.parent().isG()) - { - TNode next = node.next(); - if (next) next.insert(cursor); - else node.parent().append(cursor); - } - else if (node.parent().isC()) - { - assert(!frames.empty()); - if ((frames.top().pos + 1 == frames.top().entry.pattern.size()) || (frames.top().entry.pattern.empty())) - { - // we are here when we have a right open macro, or the inserted element is the last one - if (frames.top().entry.rightOpen) - { - // we have to remove the frame from the stack - frames.pop(); - advance(node.parent().parent()); - } - else - { - frames.pop(); - advance(node.parent()); - } - } - else if (frames.top().entry.paramDelimited(frames.top().pos + 1)) - { - // the next argument is delimited, so we have to create a phantom group - TNode g = doc.createG(); - g.append(cursor); - node.parent().append(g); - frames.top().pos++; - } - else - { - // the next argumet is not delimited, so we have to append the cursor - // to the MACRO - node.parent().append(cursor); - frames.top().pos++; - } - } - else advance(node.parent()); -} - -void -TPushParser::setCursorHint(const std::string& c) -{ - if (cursor["val"] != c) - { - cursor["val"] = c; - if (factory && doc.dirtyNode() && !frozen()) factory->documentModified(doc); - } -} - -bool -TPushParser::hideCursor() -{ - if (hiddenCursor++ == 0) - { - cursor["visible"] = "0"; - if (factory && doc.dirtyNode() && !frozen()) factory->documentModified(doc); - return true; - } - else - return false; -} - -bool -TPushParser::showCursor() -{ - if (hiddenCursor > 0 && --hiddenCursor == 0) - { - cursor["visible"] = "1"; - if (factory && doc.dirtyNode() && !frozen()) factory->documentModified(doc); - return true; - } - else - return false; -} - -bool -TPushParser::thaw() -{ - if (APushParser::thaw() && factory && doc.dirtyNode()) - { - factory->documentModified(doc); - return true; - } - else - return false; -} diff --git a/helm/DEVEL/mathml_editor/src/TPushParser.hh b/helm/DEVEL/mathml_editor/src/TPushParser.hh deleted file mode 100644 index a94402fbf..000000000 --- a/helm/DEVEL/mathml_editor/src/TPushParser.hh +++ /dev/null @@ -1,113 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TPushParser_hh__ -#define __TPushParser_hh__ - -#include -#include -#include "TToken.hh" -#include "APushParser.hh" -#include "TDictionary.hh" -#include "TDocument.hh" -#include "TNode.hh" - -class TPushParser : public APushParser -{ -public: - TPushParser(class ALogger&, const class TDictionary&); - TPushParser(class ALogger&, class AMathMLFactory&, const class TDictionary&); - virtual ~TPushParser(); - - virtual void reset(void); - virtual void push(const TToken&); - virtual std::string drop(bool); - virtual void setCursorHint(const std::string&); - virtual bool hideCursor(void); - virtual bool showCursor(void); - - virtual bool thaw(void); - - DOM::Document document(void) const { return doc.document().cloneNode(true); } - -private: - void init(void); - - TNode PRIME(void); - bool isPrimes(const TNode&) const; - - bool do_begin(void); - bool do_end(void); - bool do_shift(void); - bool do_align(void); - bool do_eol(void); - bool do_parameter(const std::string&); - bool do_superscript(void); - bool do_subscript(void); - bool do_ignorablespace(const std::string&); - bool do_space(const std::string&); - bool do_letter(const std::string&); - bool do_digit(const std::string&); - bool do_other(const std::string&); - bool do_active(const std::string&); - bool do_comment(void); - bool do_control(const std::string&); - - std::string drop_prev_token(bool); - std::string drop_prev_script(bool); - std::string drop_prev_group(bool); - std::string drop_prev_macro(bool); - std::string drop_prev(bool); - void rgreplace_father(void); - std::string do_drop_script(bool); - std::string do_drop_macro(bool); - std::string do_drop_groupId(bool); - std::string do_drop_phantom_group(bool); - std::string do_drop(bool); - - bool do_cr(void); - bool do_apostrophe(void); - void advance(const TNode&); - bool correctBrace(void); - - bool process(const TToken&); - - struct Frame - { - Frame(const TDictionary::Entry& e) : entry(e), pos(0) { }; - Frame(const TDictionary::Entry&e, unsigned p) : entry(e), pos(p) { }; - const TDictionary::Entry& entry; - unsigned pos; - }; - - std::stack frames; - unsigned nextId; - TDocument doc; - TNode cursor; - unsigned hiddenCursor; - const class TDictionary& dictionary; -}; - -#endif // __TPushParser_hh__ diff --git a/helm/DEVEL/mathml_editor/src/TToken.hh b/helm/DEVEL/mathml_editor/src/TToken.hh deleted file mode 100644 index 0ea74e551..000000000 --- a/helm/DEVEL/mathml_editor/src/TToken.hh +++ /dev/null @@ -1,63 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TToken_hh__ -#define __TToken_hh__ - -#include - -struct TToken -{ - enum TCat - { - BEGIN, - END, - SHIFT, - ALIGN, - EOL, - PARAMETER, - SUPERSCRIPT, - SUBSCRIPT, - IGNORABLE_SPACE, - SPACE, - LETTER, - DIGIT, - OTHER, - ACTIVE, - COMMENT, - CONTROL - }; - - TToken(TCat c) : category(c) { }; - TToken(TCat c, char ch) : category(c), value(std::string(1, ch)) { }; - TToken(TCat c, const std::string& v) : category(c), value(v) { }; - - bool operator==(const TToken& token) const { return category == token.category && value == token.value; }; - - TCat category; - std::string value; -}; - -#endif // __TToken_hh__ diff --git a/helm/DEVEL/mathml_editor/src/TTokenizer.cc b/helm/DEVEL/mathml_editor/src/TTokenizer.cc deleted file mode 100644 index 14eeaadb0..000000000 --- a/helm/DEVEL/mathml_editor/src/TTokenizer.cc +++ /dev/null @@ -1,69 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include - -#include "TTokenizer.hh" -#include "TPushLexer.hh" - -std::vector -TTokenizer::tokenize(const std::string& s) -{ - TPushLexer lexer(logger, *this); - - tokens.clear(); - for (std::string::const_iterator p = s.begin(); - p != s.end(); - p++) - lexer.push(*p); - - lexer.flush(); - - std::vector res; - res.reserve(tokens.size()); - copy(tokens.begin(), tokens.end(), back_inserter(res)); - - return res; -} - -void -TTokenizer::reset() -{ - assert(0); -} - -void -TTokenizer::push(const TToken& token) -{ - tokens.push_back(token); -} - -std::string -TTokenizer::drop(bool alt) -{ - assert(0); - return ""; -} diff --git a/helm/DEVEL/mathml_editor/src/TTokenizer.hh b/helm/DEVEL/mathml_editor/src/TTokenizer.hh deleted file mode 100644 index f78acafe4..000000000 --- a/helm/DEVEL/mathml_editor/src/TTokenizer.hh +++ /dev/null @@ -1,54 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __TTokenizer_hh__ -#define __TTokenizer_hh__ - -#include -#include -#include - -#include "TToken.hh" -#include "APushParser.hh" - -class TTokenizer : private APushParser -{ -public: - TTokenizer(class ALogger& l) : APushParser(l) { }; - - std::vector tokenize(const std::string&); - -private: - virtual void reset(void); - virtual void push(const TToken&); - virtual std::string drop(bool = false); - virtual void setCursorHint(const std::string&) { }; - virtual bool hideCursor(void) { return false; }; - virtual bool showCursor(void) { return false; }; - - std::list tokens; -}; - -#endif // __TTokenizer_hh__ diff --git a/helm/DEVEL/mathml_editor/src/config.dirs.in b/helm/DEVEL/mathml_editor/src/config.dirs.in deleted file mode 100644 index 1ce2d0a5e..000000000 --- a/helm/DEVEL/mathml_editor/src/config.dirs.in +++ /dev/null @@ -1,3 +0,0 @@ - -#define PKGDATADIR "@prefix@/share/@PACKAGE@" - diff --git a/helm/DEVEL/mathml_editor/src/dom.hh b/helm/DEVEL/mathml_editor/src/dom.hh deleted file mode 100644 index d09505fd5..000000000 --- a/helm/DEVEL/mathml_editor/src/dom.hh +++ /dev/null @@ -1,53 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __dom_hh__ -#define __dom_hh__ - -#include -#include - -namespace DOM = GdomeSmartDOM; -namespace DOMX = GdomeSmartDOMExt; - -typedef DOM::Char32 TChar; -typedef DOM::UCS4String TString; - -inline bool isUnicodeSpace(TChar ch) -{ - return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r';; -} - -inline bool isUnicodeAlpha(TChar ch) -{ - return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'); -} - -inline bool isUnicodeDigit(TChar ch) -{ - return (ch >= '0' && ch <= '9'); -} - -#endif // __dom_hh__ diff --git a/helm/DEVEL/mathml_editor/src/globals.hh b/helm/DEVEL/mathml_editor/src/globals.hh deleted file mode 100644 index 3270a49ab..000000000 --- a/helm/DEVEL/mathml_editor/src/globals.hh +++ /dev/null @@ -1,33 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __globals_hh__ -#define __globals_hh__ - -#define TML_NS_URI "http://helm.cs.unibo.it/2002/TML" -#define XMLNS_NS_URI "http://www.w3.org/2000/xmlns/" -#define MATHML_NS_URI "http://www.w3.org/1998/Math/MathML" - -#endif // __globals_hh__ diff --git a/helm/DEVEL/mathml_editor/src/timer.cc b/helm/DEVEL/mathml_editor/src/timer.cc deleted file mode 100644 index d8b6119cd..000000000 --- a/helm/DEVEL/mathml_editor/src/timer.cc +++ /dev/null @@ -1,38 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include - -#include - -#include "timer.hh" - -long -getTimer() -{ - struct timeval time; - gettimeofday(&time, 0); - return time.tv_sec * 1000000 + time.tv_usec; -} diff --git a/helm/DEVEL/mathml_editor/src/timer.hh b/helm/DEVEL/mathml_editor/src/timer.hh deleted file mode 100644 index 8737422e9..000000000 --- a/helm/DEVEL/mathml_editor/src/timer.hh +++ /dev/null @@ -1,31 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef __timer_hh__ -#define __timer_hh__ - -long getTimer(void); - -#endif // __timer_hh__ diff --git a/helm/DEVEL/mathml_editor/test/.cvsignore b/helm/DEVEL/mathml_editor/test/.cvsignore deleted file mode 100644 index bdefc79b9..000000000 --- a/helm/DEVEL/mathml_editor/test/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -editor diff --git a/helm/DEVEL/mathml_editor/test/Makefile.am b/helm/DEVEL/mathml_editor/test/Makefile.am deleted file mode 100644 index edf73ee18..000000000 --- a/helm/DEVEL/mathml_editor/test/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ - -noinst_PROGRAMS = editor - -editor_SOURCES = editor.cc guiGTK.c aux.cc - -noinst_HEADERS = guiGTK.h - -LDADDS = \ - $(GMETADOM_LIBS) \ - $(GDOMEXSLT_LIBS) \ - $(GTKMATHVIEW_LIBS) \ - $(top_builddir)/src/.libs/libeditex.a - -editor_LDADD = $(LDADDS) - -INCLUDES = \ - $(GMETADOM_CFLAGS) \ - $(GDOMEXSLT_CFLAGS) \ - $(GTKMATHVIEW_CFLAGS) \ - -I$(top_srcdir)/src - diff --git a/helm/DEVEL/mathml_editor/test/Makefile.in b/helm/DEVEL/mathml_editor/test/Makefile.in deleted file mode 100644 index df6bac536..000000000 --- a/helm/DEVEL/mathml_editor/test/Makefile.in +++ /dev/null @@ -1,396 +0,0 @@ -# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_alias = @host_alias@ -host_triplet = @host@ -AS = @AS@ -CC = @CC@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EDITEX_VERSION_INFO = @EDITEX_VERSION_INFO@ -EXEEXT = @EXEEXT@ -GDOMEXSLT_CFLAGS = @GDOMEXSLT_CFLAGS@ -GDOMEXSLT_LIBS = @GDOMEXSLT_LIBS@ -GMETADOM_CFLAGS = @GMETADOM_CFLAGS@ -GMETADOM_LIBS = @GMETADOM_LIBS@ -GTKMATHVIEW_CFLAGS = @GTKMATHVIEW_CFLAGS@ -GTKMATHVIEW_LIBS = @GTKMATHVIEW_LIBS@ -HAVE_OCAMLC = @HAVE_OCAMLC@ -HAVE_OCAMLDEP = @HAVE_OCAMLDEP@ -HAVE_OCAMLFIND = @HAVE_OCAMLFIND@ -HAVE_OCAMLMKLIB = @HAVE_OCAMLMKLIB@ -HAVE_OCAMLOPT = @HAVE_OCAMLOPT@ -LDFLAGS = @LDFLAGS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -MAKEINFO = @MAKEINFO@ -MLGDOME_CFLAGS = @MLGDOME_CFLAGS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OCAMLC = @OCAMLC@ -OCAMLDEP = @OCAMLDEP@ -OCAMLFIND = @OCAMLFIND@ -OCAMLMKLIB = @OCAMLMKLIB@ -OCAMLOPT = @OCAMLOPT@ -OCAMLSTDLIBDIR = @OCAMLSTDLIBDIR@ -OCAMLSTUBDIR = @OCAMLSTUBDIR@ -OCAML_INCLUDE_DIR = @OCAML_INCLUDE_DIR@ -PACKAGE = @PACKAGE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ - -noinst_PROGRAMS = editor - -editor_SOURCES = editor.cc guiGTK.c aux.cc - -noinst_HEADERS = guiGTK.h - -LDADDS = $(GMETADOM_LIBS) $(GDOMEXSLT_LIBS) $(GTKMATHVIEW_LIBS) $(top_builddir)/src/.libs/libeditex.a - - -editor_LDADD = $(LDADDS) - -INCLUDES = $(GMETADOM_CFLAGS) $(GDOMEXSLT_CFLAGS) $(GTKMATHVIEW_CFLAGS) -I$(top_srcdir)/src - -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -noinst_PROGRAMS = editor$(EXEEXT) -PROGRAMS = $(noinst_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -LIBS = @LIBS@ -editor_OBJECTS = editor.$(OBJEXT) guiGTK.$(OBJEXT) aux.$(OBJEXT) -editor_DEPENDENCIES = $(top_builddir)/src/.libs/libeditex.a -editor_LDFLAGS = -CXXFLAGS = @CXXFLAGS@ -CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -HEADERS = $(noinst_HEADERS) - -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -DEP_FILES = .deps/aux.P .deps/editor.P .deps/guiGTK.P -SOURCES = $(editor_SOURCES) -OBJECTS = $(editor_OBJECTS) - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .cc .lo .o .obj .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-noinstPROGRAMS: - -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - -distclean-noinstPROGRAMS: - -maintainer-clean-noinstPROGRAMS: - -# FIXME: We should only use cygpath when building on Windows, -# and only if it is available. -.c.obj: - $(COMPILE) -c `cygpath -w $<` - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -rm -f *.$(OBJEXT) - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -editor$(EXEEXT): $(editor_OBJECTS) $(editor_DEPENDENCIES) - @rm -f editor$(EXEEXT) - $(CXXLINK) $(editor_LDFLAGS) $(editor_OBJECTS) $(editor_LDADD) $(LIBS) -.cc.o: - $(CXXCOMPILE) -c $< -.cc.obj: - $(CXXCOMPILE) -c `cygpath -w $<` -.cc.lo: - $(LTCXXCOMPILE) -c $< - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = test - -distdir: $(DISTFILES) - here=`cd $(top_builddir) && pwd`; \ - top_distdir=`cd $(top_distdir) && pwd`; \ - distdir=`cd $(distdir) && pwd`; \ - cd $(top_srcdir) \ - && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu test/Makefile - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) - --include $(DEP_FILES) - -mostlyclean-depend: - -clean-depend: - -distclean-depend: - -rm -rf .deps - -maintainer-clean-depend: - -%.o: %.c - @echo '$(COMPILE) -c $<'; \ - $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-cp .deps/$(*F).pp .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm .deps/$(*F).pp - -%.lo: %.c - @echo '$(LTCOMPILE) -c $<'; \ - $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ - < .deps/$(*F).pp > .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm -f .deps/$(*F).pp - -%.o: %.cc - @echo '$(CXXCOMPILE) -c $<'; \ - $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-cp .deps/$(*F).pp .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm .deps/$(*F).pp - -%.lo: %.cc - @echo '$(LTCXXCOMPILE) -c $<'; \ - $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ - < .deps/$(*F).pp > .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm -f .deps/$(*F).pp -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) $(HEADERS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags mostlyclean-depend \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \ - clean-depend clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-noinstPROGRAMS distclean-compile \ - distclean-libtool distclean-tags distclean-depend \ - distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-noinstPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-depend \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ -clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir \ -mostlyclean-depend distclean-depend clean-depend \ -maintainer-clean-depend info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/helm/DEVEL/mathml_editor/test/aux.cc b/helm/DEVEL/mathml_editor/test/aux.cc deleted file mode 100644 index bb17013fb..000000000 --- a/helm/DEVEL/mathml_editor/test/aux.cc +++ /dev/null @@ -1,261 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include - -#include -#include -#include - -//#include "gmetadom.hh" - -namespace DOM = GdomeSmartDOM; - -static unsigned -getDepth(const DOM::Element& elem) -{ - unsigned length = 0; - DOM::Element p = elem; - - while (p) - { - p = p.get_parentNode(); - length++; - } - - return length; -} - -static DOM::Element -findCommonAncestor(const DOM::Element& first, const DOM::Element& last) -{ - assert(first); - assert(last); - - DOM::Element p(first); - DOM::Element q(last); - - if (p != q) - { - unsigned pDepth = getDepth(p); - unsigned qDepth = getDepth(q); - - while (p && pDepth > qDepth) - { - p = p.get_parentNode(); - pDepth--; - } - - while (q && qDepth > pDepth) - { - q = q.get_parentNode(); - qDepth--; - } - - assert(pDepth == qDepth); - - while (p && q && p != q) - { - p = p.get_parentNode(); - q = q.get_parentNode(); - } - } - - return p; -} - -static void -findCommonSiblings(const DOM::Element& first, const DOM::Element& last, - DOM::Element& firstS, DOM::Element& lastS) -{ - assert(first); - assert(last); - - DOM::Element p(first); - DOM::Element q(last); - - if (p != q) - { - unsigned pDepth = getDepth(p); - unsigned qDepth = getDepth(q); - - while (p && pDepth > qDepth) - { - p = p.get_parentNode(); - pDepth--; - } - - while (q && qDepth > pDepth) - { - q = q.get_parentNode(); - qDepth--; - } - - assert(pDepth == qDepth); - - while (p && q && p.get_parentNode() != q.get_parentNode()) - { - p = p.get_parentNode(); - q = q.get_parentNode(); - } - } - - firstS = p; - lastS = q; -} - -static DOM::Element -findElementWithRef(const DOM::Element& el) -{ - DOM::Element p = el; - while (p && !p.hasAttribute("xref")) p = p.get_parentNode(); - return p; -} - -static DOM::Node -leftmostChild(const DOM::Node& node) -{ - if (!node) return node; - - DOM::Node firstChild = node.get_firstChild(); - if (!firstChild) return node; - - return leftmostChild(firstChild); -} - -static DOM::Node -rightmostChild(const DOM::Node& node) -{ - if (!node) return node; - - DOM::Node lastChild = node.get_lastChild(); - if (!lastChild) return node; - - return rightmostChild(lastChild); -} - -static DOM::Node -leftSibling(const DOM::Node& node) -{ - DOM::Node p = node; - - if (!p) return p; - - while (p.get_parentNode() && p.get_parentNode().get_firstChild() == p) - p = p.get_parentNode(); - - if (!p.get_parentNode()) return DOM::Node(0); - - DOM::Node prevSibling = p.get_previousSibling(); - assert(prevSibling); - - return rightmostChild(prevSibling); -} - -static DOM::Node -rightSibling(const DOM::Node& node) -{ - DOM::Node p = node; - - if (!p) return p; - - DOM::Node firstChild = p.get_firstChild(); - if (firstChild) return firstChild; - - while (p.get_parentNode() && p.get_parentNode().get_lastChild() == p) - p = p.get_parentNode(); - - if (!p.get_parentNode()) return DOM::Node(0); - - DOM::Node nextSibling = p.get_nextSibling(); - assert(nextSibling); - - return leftmostChild(nextSibling); -} - -extern "C" GdomeElement* -find_common_ancestor(GdomeElement* first, GdomeElement* last) -{ - if (GdomeNode* n = findCommonAncestor(DOM::Element(first), DOM::Element(last)).gdome_object()) - { - GdomeElement* res = gdome_cast_el(n); - g_assert(res != NULL); - return res; - } - else - return NULL; -} - -extern "C" void -find_common_siblings(GdomeElement* first, GdomeElement* last, - GdomeElement** firstS, GdomeElement** lastS) -{ - DOM::Element fs(0); - DOM::Element ls(0); - - findCommonSiblings(DOM::Element(first), DOM::Element(last), fs, ls); - - if (firstS != NULL) *firstS = gdome_cast_el(fs.gdome_object()); - if (lastS != NULL) *lastS = gdome_cast_el(ls.gdome_object()); -} - -extern "C" GdomeElement* -find_element_with_ref(GdomeElement* elem) -{ - if (GdomeNode* n = findElementWithRef(DOM::Element(elem)).gdome_object()) - { - GdomeElement* res = gdome_cast_el(n); - g_assert(res != NULL); - return res; - } - else - return NULL; -} - -extern "C" GdomeElement* -find_common_ancestor_with_ref(GdomeElement* first, GdomeElement* last) -{ - if (GdomeNode* n = findElementWithRef(findCommonAncestor(DOM::Element(first), DOM::Element(last))).gdome_object()) - { - GdomeElement* res = gdome_cast_el(n); - g_assert(res != NULL); - return res; - } - else - return NULL; -} - -extern "C" void -delete_element(GdomeElement* elem) -{ - DOM::Element p(elem); - - DOM::Element parent = p.get_parentNode(); - assert(parent); - - parent.removeChild(p); -} - diff --git a/helm/DEVEL/mathml_editor/test/editor.cc b/helm/DEVEL/mathml_editor/test/editor.cc deleted file mode 100644 index 3efc17cee..000000000 --- a/helm/DEVEL/mathml_editor/test/editor.cc +++ /dev/null @@ -1,196 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include - -#include "dom.hh" -#include "TPushParser.hh" -#include "timer.hh" - -#include "ILPushLexer.hh" -#include "TDictionary.hh" -#include "CLoggerConsole.hh" -#include "CMathMLFactoryXSLT.hh" -#include "CMathMLFactoryXSLTDiff.hh" -#include "AMathMLConsumer.hh" - -#include "guiGTK.h" - -extern void *parseMathMLFile(char *); - -struct Context -{ - /* - Context(const std::string& s, TPushLexer& l, TPushParser& p) : buffer(s), i(0), lexer(l), parser(p) { }; - */ - Context(const std::string& s, APushLexer& l, TPushParser& p, DOMX::XSLTStylesheet& ts) - : buffer(s), i(0), lexer(l), parser(p), texStyle(ts) { }; - - void send(void) - { - if (i < buffer.length()) lexer.push(buffer[i++]); - } - - std::string buffer; - unsigned i; - APushLexer& lexer; - TPushParser& parser; - DOMX::XSLTStylesheet& texStyle; -}; - -extern "C" void -edit_output_tex(Context* data) -{ - assert(data); - DOM::Document res = data->texStyle.apply(data->parser.document()); -#if 0 - res.normalize(); - DOM::Node c = res.get_firstChild(); - if (c) std::cout << "HEY, there is a child! " << c.get_nodeName() << " " << c.get_nodeValue() << std::endl; -#endif - //data->texStyle.save(res, stdout); -} - -extern "C" int -edit_timeout(Context* data) -{ - assert(data); - GUI_freeze(); - data->send(); - GUI_thaw(); - return 1; -} - -extern "C" void -edit_push_char(Context* context, gchar ch) -{ - assert(context != NULL); - long t0 = getTimer(); - GUI_freeze(); - std::cout << "*** SENDING " << ch << std::endl; - context->lexer.push(ch); - GUI_thaw(); - long t1 = getTimer(); - std::cout << "=== OVERALL TIME = " << (t1 - t0) / 1000 << std::endl; -} - -#include - -extern "C" void -edit_push_string(Context* context, const gchar* s) -{ - assert(context != NULL); - assert(s != NULL); -#if 0 -// GUI_freeze(); -// context->parser.freeze(); - for (unsigned i = 0; s[i]; i++) - { - GUI_freeze(); - context->lexer.push(s[i]); - GUI_thaw(); - usleep(100000); - usleep(100000); - } -// context->parser.thaw(); -// GUI_thaw(); -#endif - context->buffer = s; -} - -extern "C" void -edit_drop(Context* context, gboolean alt, gboolean control) -{ - // At the moment, the last parameter is not used, but it will - // be useful when we will handle the "fast" deletion - assert(context != NULL); - GUI_freeze(); - context->lexer.drop(alt); - GUI_thaw(); -} - -extern "C" void -edit_reset_tex(Context* context) -{ - assert(context != NULL); - GUI_freeze(); - context->lexer.reset(); - context->parser.reset(); - GUI_thaw(); -} - -extern "C" void -edit_complete(Context* context) -{ - assert(context != NULL); - GUI_freeze(); - if (!context->lexer.complete()) context->lexer.push('\t'); - GUI_thaw(); -} - -int -main(int argc, char* argv[]) -{ - CLoggerConsole logger; - logger.verbosity(ALogger::Debug); - - TDictionary dictionary(logger); - logger.info("loading the dictionary..."); - dictionary.load("./dict/dictionary-tex.xml"); - - logger.info("loading the stylesheet..."); - DOM::DOMImplementation di; - DOM::Document mmlStyleDoc = di.createDocumentFromURI("./xsl/tml-mmlp.xsl"); - DOMX::XSLTStylesheet mmlStyle(mmlStyleDoc); - - DOM::Document texStyleDoc = di.createDocumentFromURI("./xsl/tml-texid.xsl"); - DOMX::XSLTStylesheet texStyle(texStyleDoc); - - CMathMLFactoryXSLT factory(logger, mmlStyle); - TPushParser parser(logger, factory, dictionary); - ILPushLexer lexer(logger, parser, dictionary); - -#if 0 - lexer.push('$'); - lexer.push(' '); - assert(result); -#endif - -#if 0 - DOM::Document doc = parser.document().document(); - std::vector< std::pair > np; - result = style.apply(doc, np); - style.save(result, stdout); -#endif - - Context context("", lexer, parser, texStyle); - - GUI_init(&argc, &argv, "EditTeX", 500, 600, &context); - GUI_load_document(gdome_cast_doc(static_cast(factory.document()))); - GUI_run(); - GUI_uninit(); - GUI_unload_document(); - -} diff --git a/helm/DEVEL/mathml_editor/test/guiGTK.c b/helm/DEVEL/mathml_editor/test/guiGTK.c deleted file mode 100644 index ce6c31ef2..000000000 --- a/helm/DEVEL/mathml_editor/test/guiGTK.c +++ /dev/null @@ -1,649 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include -#include -#include - -#include "guiGTK.h" - -#define XLINK_NS_URI "http://www.w3.org/1999/xlink" - -static GtkWidget* window; -static GtkWidget* main_area; -static GtkWidget* scrolled_area; - -static gpointer context = NULL; -static gchar* doc_name = NULL; -static GdomeElement* first_selected = NULL; -static GdomeElement* root_selected = NULL; - -static void create_widget_set(gpointer); -static GtkWidget* get_main_menu(void); -static void file_open(GtkWidget*, gpointer); -static void file_re_open(GtkWidget*, gpointer); -static void file_close(GtkWidget*, gpointer); -static void file_output_tex(GtkWidget*, gpointer); -static void options_set_font_size(GtkWidget*, gpointer); -static void options_change_font_size(GtkWidget*, gboolean); -static void options_verbosity(GtkWidget*, guint); -static void edit_delete_selection(GtkWidget*, gpointer); -static void edit_select_parent(GtkWidget*, gpointer); -static void edit_reset_selection(GtkWidget*, gpointer); -static void edit_reset(GtkWidget*, gpointer); -static void edit_insert(GtkWidget*, gpointer); -static void help_about(GtkWidget*, gpointer); - -static GtkItemFactoryEntry menu_items[] = { - { "/_File", NULL, NULL, 0, "" }, - { "/File/_Open...", "O", file_open, 0, NULL }, - { "/File/_Reopen", NULL, file_re_open, 0, NULL }, - { "/File/_Close", "W", file_close, 0, NULL }, - { "/File/Output _TeX", NULL, file_output_tex, 0, NULL }, - { "/File/sep1", NULL, NULL, 0, "" }, - { "/File/_Quit", "Q", gtk_main_quit, 0, NULL }, - - { "/_Edit", NULL, NULL, 0, "" }, - { "/Edit/Reset Selection", NULL, edit_reset_selection, 0, NULL }, - { "/Edit/Delete Selection", NULL, edit_delete_selection, 0, NULL }, - { "/Edit/Select Parent", NULL, edit_select_parent, 0, NULL }, - { "/Edit/sep1", NULL, NULL, 0, "" }, - { "/Edit/_Reset", NULL, edit_reset, 0, NULL }, - { "/Edit/Insert...", "I", edit_insert, 0, NULL }, - - { "/_Options", NULL, NULL, 0, "" }, - { "/Options/Default _Font Size", NULL, NULL, 0, "" }, - { "/Options/Default Font Size/Set...", NULL, options_set_font_size, 0, NULL }, - { "/Options/Default Font Size/sep1", NULL, NULL, 0, "" }, - { "/Options/Default Font Size/Larger", NULL, options_change_font_size, TRUE, NULL }, - { "/Options/Default Font Size/Smaller", NULL, options_change_font_size, FALSE, NULL }, - { "/Options/Verbosity", NULL, NULL, 0, "" }, - { "/Options/Verbosity/_Errors", NULL, options_verbosity, 0, "" }, - { "/Options/Verbosity/_Warnings", NULL, options_verbosity, 1, "/Options/Verbosity/Errors" }, - { "/Options/Verbosity/_Info", NULL, options_verbosity, 2, "/Options/Verbosity/Errors" }, - { "/Options/Verbosity/_Debug", NULL, options_verbosity, 3, "/Options/Verbosity/Errors" }, - - { "/_Help" , NULL, NULL, 0, "" }, - { "/Help/About...", NULL, help_about, 0, NULL } -}; - -static void -quick_message(const char* msg) -{ - GtkWidget* dialog; - GtkWidget* label; - GtkWidget* okay_button; - - /* Create the widgets */ - - dialog = gtk_dialog_new(); - label = gtk_label_new (msg); - okay_button = gtk_button_new_with_label("OK"); - - gtk_widget_set_usize(dialog, 300, 100); - - /* Ensure that the dialog box is destroyed when the user clicks ok. */ - - gtk_signal_connect_object (GTK_OBJECT (okay_button), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), dialog); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), - okay_button); - - /* Add the label, and show everything we've added to the dialog. */ - - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); - gtk_widget_show_all (dialog); -} - -static void -load_error_msg(const char* name) -{ - char* msg = g_strdup_printf("Could not load\n`%s'", name); - quick_message(msg); - g_free(msg); -} - -static guint edit_timeout_id; -extern void edit_timeout(gpointer); - -void -GUI_init(int* argc, char*** argv, char* title, guint width, guint height, gpointer c) -{ - gtk_init(argc, argv); - - window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_title(GTK_WINDOW(window), title); - gtk_window_set_default_size(GTK_WINDOW(window), width, height); - gtk_signal_connect(GTK_OBJECT(window), "delete_event", (GtkSignalFunc) gtk_main_quit, NULL); - create_widget_set(context); - - gtk_widget_show(window); - - context = c; - /*edit_timeout_id = gtk_timeout_add(50, edit_timeout, context);*/ -} - -void -GUI_uninit() -{ - GdomeException exc = 0; - - if (first_selected != NULL) - { - gdome_el_unref(first_selected, &exc); - g_assert(exc == 0); - first_selected = NULL; - } - - if (root_selected != NULL) - { - gdome_el_unref(root_selected, &exc); - g_assert(exc == 0); - root_selected = NULL; - } - - context = NULL; -} - -int -GUI_load_document(GdomeDocument* doc) -{ - GtkMathView* math_view; - - g_return_val_if_fail(doc != NULL, -1); - g_return_val_if_fail(main_area != NULL, -1); - g_return_val_if_fail(GTK_IS_MATH_VIEW(main_area), -1); - - math_view = GTK_MATH_VIEW(main_area); - - if (!gtk_math_view_load_document(math_view, doc)) return -1; - - return 0; -} - -void -GUI_freeze() -{ - gtk_math_view_freeze(GTK_MATH_VIEW(main_area)); -} - -void -GUI_thaw() -{ - gtk_math_view_thaw(GTK_MATH_VIEW(main_area)); -} - -void -GUI_unload_document() -{ - GtkMathView* math_view; - - g_return_if_fail(main_area != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(main_area)); - - math_view = GTK_MATH_VIEW(main_area); - - gtk_math_view_unload(math_view); - - if (doc_name != NULL) g_free(doc_name); - doc_name = NULL; -} - -void -GUI_run() -{ - gtk_main(); -} - -#if 0 -void -GUI_set_font_manager(FontManagerId id) -{ - gboolean t1; - GtkMathView* math_view; - - g_return_if_fail(id != FONT_MANAGER_UNKNOWN); - g_return_if_fail(main_area != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(main_area)); - - t1 = id == FONT_MANAGER_T1; - - math_view = GTK_MATH_VIEW(main_area); - - gtk_math_view_freeze(math_view); - - if (id != gtk_math_view_get_font_manager_type(math_view)) - gtk_math_view_set_font_manager_type(math_view, id); - - gtk_widget_set_sensitive(anti_aliasing(math_view, GTK_CHECK_MENU_ITEM(anti_aliasing_item)->active); - gtk_math_view_set_transparency(math_view, GTK_CHECK_MENU_ITEM(transparency_item)->active); - } - - gtk_math_view_thaw(math_view); -} -#endif - -static void -store_filename(GtkFileSelection* selector, GtkWidget* user_data) -{ - gchar* selected_filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION(user_data)); - if (selected_filename != NULL) - GUI_load_document(selected_filename); -} - -static void -file_close(GtkWidget* widget, gpointer data) -{ - GUI_unload_document(); -} - -static void -file_re_open(GtkWidget* widget, gpointer data) -{ - if (doc_name != NULL) { - GUI_load_document(doc_name); - } -} - -static void -file_open(GtkWidget* widget, gpointer data) -{ - GtkWidget* fs = gtk_file_selection_new("Open File"); - - gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION(fs)->ok_button), - "clicked", GTK_SIGNAL_FUNC (store_filename), (gpointer) fs); - - /* Ensure that the dialog box is destroyed when the user clicks a button. */ - - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION(fs)->ok_button), - "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), - (gpointer) fs); - - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION(fs)->cancel_button), - "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), - (gpointer) fs); - - /* Display that dialog */ - - gtk_widget_show (fs); -} - -static void -file_output_tex(GtkWidget* widget, gpointer data) -{ - g_assert(context != NULL); - edit_output_tex(context); -} - -#if 0 -static void -options_font_manager(GtkWidget* widget, FontManagerId id) -{ - g_return_if_fail(id != FONT_MANAGER_UNKNOWN); - GUI_set_font_manager(id); -} -#endif - -static void -options_verbosity(GtkWidget* widget, guint level) -{ - gtk_math_view_set_log_verbosity(GTK_MATH_VIEW(main_area), level); -} - -static void -edit_delete_selection(GtkWidget* widget, gpointer data) -{ - if (root_selected != NULL) - { - GdomeException exc; - gtk_math_view_freeze(GTK_MATH_VIEW(main_area)); - printf("about to remove element %p\n", root_selected); - delete_element(root_selected); - gdome_el_unref(root_selected, &exc); - g_assert(exc == 0); - root_selected = NULL; - gtk_math_view_thaw(GTK_MATH_VIEW(main_area)); - } -} - -static void -edit_select_parent(GtkWidget* widget, gpointer data) -{ - if (root_selected != NULL) - { - GdomeException exc = 0; - GdomeElement* parent = gdome_n_parentNode(root_selected, &exc); - g_assert(exc == 0); - gdome_el_unref(root_selected, &exc); - g_assert(exc == 0); - root_selected = parent; - /* gtk_math_view_set_selection(GTK_MATH_VIEW(main_area), root_selected); */ - } -} - -static void -edit_reset_selection(GtkWidget* widget, gpointer data) -{ - if (root_selected != NULL) - { - GdomeException exc = 0; - /* gtk_math_view_reset_selection(GTK_MATH_VIEW(main_area), root_selected); */ - gdome_el_unref(root_selected, &exc); - g_assert(exc == 0); - root_selected = NULL; - } -} - -static void -edit_reset(GtkWidget* widget, gpointer data) -{ - g_assert(context != NULL); - edit_reset_tex(context); -} - -static void -insert_tex(GtkWidget* widget, GtkEntry* entry) -{ - gchar* text; - g_return_if_fail(entry != NULL); - - text = gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1); - edit_push_string(context, text); - g_free(text); -} - -static void -edit_insert(GtkWidget* widget, gpointer data) -{ - GtkWidget* dialog; - GtkWidget* entry; - GtkWidget* ok; - GtkWidget* cancel; - - dialog = gtk_dialog_new(); - entry = gtk_entry_new(); - ok = gtk_button_new_with_label("OK"); - cancel = gtk_button_new_with_label("Cancel"); - - gtk_signal_connect (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (insert_tex), (gpointer) entry); - - gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - - gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - - gtk_signal_connect_object (GTK_OBJECT (cancel), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - - gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), 5); - - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), entry); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), ok); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), cancel); - - gtk_widget_show_all (dialog); -} - -static void -help_about(GtkWidget* widget, gpointer data) -{ - GtkWidget* dialog; - GtkWidget* label; - GtkWidget* ok; - - dialog = gtk_dialog_new(); - label = gtk_label_new("\n MathML Editor \n Copyright (C) 2003 Luca Padovani \n"); - ok = gtk_button_new_with_label("Close"); - - gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), - ok); - - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); - - gtk_widget_show_all (dialog); -} - -static void -change_default_font_size(GtkWidget* widget, GtkSpinButton* spin) -{ - g_return_if_fail(spin != NULL); - gtk_math_view_set_font_size( GTK_MATH_VIEW(main_area), gtk_spin_button_get_value_as_int(spin)); -} - -static void -options_change_font_size(GtkWidget* widget, gboolean larger) -{ - gfloat size = gtk_math_view_get_font_size (GTK_MATH_VIEW(main_area)); - if (larger) size = size / 0.71; - else size = size * 0.71; - if (size < 1) size = 1; - gtk_math_view_set_font_size (GTK_MATH_VIEW(main_area), (gint) size + 0.5); -} - -static void -options_set_font_size(GtkWidget* widget, gpointer data) -{ - GtkWidget* dialog; - GtkWidget* label; - GtkWidget* ok; - GtkWidget* cancel; - GtkWidget* spin; - GtkObject* adj; - - dialog = gtk_dialog_new(); - label = gtk_label_new("Default font size:"); - ok = gtk_button_new_with_label("OK"); - cancel = gtk_button_new_with_label("Cancel"); - - adj = gtk_adjustment_new (gtk_math_view_get_font_size (GTK_MATH_VIEW(main_area)), 1, 200, 1, 1, 1); - spin = gtk_spin_button_new (GTK_ADJUSTMENT(adj), 1, 0); - gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin), TRUE); - - gtk_signal_connect (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (change_default_font_size), (gpointer) spin); - - gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - - gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - - gtk_signal_connect_object (GTK_OBJECT (cancel), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - - gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), 5); - - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), ok); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), cancel); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), spin); - - gtk_widget_show_all (dialog); -} - -static void -select_begin(GtkMathView* math_view, GdomeElement* first, gint state) -{ - GdomeException exc = 0; - - g_return_if_fail(math_view != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(math_view)); - g_return_if_fail(first != NULL); - - gtk_math_view_freeze(math_view); - - if (root_selected != NULL) - { - gtk_math_view_unselect(math_view, root_selected); - gdome_el_unref(root_selected, &exc); - g_assert(exc == 0); - } - - root_selected = first_selected = find_element_with_ref(first); - - if (root_selected != NULL) - { - gtk_math_view_select(math_view, root_selected); - gdome_el_ref(root_selected, &exc); - g_assert(exc == 0); - } - - gtk_math_view_thaw(math_view); -} - -static void -select_over(GtkMathView* math_view, GdomeElement* elem, gint state) -{ - GdomeElement* new_selected = NULL; - GdomeException exc = 0; - - g_return_if_fail(math_view != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(math_view)); - g_return_if_fail(elem != NULL); - - if (first_selected == NULL || elem == NULL) - new_selected = NULL; - else - new_selected = find_common_ancestor_with_ref(first_selected, elem); - - if (new_selected != root_selected) - { - gtk_math_view_freeze(math_view); - if (root_selected != NULL) - { - gtk_math_view_unselect(math_view, root_selected); - gdome_el_unref(root_selected, &exc); - g_assert(exc == 0); - } - root_selected = new_selected; - if (root_selected != NULL) - gtk_math_view_select(math_view, root_selected); - gtk_math_view_thaw(math_view); - } - else if (new_selected != NULL) - { - gdome_el_unref(new_selected, &exc); - g_assert(exc == 0); - } - -} - -static gboolean -key_press_event(gpointer c, - GdkEventKey* event, - GtkWidget* widget) -{ - g_return_val_if_fail(widget != NULL, FALSE); - g_return_val_if_fail(event != NULL, FALSE); - g_return_val_if_fail(context != NULL, FALSE); - - if (event->type != GDK_KEY_PRESS) return FALSE; - - switch (event->keyval) - { - case GDK_BackSpace: - edit_drop(context, event->state & GDK_MOD1_MASK, event->state & GDK_CONTROL_MASK); - break; - case GDK_Tab: - edit_complete(context); - break; - default: - if ((event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK)) == 0 && event->keyval < 0x80) - edit_push_char(context, event->keyval); - return FALSE; - } - - return TRUE; -} - -static void -create_widget_set(gpointer context) -{ - GtkWidget* main_vbox; - GtkWidget* menu_bar; - - main_vbox = gtk_vbox_new(FALSE, 1); - gtk_container_border_width(GTK_CONTAINER(main_vbox), 1); - gtk_container_add(GTK_CONTAINER(window), main_vbox); - gtk_widget_show(main_vbox); - - menu_bar = get_main_menu(); - gtk_box_pack_start(GTK_BOX(main_vbox), menu_bar, FALSE, TRUE, 0); - gtk_widget_show(menu_bar); - - main_area = gtk_math_view_new(NULL, NULL); - gtk_widget_show(main_area); - - //gtk_math_view_set_log_verbosity(GTK_MATH_VIEW(main_area), 3); - - gtk_signal_connect_object (GTK_OBJECT (main_area), - "select_begin", GTK_SIGNAL_FUNC (select_begin), - (gpointer) main_area); - - gtk_signal_connect_object (GTK_OBJECT (main_area), - "select_over", GTK_SIGNAL_FUNC (select_over), - (gpointer) main_area); - - gtk_signal_connect_object (GTK_OBJECT(window), - "key_press_event", GTK_SIGNAL_FUNC(key_press_event), - context); - - gtk_widget_add_events(GTK_WIDGET(main_area), GDK_KEY_PRESS_MASK); - - scrolled_area = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_area), - GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - - gtk_widget_show(scrolled_area); - gtk_container_add(GTK_CONTAINER(scrolled_area), main_area); - gtk_box_pack_start(GTK_BOX(main_vbox), scrolled_area, TRUE, TRUE, 0); - - gtk_widget_show(main_vbox); -} - -GtkWidget* -get_main_menu() -{ - GtkItemFactory* item_factory; - GtkAccelGroup* accel_group; - GtkWidget* menu_item; - - gint nmenu_items = sizeof(menu_items) / sizeof(menu_items[0]); - - accel_group = gtk_accel_group_new(); - - item_factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "
", accel_group); - - gtk_item_factory_create_items(item_factory, nmenu_items, menu_items, NULL); - - gtk_window_add_accel_group(GTK_WINDOW(window), accel_group); - - return gtk_item_factory_get_widget(item_factory, "
"); -} diff --git a/helm/DEVEL/mathml_editor/test/guiGTK.h b/helm/DEVEL/mathml_editor/test/guiGTK.h deleted file mode 100644 index ee0ab347e..000000000 --- a/helm/DEVEL/mathml_editor/test/guiGTK.h +++ /dev/null @@ -1,57 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#ifndef guiGTK_h -#define guiGTK_h - -#include -#include - -#include - -#ifdef __cplusplus -extern "C" { -#endif - - /* initGUI: some initialization stuff, creates the main window, sets it with a title */ - void GUI_init(int *, char ***, char *, guint, guint, gpointer); - void GUI_uninit(void); - - int GUI_load_document(GdomeDocument*); - int GUI_load_uri(const char*); - void GUI_unload_document(void); - void GUI_dump_entities(void); - - /* main: this is the main event loop, to be called when the program is ready to run */ - void GUI_run(void); - - void GUI_freeze(void); - void GUI_thaw(void); - -#ifdef __cplusplus -} -#endif - -#endif /* guiGTK_h */ diff --git a/helm/DEVEL/mathml_editor/textomml/.cvsignore b/helm/DEVEL/mathml_editor/textomml/.cvsignore deleted file mode 100644 index c54770a84..000000000 --- a/helm/DEVEL/mathml_editor/textomml/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -textomml -config.dirs diff --git a/helm/DEVEL/mathml_editor/textomml/Makefile.am b/helm/DEVEL/mathml_editor/textomml/Makefile.am deleted file mode 100644 index cd66658f5..000000000 --- a/helm/DEVEL/mathml_editor/textomml/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ - -noinst_PROGRAMS = textomml - -textomml_SOURCES = main.cc - -LDADDS = \ - $(GMETADOM_LIBS) \ - $(GDOMEXSLT_LIBS) \ - $(top_builddir)/src/.libs/libeditex.a - -textomml_LDADD = $(LDADDS) - -INCLUDES = \ - $(GMETADOM_CFLAGS) \ - $(GDOMEXSLT_CFLAGS) \ - -I$(top_srcdir)/src - diff --git a/helm/DEVEL/mathml_editor/textomml/config.dirs.in b/helm/DEVEL/mathml_editor/textomml/config.dirs.in deleted file mode 100644 index 49791891b..000000000 --- a/helm/DEVEL/mathml_editor/textomml/config.dirs.in +++ /dev/null @@ -1 +0,0 @@ -#define PKGDATADIR "@prefix@/share/@PACKAGE@" diff --git a/helm/DEVEL/mathml_editor/textomml/main.cc b/helm/DEVEL/mathml_editor/textomml/main.cc deleted file mode 100644 index 9da0f0993..000000000 --- a/helm/DEVEL/mathml_editor/textomml/main.cc +++ /dev/null @@ -1,192 +0,0 @@ -/* This file is part of EdiTeX, an editor of mathematical - * expressions based on TeX syntax. - * - * Copyright (C) 2002-2003 Luca Padovani , - * 2003 Paolo Marinelli . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/editex/ - * or send an email to - */ - -#include -#include -#include - -#include "dom.hh" -#include "TPushParser.hh" -#include "TPushLexer.hh" -#include "TDictionary.hh" -#include "CLoggerConsole.hh" -#include "CMathMLFactoryXSLT.hh" -#include "CMathMLFactoryXSLTDiff.hh" -#include "AMathMLConsumer.hh" - -#include "config.dirs" - -enum CommandLineOptionId { - OPTION_VERSION = 256, - OPTION_HELP, - OPTION_VERBOSE, - OPTION_DICTIONARY, - OPTION_TML_XSLT, - OPTION_XSLT -}; - -static std::string tml_xslt = PKGDATADIR"/tml-mmlp.xsl"; -static std::string dictionary = PKGDATADIR"/dictionary-tex.xml"; -static bool xslt = true; - -static bool -parseBoolean(const char* s, bool& res) -{ - assert(s != NULL); - if (!strcmp(s, "yes")) { - res = true; - return true; - } else if (!strcmp(s, "no")) { - res = false; - return true; - } - - return false; -} - -static void -printVersion() -{ - std::cout << "TeX to MathML converter " << VERSION << " - Luca Padovani (C) 2003" << std::endl - << "This program is covered by the GNU Lesser General Public Licence" << std::endl; -} - -static void -printHelp() -{ - static char* helpMsg = "\ -Usage: textomml [options] file\n\n\ - -V, --version Output version information\n\ - -h, --help This small usage guide\n\ - -v, --verbose[=0-3] Display messages\n\ - --dictionary= Full path of the dictionary\n\ - --tml-xslt= Full path of the XSLT stylesheet\n\ - --xslt[=yes|no] Enable/disable XSLT transformation (default='yes')\n\ -"; - - std::cout << helpMsg << std::endl; - exit(0); -} - -static void -parseError(const char* option) -{ - assert(option != NULL); - std::cerr << "error while parsing option `" << option << "'" << std::endl << std::endl; - printHelp(); -} - -int -main(int argc, char* argv[]) -{ - CLoggerConsole logger; - - while (TRUE) { - int option_index = 0; - static struct option long_options[] = - { - { "version", no_argument, NULL, OPTION_VERSION }, - { "help", no_argument, NULL, OPTION_HELP }, - { "verbose", optional_argument, NULL, OPTION_VERBOSE }, - { "dictionary", required_argument, NULL, OPTION_DICTIONARY }, - { "tml-xslt", required_argument, NULL, OPTION_TML_XSLT }, - { "xslt", optional_argument, NULL, OPTION_XSLT }, - - { NULL, no_argument, NULL, 0 } - }; - - int c = getopt_long(argc, argv, "Vhv::", long_options, &option_index); - - if (c == -1) break; - - switch (c) { - case OPTION_VERSION: - case 'V': - printVersion(); - break; - - case OPTION_HELP: - case 'h': - printHelp(); - break; - - case OPTION_VERBOSE: - case 'v': - if (optarg == NULL) logger.verbosity(ALogger::Warning); - else logger.verbosity(ALogger::Level(*optarg - '0')); - break; - - case OPTION_DICTIONARY: - dictionary = optarg; - break; - - case OPTION_TML_XSLT: - tml_xslt = optarg; - break; - - case OPTION_XSLT: - if (optarg == NULL) printHelp(); - else if (!parseBoolean(optarg, xslt)) parseError("xslt"); - break; - - case '?': - break; - - default: - std::cerr << "*** getopt returned `" << c << "' value" << std::endl; - break; - } - } - - TDictionary dict(logger); - logger.info("loading dictionary: `" + dictionary + "'"); - dict.load("dictionary-test.xml"); - - logger.info("loading stylesheet: `" + tml_xslt + "'"); - DOM::DOMImplementation di; - DOM::Document docStyle = di.createDocumentFromURI("./xsl/tml-mmlp.xsl"); - DOMX::XSLTStylesheet style(docStyle); - - CMathMLFactoryXSLT factory(logger, style); - TPushParser parser(logger, factory, dict); - TPushLexer lexer(logger, parser); - - if (optind < argc) - { - std::ifstream file(argv[optind]); - if (!file) - { - std::cerr << "can't open input file `" << argv[optind] << "'" << std::endl; - exit(1); - } - - parser.freeze(); - char ch; - while (file.get(ch)) lexer.push(ch); - parser.thaw(); - } - else - printHelp(); -} diff --git a/helm/DEVEL/mathml_editor/xsl/.cvsignore b/helm/DEVEL/mathml_editor/xsl/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/helm/DEVEL/mathml_editor/xsl/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/helm/DEVEL/mathml_editor/xsl/Makefile.am b/helm/DEVEL/mathml_editor/xsl/Makefile.am deleted file mode 100644 index 283941298..000000000 --- a/helm/DEVEL/mathml_editor/xsl/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -pkgdata_DATA = d-xsl.xsl tml-mmlp.xsl tml-tex.xsl tml-litex.xsl tml-texid.xsl -EXTRA_DIST = d-xsl.xsl tml-mmlp.xsl tml-tex.xsl tml-litex.xsl tml-texid.xsl diff --git a/helm/DEVEL/mathml_editor/xsl/d-xsl.xsl b/helm/DEVEL/mathml_editor/xsl/d-xsl.xsl deleted file mode 100644 index 961989aeb..000000000 --- a/helm/DEVEL/mathml_editor/xsl/d-xsl.xsl +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /// CONTROL SEQUENCES /// - - - - - - - - - - - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/xsl/tml-litex.xsl b/helm/DEVEL/mathml_editor/xsl/tml-litex.xsl deleted file mode 100644 index a39c6f03b..000000000 --- a/helm/DEVEL/mathml_editor/xsl/tml-litex.xsl +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $$$$ - $$ - - - - - - \ - - - - - - - - - \ - - - - - - - - - \ - - - - - - - - - - - - - - - __ - - - _ - - - - - - - - ^^ - - - ^ - - - - - {} - - {} - - - - - - - \cr - - - - & - - - - - - \ - - - - - \ - - - - - - - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/xsl/tml-mmlp.xsl b/helm/DEVEL/mathml_editor/xsl/tml-mmlp.xsl deleted file mode 100644 index 73d2ab049..000000000 --- a/helm/DEVEL/mathml_editor/xsl/tml-mmlp.xsl +++ /dev/null @@ -1,1160 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - block - - block - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - − - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - I - - - - - - - - - - - - I - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ - - - - - - - - - - - - λ - - : - - . - - - - - - - - - - - - - ̸ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ̂ - - - - - - - - - - - - - ̂ - - - - - - - - - - - - - ̌ - - - - - - - - - - - - - ̃ - - - - - - - - - - - - - ̃ - > - - - - - - - - - - - - ́ - - - - - - - - - - - - - ̀ - > - - - - - - - - - - - - ̇ - - - - - - - - - - - - - ̈ - - - - - - - - - - - - - ̆ - - - - - - - - - - - - - ̄ - - - - - - - - - - - - - - - - - - - - - - - - - - ̅ - - - - - - - - - - - - - ̲ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - - - - ) - - - - - - - - - - - - { - - - - - } - - - - - - - - - - - - [ - - - - - ] - - - - - - - - - - - - - - - - - - - - - - - - - - - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - mod - - - ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - - - ) - - - - - - - - - - - - - - - - - - - - - - - ( - - - - - - ) - - - - - - - - - - - - - - - - - ???? - > - - - - - - - - - - - - ???? - - - - - - - - - - - - { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/DEVEL/mathml_editor/xsl/tml-tex.xsl b/helm/DEVEL/mathml_editor/xsl/tml-tex.xsl deleted file mode 100644 index ea0a6b94e..000000000 --- a/helm/DEVEL/mathml_editor/xsl/tml-tex.xsl +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $$$$ - $$ - - - - - - \ - - - - {\rm } - - - - - - \ - - - - {\rm } - - - - - - \ - - - - - - - - - - - - - - - __ - - - _ - - - - - - - - ^^ - - - ^ - - - - - {} - - {} - - - - - - - \cr - - - - & - - - - - - \ - - - - - \ - - - - - - - - - - - {\rm } - - - - - diff --git a/helm/DEVEL/mathml_editor/xsl/tml-texid.xsl b/helm/DEVEL/mathml_editor/xsl/tml-texid.xsl deleted file mode 100644 index 20de507a4..000000000 --- a/helm/DEVEL/mathml_editor/xsl/tml-texid.xsl +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - {\id{}{}} - - - - - - - - - - $${\id{}{}}$$ - ${\id{}{}}$ - - - - - - $$$$ - $$ - - - - - - \ - - - - - - - - - \ - - - - - - - - - \ - - - - - - - - - - - - - - __ - - - _ - - - - - - - - ^^ - - - ^ - - - - - {} - - - \cr - - - - & - - - - - - \ - - - - - \ - - - - - - diff --git a/helm/DEVEL/ocaml-http/.cvsignore b/helm/DEVEL/ocaml-http/.cvsignore deleted file mode 100644 index 391f4f58e..000000000 --- a/helm/DEVEL/ocaml-http/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -*.cmi -*.cmo -*.cmx -*.cma -*.cmxa -*.o -*.a -*.deb diff --git a/helm/DEVEL/ocaml-http/.depend b/helm/DEVEL/ocaml-http/.depend deleted file mode 100644 index db4ea67e1..000000000 --- a/helm/DEVEL/ocaml-http/.depend +++ /dev/null @@ -1,46 +0,0 @@ -http_common.cmo: http_constants.cmi http_types.cmo http_common.cmi -http_common.cmx: http_constants.cmx http_types.cmx http_common.cmi -http_constants.cmo: http_constants.cmi -http_constants.cmx: http_constants.cmi -http_daemon.cmo: http_common.cmi http_constants.cmi http_misc.cmi \ - http_parser.cmi http_parser_sanity.cmi http_request.cmi \ - http_tcp_server.cmi http_types.cmo http_daemon.cmi -http_daemon.cmx: http_common.cmx http_constants.cmx http_misc.cmx \ - http_parser.cmx http_parser_sanity.cmx http_request.cmx \ - http_tcp_server.cmx http_types.cmx http_daemon.cmi -http_message.cmo: http_common.cmi http_constants.cmi http_misc.cmi \ - http_parser_sanity.cmi http_types.cmo http_message.cmi -http_message.cmx: http_common.cmx http_constants.cmx http_misc.cmx \ - http_parser_sanity.cmx http_types.cmx http_message.cmi -http_misc.cmo: http_types.cmo http_misc.cmi -http_misc.cmx: http_types.cmx http_misc.cmi -http_parser.cmo: http_common.cmi http_constants.cmi http_parser_sanity.cmi \ - http_types.cmo http_parser.cmi -http_parser.cmx: http_common.cmx http_constants.cmx http_parser_sanity.cmx \ - http_types.cmx http_parser.cmi -http_parser_sanity.cmo: http_constants.cmi http_types.cmo \ - http_parser_sanity.cmi -http_parser_sanity.cmx: http_constants.cmx http_types.cmx \ - http_parser_sanity.cmi -http_request.cmo: http_common.cmi http_message.cmi http_misc.cmi \ - http_parser.cmi http_types.cmo http_request.cmi -http_request.cmx: http_common.cmx http_message.cmx http_misc.cmx \ - http_parser.cmx http_types.cmx http_request.cmi -http_response.cmo: http_common.cmi http_constants.cmi http_daemon.cmi \ - http_message.cmi http_misc.cmi http_types.cmo http_response.cmi -http_response.cmx: http_common.cmx http_constants.cmx http_daemon.cmx \ - http_message.cmx http_misc.cmx http_types.cmx http_response.cmi -http_tcp_server.cmo: http_threaded_tcp_server.cmi http_tcp_server.cmi -http_tcp_server.cmx: http_threaded_tcp_server.cmi http_tcp_server.cmi -http_user_agent.cmo: http_common.cmi http_misc.cmi http_parser.cmi \ - http_user_agent.cmi -http_user_agent.cmx: http_common.cmx http_misc.cmx http_parser.cmx \ - http_user_agent.cmi -http_common.cmi: http_types.cmo -http_constants.cmi: http_types.cmo -http_daemon.cmi: http_types.cmo -http_message.cmi: http_types.cmo -http_parser.cmi: http_types.cmo -http_request.cmi: http_types.cmo -http_response.cmi: http_types.cmo -http_tcp_server.cmi: http_types.cmo diff --git a/helm/DEVEL/ocaml-http/.ocamlinit b/helm/DEVEL/ocaml-http/.ocamlinit deleted file mode 100644 index 64694a213..000000000 --- a/helm/DEVEL/ocaml-http/.ocamlinit +++ /dev/null @@ -1,5 +0,0 @@ -#use "topfind";; -#require "unix";; -#require "pcre";; -#require "netstring";; -#load "http.cma";; diff --git a/helm/DEVEL/ocaml-http/INSTALL b/helm/DEVEL/ocaml-http/INSTALL deleted file mode 100644 index c98cdb44a..000000000 --- a/helm/DEVEL/ocaml-http/INSTALL +++ /dev/null @@ -1,37 +0,0 @@ - -In order to build ocaml-http you will need: - - - the ocaml compiler (>= 3.06) - [ http://caml.inria.fr ] - - - findlib (>= 0.8) - [ http://www.ocaml-programming.de/packages/documentation/findlib/ ] - - - ocamlnet (>= 0.94) - [ http://sourceforge.net/projects/ocamlnet ] - - - pcre-ocaml (>= 4.28.2) - [ http://www.ai.univie.ac.at/~markus/home/ocaml_sources.html ] - -To build the bytecode library: - - $ make all - -To build the nativecode library (only if you have an ocaml native code -compiler): - - $ make opt - -To install the built stuff in the OCaml standard library directory (as root): - - # make install - -To install the built stuff in another directory: - - $ make install DESTDIR=another_directory - -To build a debian package of the library (please note that to build a debian -package you will also need some additional stuff like debhelper, fakeroot, ...): - - $ fakeroot debian/rules binary - diff --git a/helm/DEVEL/ocaml-http/LICENSE b/helm/DEVEL/ocaml-http/LICENSE deleted file mode 100644 index baff777d2..000000000 --- a/helm/DEVEL/ocaml-http/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - diff --git a/helm/DEVEL/ocaml-http/META.in b/helm/DEVEL/ocaml-http/META.in deleted file mode 100644 index 8c325462e..000000000 --- a/helm/DEVEL/ocaml-http/META.in +++ /dev/null @@ -1,8 +0,0 @@ -description = "OCaml HTTP daemon library" -version = "@DISTVERSION@" -requires = "unix,pcre,netstring" -requires(mt) = "unix,pcre,netstring,threads" -archive(byte) = "http.cma" -archive(native) = "http.cmxa" -archive(mt,byte) = "http_mt.cma" -archive(mt,native) = "http_mt.cmxa" diff --git a/helm/DEVEL/ocaml-http/Makefile b/helm/DEVEL/ocaml-http/Makefile deleted file mode 100644 index adc4627d8..000000000 --- a/helm/DEVEL/ocaml-http/Makefile +++ /dev/null @@ -1,126 +0,0 @@ -include Makefile.defs - -MODULES = \ - http_types http_constants http_parser_sanity http_misc http_common \ - http_tcp_server http_parser http_message http_request http_daemon \ - http_response http_user_agent - -THREADED_SRV = http_threaded_tcp_server -MODULES_MT = $(patsubst http_tcp_server, mt/$(THREADED_SRV) http_tcp_server, $(MODULES)) -MODULES_NON_MT = $(patsubst http_tcp_server, non_mt/$(THREADED_SRV) http_tcp_server, $(MODULES)) -PUBLIC_MODULES = \ - http_common http_message http_request http_daemon http_response \ - http_user_agent -PUBLIC_IMPL = http_types -OCAMLDOC_STUFF = *.mli $(patsubst %, %.ml, $(PUBLIC_IMPL)) -DOCDIR = doc/html -DOTDIR = doc/dot -TEXDIR = doc/latex -DESTDIR = $(shell $(OCAMLFIND) printconf destdir) - -all: all_non_mt all_mt -opt: opt_non_mt opt_mt -all_non_mt: http.cma -opt_non_mt: http.cmxa -all_mt: http_mt.cma -opt_mt: http_mt.cmxa -world: all opt -doc: $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.tex $(OCAMLDOC_STUFF) - $(OCAMLDOC) -html -d $(DOCDIR) $(OCAMLDOC_STUFF) -$(TEXDIR)/ocaml-http.tex: $(OCAMLDOC_STUFF) - $(OCAMLDOC) -latex -o $@ $^ -$(DOTDIR)/ocaml-http.ps: $(DOTDIR)/ocaml-http.dot - $(DOT) -Tps $< > $@ -$(DOTDIR)/ocaml-http.dot: *.ml *.mli - $(OCAMLDOC) -dot -o $(DOTDIR)/ocaml-http.dot *.ml *.mli - -examples: - $(MAKE) -C examples/ -examples.opt: - $(MAKE) -C examples/ opt - -include .depend - -depend: - $(OCAMLDEP) *.ml *.mli > .depend - -%.cmi: %.mli - $(OCAMLC) -c $< -%.cmo: %.ml %.cmi - $(OCAMLC) -c $< -%.cmx: %.ml %.cmi - $(OCAMLOPT) -c $< -include Makefile.overrides - -non_mt/$(THREADED_SRV).cmo: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi - cp $(THREADED_SRV).{cmi,mli} non_mt/ - $(OCAMLC) -c $< -non_mt/$(THREADED_SRV).cmx: non_mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi - cp $(THREADED_SRV).{cmi,mli} non_mt/ - $(OCAMLOPT) -c $< - -mt/$(THREADED_SRV).cmo: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi - cp $(THREADED_SRV).{cmi,mli} mt/ - $(OCAMLC) $(THREADS_FLAGS) -c $< -mt/$(THREADED_SRV).cmx: mt/$(THREADED_SRV).ml $(THREADED_SRV).cmi - cp $(THREADED_SRV).{cmi,mli} mt/ - $(OCAMLOPT) $(THREADS_FLAGS) -c $< - -http.cma: $(patsubst %,%.cmo,$(MODULES_NON_MT)) - $(OCAMLC) -a -o $@ $^ -http.cmxa: $(patsubst %,%.cmx,$(MODULES_NON_MT)) - $(OCAMLOPT) -a -o $@ $^ -http_mt.cma: $(patsubst %,%.cmo,$(MODULES_MT)) - $(OCAMLC) -a -o $@ $^ -http_mt.cmxa: $(patsubst %,%.cmx,$(MODULES_MT)) - $(OCAMLOPT) -a -o $@ $^ - -meta: META -META: META.in - cat META.in | sed -e 's/@DISTVERSION@/$(DISTVERSION)/' > META - -clean: - $(MAKE) -C examples/ clean - for d in . mt non_mt; do \ - rm -f $$d/*.cm[ioax] $$d/*.cmxa $$d/*.[ao] $$d/test{,.opt}; \ - done - rm -f {mt,non_mt}/$(THREADED_SRV).mli -docclean: - rm -f \ - $(DOCDIR)/*.html $(DOCDIR)/*.css \ - $(DOTDIR)/*.dot $(DOTDIR)/*.ps \ - $(TEXDIR)/*.tex -distclean: clean - $(MAKE) -C examples/ distclean - rm -f META -dist: distreal distrm -distreal: distclean depend - if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi - mkdir $(DISTDIR) - for f in \ - $(patsubst %, %.ml, $(MODULES)) \ - $(patsubst %, %.mli, $(MODULES) $(THREADED_SRV)) \ - mt/ non_mt/ $(EXTRA_DIST) examples/ debian/; \ - do \ - cp -r $$f $(DISTDIR)/; \ - done - -find $(DISTDIR)/ -type d -name CVS -exec rm -rf {} \; - -find $(DISTDIR)/ -type f -name ".cvs*" -exec rm -f {} \; - tar cvzf $(DISTDIR).tar.gz $(DISTDIR)/ -distrm: - rm -rf $(DISTDIR)/ -deb: docclean distreal - (cd $(DISTDIR)/ && debuild) - rm -rf $(DISTDIR)/ -install: META - $(OCAMLFIND) install -destdir $(DESTDIR) $(PKGNAME) \ - $(patsubst %, %.mli, $(PUBLIC_MODULES)) \ - $(patsubst %, %.ml, $(PUBLIC_IMPL)) \ - $(patsubst %, %.cmi, $(PUBLIC_MODULES)) \ - $(patsubst %, %.cmi, $(PUBLIC_IMPL)) \ - http{,_mt}.cm{,x}a http{,_mt}.a META - -.PHONY: \ - all opt world all_non_mt all_mt opt_non_mt opt_mt \ - examples examples.opt depend clean distclean dist \ - install meta doc deb distreal distrm diff --git a/helm/DEVEL/ocaml-http/Makefile.defs b/helm/DEVEL/ocaml-http/Makefile.defs deleted file mode 100644 index 6fd4b75f8..000000000 --- a/helm/DEVEL/ocaml-http/Makefile.defs +++ /dev/null @@ -1,25 +0,0 @@ -PKGNAME = http -DISTVERSION = $(shell dpkg-parsechangelog | egrep '^Version: ' | sed 's/^Version: //') - -DEBUG_FLAGS = -REQUIRES = unix pcre netstring -COMMON_FLAGS = $(DEBUG_FLAGS) -pp camlp4o -package "$(REQUIRES)" -THREADS_FLAGS = -package threads -thread -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc $(COMMON_FLAGS) -OCAMLOPT = $(OCAMLFIND) ocamlopt $(COMMON_FLAGS) -OCAMLDEP = $(OCAMLFIND) ocamldep $(COMMON_FLAGS) -OCAMLDOC := \ - ocamldoc \ - $(shell $(OCAMLFIND) query -i-format unix) \ - $(shell $(OCAMLFIND) query -i-format pcre) \ - $(shell $(OCAMLFIND) query -i-format netstring) -DOT = dot - -DISTNAME = ocaml-http -DISTDIR = $(DISTNAME)-$(DISTVERSION) -EXTRA_DIST = \ - INSTALL LICENSE README META.in Makefile Makefile.defs Makefile.overrides \ - .depend tophttp doc - - diff --git a/helm/DEVEL/ocaml-http/Makefile.overrides b/helm/DEVEL/ocaml-http/Makefile.overrides deleted file mode 100644 index 62a81b549..000000000 --- a/helm/DEVEL/ocaml-http/Makefile.overrides +++ /dev/null @@ -1,2 +0,0 @@ -http_types.cmi http_types.cmo: http_types.ml - $(OCAMLC) -c $< diff --git a/helm/DEVEL/ocaml-http/README b/helm/DEVEL/ocaml-http/README deleted file mode 100644 index 1566b8e8b..000000000 --- a/helm/DEVEL/ocaml-http/README +++ /dev/null @@ -1,4 +0,0 @@ - -OCaml HTTP is a simple OCaml library for creating HTTP daemons, it is largely -inspired to the Perl's HTTP:: modules family. - diff --git a/helm/DEVEL/ocaml-http/TODO b/helm/DEVEL/ocaml-http/TODO deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/DEVEL/ocaml-http/debian/changelog b/helm/DEVEL/ocaml-http/debian/changelog deleted file mode 100644 index 811a71b02..000000000 --- a/helm/DEVEL/ocaml-http/debian/changelog +++ /dev/null @@ -1,91 +0,0 @@ -ocaml-http (0.0.10) unstable; urgency=low - - * renamed Http_client module to Http_user_agent to avoid compatibility - issues with Netclient. Renamed that module functions removing - "http_" prefix (e.g., summarizing, Http_client.http_get -> - Http_user_agent.get) - * ported to ocaml 3.08 - * debian/control - - bumped standards version to 3.6.1.1 - - changed deps to ocaml 3.08 and -nox - - -- Stefano Zacchiroli Thu, 5 Aug 2004 15:06:49 +0200 - -ocaml-http (0.0.9) unstable; urgency=low - - * Added support for HTTP Basic authentication - * Restyled Http_daemon API so that correct invocations of them are - statically typechecked - * Added support for HEAD requests to Http_client - * ~addr parameter now support not only ip addresses but also hostnames - * debian/control - - bumped Standards-Version to 3.6.1.0 - * debian/rules - - moved debhelper compatibility level to debian/compat - - -- Stefano Zacchiroli Tue, 16 Dec 2003 18:01:41 +0100 - -ocaml-http (0.0.8) unstable; urgency=low - - * Added support for "ancient" HTTP requests which specify no HTTP - version - - 'version' method on message now has type 'version option' - * Http_daemon now use debugging prints from Http_common like other - modules - * Added debugging print of requests parse error - * Shutdown server socket on abnormal exit (actually: uncaught - exceptions or SIGTERM received) - * Added a lot of ocamldoc documentation - * Added minimal HTTP 1.0/1.1 client support - - -- Stefano Zacchiroli Fri, 10 Jan 2003 10:36:53 +0100 - -ocaml-http (0.0.7) unstable; urgency=low - - * Added support for POST requests - * Implemented a commont 'message' class from which 'request' and - 'response' inherit - * Changed constructor of 'request' objects, requests are now buildable - directly (and only) from an input channel - * Added client IP address information to Http_request.request class - * Added OO daemon interfaces ("daemon" and "connection" classes) - * Use Pcre to perform sanity test on headers instead of home made - parsing - * Callback functions can raise Http_types.Quit to have main daemon - quit - * Case-insensitive handling of header names - - -- Stefano Zacchiroli Wed, 25 Dec 2002 16:22:31 +0100 - -ocaml-http (0.0.6) unstable; urgency=low - - * Ship multithreaded and non multithreaded cm{x,}aS - * Added support for multiple binding of the same parameter in request - objects (new method 'paramAll') - * Added support for 'empty' bindings in query arguments (e.g. - "/foo?b=" or "/foo?b") - * Added some sanity checks - * Bumped Standards-Version to 3.5.8 - * Use versioned dependencies lib{pcre,ocamlnet}-ocaml-dev- - * Added 'Provides libhttp-ocaml-dev-' - * Removed GPL from debian/copyright, added reference to - /usr/share/common-licenses/GPL - - -- Stefano Zacchiroli Mon, 25 Nov 2002 11:04:49 +0100 - -ocaml-http (0.0.5) unstable; urgency=low - - * Fixed bug for HTTP encoded GET parameters which contain '?' or '&' - characters - * Added support for chdir in a given document root before starting - * Added support for multi threaded daemons - * Added a generic 'Http_daemon.respond' function - * Added 'toString' method to response objects - - -- Stefano Zacchiroli Fri, 22 Nov 2002 11:29:37 +0100 - -ocaml-http (0.0.3) unstable; urgency=low - - * First release. - - -- Stefano Zacchiroli Sun, 17 Nov 2002 17:41:41 +0100 diff --git a/helm/DEVEL/ocaml-http/debian/compat b/helm/DEVEL/ocaml-http/debian/compat deleted file mode 100644 index b8626c4cf..000000000 --- a/helm/DEVEL/ocaml-http/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/helm/DEVEL/ocaml-http/debian/control b/helm/DEVEL/ocaml-http/debian/control deleted file mode 100644 index d01f5bd82..000000000 --- a/helm/DEVEL/ocaml-http/debian/control +++ /dev/null @@ -1,19 +0,0 @@ -Source: ocaml-http -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>> 4.0.0), ocaml-nox-3.08, ocaml-findlib, libpcre-ocaml-dev (>= 4.30.0), libocamlnet-ocaml-dev (>= 0.98), graphviz -Standards-Version: 3.6.1.1 - -Package: libhttp-ocaml-dev -Architecture: any -Depends: ocaml-nox-3.08, libpcre-ocaml-dev (>= 4.30.0), libocamlnet-ocaml-dev (>= 0.98) -Description: OCaml module to build simple HTTP servers - OCaml module to build simple HTTP server, largely inspired to Perl's - HTTP::Daemon module. - . - Contains an Http.Daemon module which allow you to create simple HTTP - servers, and a set of facility functions to handle HTTP request and - responses. - . - Contains also classes that enclose HTTP request and responses. diff --git a/helm/DEVEL/ocaml-http/debian/copyright b/helm/DEVEL/ocaml-http/debian/copyright deleted file mode 100644 index 0771df334..000000000 --- a/helm/DEVEL/ocaml-http/debian/copyright +++ /dev/null @@ -1,13 +0,0 @@ -Author: Stefano Zacchiroli - -Copyright: - - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - OCaml HTTP is distributed under the term of the GNU General Public - License, you can find a copy of the license in: - - /usr/share/common-licenses/GPL - diff --git a/helm/DEVEL/ocaml-http/debian/dirs b/helm/DEVEL/ocaml-http/debian/dirs deleted file mode 100644 index 4c23e42fd..000000000 --- a/helm/DEVEL/ocaml-http/debian/dirs +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/ocaml/3.08 diff --git a/helm/DEVEL/ocaml-http/debian/docs b/helm/DEVEL/ocaml-http/debian/docs deleted file mode 100644 index 2e098492d..000000000 --- a/helm/DEVEL/ocaml-http/debian/docs +++ /dev/null @@ -1,2 +0,0 @@ -README -doc/* diff --git a/helm/DEVEL/ocaml-http/debian/examples b/helm/DEVEL/ocaml-http/debian/examples deleted file mode 100644 index 6e72ae207..000000000 --- a/helm/DEVEL/ocaml-http/debian/examples +++ /dev/null @@ -1 +0,0 @@ -examples/*.ml diff --git a/helm/DEVEL/ocaml-http/debian/rules b/helm/DEVEL/ocaml-http/debian/rules deleted file mode 100755 index d7f5ed8a2..000000000 --- a/helm/DEVEL/ocaml-http/debian/rules +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/make -f - -#export DH_VERBOSE=1 - -TARGETDIR = $(CURDIR)/debian/libhttp-ocaml-dev -OCAML_LIB_DIR = $(shell ocamlc -where) - -build: build-stamp -build-stamp: - dh_testdir - $(MAKE) all - if [ -x /usr/bin/ocamlopt ]; then $(MAKE) opt; else true; fi - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - -$(MAKE) distclean - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - $(MAKE) install DESTDIR=$(TARGETDIR)$(OCAML_LIB_DIR) - $(MAKE) doc - -binary-arch: build install - dh_testdir - dh_testroot - dh_installdocs - dh_installexamples - dh_installchangelogs - dh_link - dh_strip - dh_compress - dh_fixperms - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-arch -.PHONY: build clean binary-arch binary install diff --git a/helm/DEVEL/ocaml-http/doc/dot/.cvsignore b/helm/DEVEL/ocaml-http/doc/dot/.cvsignore deleted file mode 100644 index 269c66077..000000000 --- a/helm/DEVEL/ocaml-http/doc/dot/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.dot -*.ps diff --git a/helm/DEVEL/ocaml-http/doc/html/.cvsignore b/helm/DEVEL/ocaml-http/doc/html/.cvsignore deleted file mode 100644 index d0098b437..000000000 --- a/helm/DEVEL/ocaml-http/doc/html/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.css -*.html diff --git a/helm/DEVEL/ocaml-http/doc/latex/.cvsignore b/helm/DEVEL/ocaml-http/doc/latex/.cvsignore deleted file mode 100644 index 01564af35..000000000 --- a/helm/DEVEL/ocaml-http/doc/latex/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.tex diff --git a/helm/DEVEL/ocaml-http/examples/.cvsignore b/helm/DEVEL/ocaml-http/examples/.cvsignore deleted file mode 100644 index c0404dd2a..000000000 --- a/helm/DEVEL/ocaml-http/examples/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -*.cmi -*.cmo -*.cmx -*.cma -*.cmxa diff --git a/helm/DEVEL/ocaml-http/examples/Makefile b/helm/DEVEL/ocaml-http/examples/Makefile deleted file mode 100644 index 453776c61..000000000 --- a/helm/DEVEL/ocaml-http/examples/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -include ../Makefile.defs -OBJS_NON_MT = ../http.cma -OBJS_NON_MT_OPT = ../http.cmxa -OBJS_MT = ../http_mt.cma -OBJS_MT_OPT = ../http_mt.cmxa -EXAMPLES_FLAGS = -I .. -linkpkg - -EXAMPLES := \ - always_ok_daemon.ml \ - basic_auth.ml \ - chdir.ml \ - client_address.ml \ - damned_recursion.ml \ - dont_fork.ml \ - dump_args.ml \ - highlander.ml \ - obj_foo.ml \ - oo_daemon.ml \ - threads.ml \ - timeout.ml \ - webfsd.ml -EXAMPLES := $(patsubst %.ml,%,$(EXAMPLES)) - -all: $(EXAMPLES) -opt: $(patsubst %,%.opt,$(EXAMPLES)) -%: %.ml $(OBJS_NON_MT) - $(OCAMLC) $(EXAMPLES_FLAGS) $(OBJS_NON_MT) -o $@ $< -%.opt: %.ml $(OBJS_NON_MT_OPT) - $(OCAMLOPT) $(EXAMPLES_FLAGS) $(OBJS_NON_MT_OPT) -o $@ $< - -threads: threads.ml $(OBJS_MT) - $(OCAMLC) $(EXAMPLES_FLAGS) $(OBJS_MT) $(THREADS_FLAGS) -o $@ $< -threads.opt: threads.ml $(OBJS_MT_OPT) - $(OCAMLOPT) $(EXAMPLES_FLAGS) $(OBJS_MT_OPT) $(THREADS_FLAGS) -o $@ $< - -damned_recursion: damned_recursion.ml $(OBJS_MT) - $(OCAMLC) $(EXAMPLES_FLAGS) $(OBJS_MT) $(THREADS_FLAGS) -o $@ $< -damned_recursion.opt: damned_recursion.ml $(OBJS_MT_OPT) - $(OCAMLOPT) $(EXAMPLES_FLAGS) $(OBJS_MT_OPT) $(THREADS_FLAGS) -o $@ $< - -distclean: clean -clean: - -rm -f *.cm[ioax] *.o $(EXAMPLES) $(patsubst %,%.opt,$(EXAMPLES)) diff --git a/helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml b/helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml deleted file mode 100644 index d5d456d74..000000000 --- a/helm/DEVEL/ocaml-http/examples/always_ok_daemon.ml +++ /dev/null @@ -1,26 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_daemon;; - (* start an http daemon that alway respond with a 200 status code and an empty - content *) -start ~port:9999 ~addr:"localhost" (fun _ _ outchan -> respond outchan) - diff --git a/helm/DEVEL/ocaml-http/examples/basic_auth.ml b/helm/DEVEL/ocaml-http/examples/basic_auth.ml deleted file mode 100644 index c3e4e6f91..000000000 --- a/helm/DEVEL/ocaml-http/examples/basic_auth.ml +++ /dev/null @@ -1,30 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let callback (req: Http_types.request) outchan = - match req#authorization with - | Some (`Basic (username, password)) - when username = "foo" && password = "bar" -> - Http_daemon.respond ~code:(`Code 200) ~body:"secret page!" outchan - | _ -> raise (Http_types.Unauthorized "my secret site") - -let _ = Http_daemon.start' ~port:9999 callback - diff --git a/helm/DEVEL/ocaml-http/examples/chdir.ml b/helm/DEVEL/ocaml-http/examples/chdir.ml deleted file mode 100644 index 183b3ca00..000000000 --- a/helm/DEVEL/ocaml-http/examples/chdir.ml +++ /dev/null @@ -1,27 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_daemon;; -open Printf;; -start - ~port:9999 - ~root:"/etc" - (fun _ _ outchan -> respond ~body:(sprintf "%s\n" (Sys.getcwd ())) outchan) diff --git a/helm/DEVEL/ocaml-http/examples/client_address.ml b/helm/DEVEL/ocaml-http/examples/client_address.ml deleted file mode 100644 index 0f5c68d2c..000000000 --- a/helm/DEVEL/ocaml-http/examples/client_address.ml +++ /dev/null @@ -1,34 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Printf;; - -let callback req outchan = - let body = - sprintf - "Hi, this is your personal assistant, you are connected from %s:%d\n" - req#clientAddr - req#clientPort - in - let res = new Http_response.response ~body () in - Http_daemon.respond_with res outchan -in -Http_daemon.start' ~port:9999 callback diff --git a/helm/DEVEL/ocaml-http/examples/damned_recursion.ml b/helm/DEVEL/ocaml-http/examples/damned_recursion.ml deleted file mode 100644 index 8c7efd91e..000000000 --- a/helm/DEVEL/ocaml-http/examples/damned_recursion.ml +++ /dev/null @@ -1,58 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_types;; -open Printf;; - -let wget addr port path = - let rec wget' inchan buf = - Buffer.add_string buf (input_line inchan ^ "\n"); - wget' inchan buf - in - prerr_endline (sprintf "DEBUG: wgetting url '%s:%d%s'" addr port path); - let sockaddr = Unix.ADDR_INET (Unix.inet_addr_of_string addr, port) in - let suck = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in - Unix.connect suck sockaddr; - let outchan = Unix.out_channel_of_descr suck in - output_string outchan (sprintf "GET %s HTTP/1.0\r\n\r\n" path); - flush outchan; - let inchan = Unix.in_channel_of_descr suck in - let buf = Buffer.create 1023 in - try - wget' inchan buf - with End_of_file -> Buffer.contents buf -in -let callback (req: request) outchan = - let i = int_of_string (req#param "x") in - prerr_endline (string_of_int i); - match i with - | 0 -> output_string outchan "1" - | x when x>0 -> - let data = - wget "127.0.0.1" 9999 (sprintf "/foo?x=%d" (x-1)) -(* wget "127.0.0.1" 80 "/index.html" *) - in - output_string outchan (sprintf "%s %d" data x) - | _ -> assert false -in -let mode = `Thread in -Http_daemon.start' ~port:9999 ~mode callback - diff --git a/helm/DEVEL/ocaml-http/examples/dont_fork.ml b/helm/DEVEL/ocaml-http/examples/dont_fork.ml deleted file mode 100644 index f05355496..000000000 --- a/helm/DEVEL/ocaml-http/examples/dont_fork.ml +++ /dev/null @@ -1,25 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let callback req outchan = - Http_daemon.respond_error ~body:"AH AH AH :-P\n" outchan -in -Http_daemon.start' ~port:9999 ~mode:`Single ~timeout:(Some 5) callback diff --git a/helm/DEVEL/ocaml-http/examples/dump_args.ml b/helm/DEVEL/ocaml-http/examples/dump_args.ml deleted file mode 100644 index a6dcdda0e..000000000 --- a/helm/DEVEL/ocaml-http/examples/dump_args.ml +++ /dev/null @@ -1,46 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Printf;; - -let callback req outchan = - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_CRLF outchan; - let str = - (sprintf "request path = %s\n" req#path) ^ - (sprintf "request GET params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_GET))) ^ - (sprintf "request POST params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_POST))) ^ - (sprintf "request ALL params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params))) ^ - (sprintf "request BODY = '%s'\n" req#body) - in - output_string outchan str; - prerr_endline str -in -print_endline "Starting custom Http_daemon ..."; -flush stdout; -Http_daemon.start' ~port:9999 callback - diff --git a/helm/DEVEL/ocaml-http/examples/highlander.ml b/helm/DEVEL/ocaml-http/examples/highlander.ml deleted file mode 100644 index 24a4abd84..000000000 --- a/helm/DEVEL/ocaml-http/examples/highlander.ml +++ /dev/null @@ -1,54 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(* almost the same as dump_args.ml, but used to test fast rebinding of the same -port *) - -open Printf;; - -let callback req outchan = - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_CRLF outchan; - let str = - (sprintf "request path = %s\n" req#path) ^ - (sprintf "request GET params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_GET))) ^ - (sprintf "request POST params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_POST))) ^ - (sprintf "request ALL params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params))) ^ - (sprintf "request BODY = '%s'\n" req#body) - in - output_string outchan str; - prerr_endline str -in -print_endline "Starting custom Http_daemon ..."; -flush stdout; -(* Sys.catch_break true; *) -while true do -(* try *) - Http_daemon.start' ~mode:`Single ~port:9999 callback -(* with Sys.Break -> prerr_endline "RESURRECTION!!!!" *) -done - diff --git a/helm/DEVEL/ocaml-http/examples/obj_foo.ml b/helm/DEVEL/ocaml-http/examples/obj_foo.ml deleted file mode 100644 index 3a6911019..000000000 --- a/helm/DEVEL/ocaml-http/examples/obj_foo.ml +++ /dev/null @@ -1,27 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_types;; - -let callback (req: request) outchan = - Http_daemon.respond_error ~body:(req#param "foo") outchan -in -Http_daemon.start' ~port:9999 callback diff --git a/helm/DEVEL/ocaml-http/examples/oo_daemon.ml b/helm/DEVEL/ocaml-http/examples/oo_daemon.ml deleted file mode 100644 index 528f2b246..000000000 --- a/helm/DEVEL/ocaml-http/examples/oo_daemon.ml +++ /dev/null @@ -1,44 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_daemon;; -open Http_response;; - - (* the simple way *) -let d = new daemon ~addr:"127.0.0.1" ~port:9999 () in -while true do - let (req, conn) = d#getRequest in (* wait for valid request *) - conn#respond_with (new response ~body:"foo\n" ()); - conn#close -done - -(* - (* the hard way *) -let d = new daemon ~addr:"127.0.0.1" ~port:9999 () in -while true do - let conn = d#accept in (* wait for client connection *) - (match conn#getRequest with - | None -> () (* invalid request received *) - | Some req -> conn#respond_with (new response ~body:"foo\n" ())); - conn#close (* close socket *) -done -*) - diff --git a/helm/DEVEL/ocaml-http/examples/threads.ml b/helm/DEVEL/ocaml-http/examples/threads.ml deleted file mode 100644 index a73f422d8..000000000 --- a/helm/DEVEL/ocaml-http/examples/threads.ml +++ /dev/null @@ -1,47 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let m = Mutex.create () in -let i = ref 10 in -let dump_i outchan = - Http_daemon.respond ~body:(Printf.sprintf "i = %d\n" !i) outchan -in -let callback req outchan = - match req#path with - | "/incr" -> - Mutex.lock m; - incr i; - dump_i outchan; - Unix.sleep 5; - Mutex.unlock m - | "/decr" -> - Mutex.lock m; - decr i; - dump_i outchan; - Unix.sleep 5; - Mutex.unlock m - | "/get" -> - Mutex.lock m; - dump_i outchan; - Mutex.unlock m - | bad_request -> Http_daemon.respond_error outchan -in -Http_daemon.start' ~port:9999 ~mode:`Thread callback diff --git a/helm/DEVEL/ocaml-http/examples/timeout.ml b/helm/DEVEL/ocaml-http/examples/timeout.ml deleted file mode 100644 index 84e989b94..000000000 --- a/helm/DEVEL/ocaml-http/examples/timeout.ml +++ /dev/null @@ -1,26 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let callback _ _ outchan = - output_string outchan "Here you are!\n"; - flush outchan -in -Http_daemon.start ~port:9999 ~timeout:(Some 10) callback diff --git a/helm/DEVEL/ocaml-http/examples/webfsd.ml b/helm/DEVEL/ocaml-http/examples/webfsd.ml deleted file mode 100644 index c41443e87..000000000 --- a/helm/DEVEL/ocaml-http/examples/webfsd.ml +++ /dev/null @@ -1,40 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let def_port = 80 in -let def_addr = "0.0.0.0" in -let def_root = Sys.getcwd () in - -let port = ref def_port in -let addr = ref def_addr in -let root = ref def_root in -let argspec = - [ "-p", Arg.Int (fun p -> port := p), - "TCP port on which listen, default: " ^ string_of_int !port; - "-a", Arg.String (fun a -> addr := a), - "IP address on which listen, default: " ^ !addr; - "-r", Arg.String (fun r -> root := r), - "DocumentRoot, default: current working directory" ] -in -Arg.parse argspec (fun _ -> ()) ""; -Sys.chdir !root; -Http_daemon.Trivial.start ~addr:!addr ~port:!port () - diff --git a/helm/DEVEL/ocaml-http/http_common.ml b/helm/DEVEL/ocaml-http/http_common.ml deleted file mode 100644 index 9155e95eb..000000000 --- a/helm/DEVEL/ocaml-http/http_common.ml +++ /dev/null @@ -1,162 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_types;; -open Printf;; - -let debug = ref false -let debug_print s = - if !debug then - prerr_endline (sprintf "[OCaml HTTP] DEBUG: %s" s) - -let http_version = Http_constants.version -let server_string = Http_constants.server_string - -let string_of_version = function - | `HTTP_1_0 -> "HTTP/1.0" - | `HTTP_1_1 -> "HTTP/1.1" - -let version_of_string = function - | "HTTP/1.0" -> `HTTP_1_0 - | "HTTP/1.1" -> `HTTP_1_1 - | invalid_version -> raise (Invalid_HTTP_version invalid_version) - -let string_of_method = function - | `GET -> "GET" - | `POST -> "POST" - -let method_of_string = function - | "GET" -> `GET - | "POST" -> `POST - | invalid_method -> raise (Invalid_HTTP_method invalid_method) - -let status_of_code = function - | 100 -> `Informational `Continue - | 101 -> `Informational `Switching_protocols - | 200 -> `Success `OK - | 201 -> `Success `Created - | 202 -> `Success `Accepted - | 203 -> `Success `Non_authoritative_information - | 204 -> `Success `No_content - | 205 -> `Success `Reset_content - | 206 -> `Success `Partial_content - | 300 -> `Redirection `Multiple_choices - | 301 -> `Redirection `Moved_permanently - | 302 -> `Redirection `Found - | 303 -> `Redirection `See_other - | 304 -> `Redirection `Not_modified - | 305 -> `Redirection `Use_proxy - | 307 -> `Redirection `Temporary_redirect - | 400 -> `Client_error `Bad_request - | 401 -> `Client_error `Unauthorized - | 402 -> `Client_error `Payment_required - | 403 -> `Client_error `Forbidden - | 404 -> `Client_error `Not_found - | 405 -> `Client_error `Method_not_allowed - | 406 -> `Client_error `Not_acceptable - | 407 -> `Client_error `Proxy_authentication_required - | 408 -> `Client_error `Request_time_out - | 409 -> `Client_error `Conflict - | 410 -> `Client_error `Gone - | 411 -> `Client_error `Length_required - | 412 -> `Client_error `Precondition_failed - | 413 -> `Client_error `Request_entity_too_large - | 414 -> `Client_error `Request_URI_too_large - | 415 -> `Client_error `Unsupported_media_type - | 416 -> `Client_error `Requested_range_not_satisfiable - | 417 -> `Client_error `Expectation_failed - | 500 -> `Server_error `Internal_server_error - | 501 -> `Server_error `Not_implemented - | 502 -> `Server_error `Bad_gateway - | 503 -> `Server_error `Service_unavailable - | 504 -> `Server_error `Gateway_time_out - | 505 -> `Server_error `HTTP_version_not_supported - | invalid_code -> raise (Invalid_code invalid_code) - -let code_of_status = function - | `Informational `Continue -> 100 - | `Informational `Switching_protocols -> 101 - | `Success `OK -> 200 - | `Success `Created -> 201 - | `Success `Accepted -> 202 - | `Success `Non_authoritative_information -> 203 - | `Success `No_content -> 204 - | `Success `Reset_content -> 205 - | `Success `Partial_content -> 206 - | `Redirection `Multiple_choices -> 300 - | `Redirection `Moved_permanently -> 301 - | `Redirection `Found -> 302 - | `Redirection `See_other -> 303 - | `Redirection `Not_modified -> 304 - | `Redirection `Use_proxy -> 305 - | `Redirection `Temporary_redirect -> 307 - | `Client_error `Bad_request -> 400 - | `Client_error `Unauthorized -> 401 - | `Client_error `Payment_required -> 402 - | `Client_error `Forbidden -> 403 - | `Client_error `Not_found -> 404 - | `Client_error `Method_not_allowed -> 405 - | `Client_error `Not_acceptable -> 406 - | `Client_error `Proxy_authentication_required -> 407 - | `Client_error `Request_time_out -> 408 - | `Client_error `Conflict -> 409 - | `Client_error `Gone -> 410 - | `Client_error `Length_required -> 411 - | `Client_error `Precondition_failed -> 412 - | `Client_error `Request_entity_too_large -> 413 - | `Client_error `Request_URI_too_large -> 414 - | `Client_error `Unsupported_media_type -> 415 - | `Client_error `Requested_range_not_satisfiable -> 416 - | `Client_error `Expectation_failed -> 417 - | `Server_error `Internal_server_error -> 500 - | `Server_error `Not_implemented -> 501 - | `Server_error `Bad_gateway -> 502 - | `Server_error `Service_unavailable -> 503 - | `Server_error `Gateway_time_out -> 504 - | `Server_error `HTTP_version_not_supported -> 505 - -let is_informational code = - match status_of_code code with - | `Informational _ -> true - | _ -> false - -let is_success code = - match status_of_code code with - | `Success _ -> true - | _ -> false - -let is_redirection code = - match status_of_code code with - | `Redirection _ -> true - | _ -> false - -let is_client_error code = - match status_of_code code with - | `Client_error _ -> true - | _ -> false - -let is_server_error code = - match status_of_code code with - | `Server_error _ -> true - | _ -> false - -let is_error code = is_client_error code || is_server_error code - diff --git a/helm/DEVEL/ocaml-http/http_common.mli b/helm/DEVEL/ocaml-http/http_common.mli deleted file mode 100644 index f99dd7224..000000000 --- a/helm/DEVEL/ocaml-http/http_common.mli +++ /dev/null @@ -1,80 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Common functionalities shared by other OCaml HTTP modules *) - -open Http_types;; - - (** whether debugging messages are enabled or not, can be changed at runtime - *) -val debug: bool ref - - (** print a string on stderr only if debugging is enabled *) -val debug_print: string -> unit - - (** see {! Http_constants.version} *) -val http_version: version - - (** see {! Http_constants.server_string} *) -val server_string: string - - (** pretty print an HTTP version *) -val string_of_version: version -> string - - (** parse an HTTP version from a string - @raise Invalid_HTTP_version if given string doesn't represent a supported HTTP - version *) -val version_of_string: string -> version - - (** pretty print an HTTP method *) -val string_of_method: meth -> string - - (** parse an HTTP method from a string - @raise Invalid_HTTP_method if given string doesn't represent a supported - method *) -val method_of_string: string -> meth - - (** converts an integer HTTP status to the corresponding status value - @raise Invalid_code if given integer isn't a valid HTTP status code *) -val status_of_code: int -> status - - (** converts an HTTP status to the corresponding integer value *) -val code_of_status: [< status] -> int - - (** @return true on "informational" status codes, false elsewhere *) -val is_informational: int -> bool - - (** @return true on "success" status codes, false elsewhere *) -val is_success: int -> bool - - (** @return true on "redirection" status codes, false elsewhere *) -val is_redirection: int -> bool - - (** @return true on "client error" status codes, false elsewhere *) -val is_client_error: int -> bool - - (** @return true on "server error" status codes, false elsewhere *) -val is_server_error: int -> bool - - (** @return true on "client error" and "server error" status code, false - elsewhere *) -val is_error: int -> bool - diff --git a/helm/DEVEL/ocaml-http/http_constants.ml b/helm/DEVEL/ocaml-http/http_constants.ml deleted file mode 100644 index 674e2a863..000000000 --- a/helm/DEVEL/ocaml-http/http_constants.ml +++ /dev/null @@ -1,30 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let version = `HTTP_1_1 ;; -let server_string = "OCaml HTTP Daemon" ;; -let crlf = "\r\n" ;; - -let default_addr = "0.0.0.0" ;; -let default_port = 80 ;; -let default_timeout = 300 ;; -let default_mode = `Fork ;; - diff --git a/helm/DEVEL/ocaml-http/http_constants.mli b/helm/DEVEL/ocaml-http/http_constants.mli deleted file mode 100644 index c00edebb6..000000000 --- a/helm/DEVEL/ocaml-http/http_constants.mli +++ /dev/null @@ -1,41 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Constants *) - -open Http_types - - (** default HTTP version *) -val version: Http_types.version - - (** string returned as value of "Server:" response header *) -val server_string: string - - (** "\r\n" string *) -val crlf: string - - (** {2 daemon default values} *) - -val default_addr: string (** default listen address *) -val default_port: int (** default listen port *) -val default_timeout: int (** default callbacks timeout *) -val default_mode: daemon_mode (** default request handling mode *) - diff --git a/helm/DEVEL/ocaml-http/http_daemon.ml b/helm/DEVEL/ocaml-http/http_daemon.ml deleted file mode 100644 index f29b4c1d1..000000000 --- a/helm/DEVEL/ocaml-http/http_daemon.ml +++ /dev/null @@ -1,414 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Printf;; - -open Http_common;; -open Http_types;; -open Http_constants;; -open Http_parser;; - - (** send raw data on outchan, flushing it afterwards *) -let send_raw ~data outchan = - output_string outchan data; - flush outchan - -let send_CRLF = send_raw ~data:crlf - -let send_header ~header ~value = - Http_parser_sanity.heal_header (header, value); - send_raw ~data:(header ^ ": " ^ value ^ crlf) - -let send_headers ~headers outchan = - List.iter (fun (header, value) -> send_header ~header ~value outchan) headers - - (** internal: low level for send_status_line *) -let send_status_line' ~version code = - let status_line = - String.concat - " " - [ string_of_version version; - string_of_int code; - Http_misc.reason_phrase_of_code code ] - in - send_raw ~data:(status_line ^ crlf) - -let int_of_code = function - | `Code code -> code - | `Status status -> code_of_status status - -let send_status_line ?(version = http_version) ~(code: status_code) outchan = - send_status_line' ~version (int_of_code code) outchan - - (* FIXME duplication of code between this and response#addBasicHeaders *) -let send_basic_headers ?(version = http_version) ~(code: status_code) outchan = - send_status_line' ~version (int_of_code code) outchan; - send_headers - ~headers:["Date", Http_misc.date_822 (); "Server", server_string] - outchan - - (** internal: given a status code and an additional body return a string - representing an HTML document that explains the meaning of given status code. - Additional data can be added to the body via 'body' argument *) -let foo_body code body = - let reason_phrase = Http_misc.reason_phrase_of_code code in - sprintf -" - -%d %s - -

%d - %s

%s -" - code reason_phrase code reason_phrase body - - (** internal: send a fooish body explaining in HTML form the 'reason phrase' - of an HTTP response; body, if given, will be appended to the body *) -let send_foo_body code body = send_raw ~data:(foo_body code body) - - (* Warning: keep default values in sync with Http_response.response class *) -let respond ?(body = "") ?(headers = []) ?version ?(code = `Code 200) outchan = - send_basic_headers ?version ~code outchan; - send_headers ~headers outchan; - send_header "Content-Length" (string_of_int (String.length body)) outchan; - send_CRLF outchan; - send_raw ~data:body outchan - - (** internal: low level for respond_redirect, respond_error, ... - This function send a status line corresponding to a given code, some basic - headers, the additional headers (if given) and an HTML page containing the - reason phrase; if body is given it will be included in the body of the HTML - page *) -let send_empty_response - func_name ?(is_valid_status = fun _ -> true) ?(headers=[]) ?(body="") () = - fun ?version code outchan -> - if not (is_valid_status (int_of_code code)) then - failwith - (sprintf "'%d' isn't a valid status code for %s" - (int_of_code code) func_name) - else begin (* status code suitable for answering *) - let headers = - [ "Connection", "close"; - "Content-Type", "text/html; charset=iso-8859-1" ] @ headers - in - let body = (foo_body (int_of_code code) body) ^ body in - respond ?version ~code ~headers ~body outchan - end - -let respond_redirect - ~location ?body ?version ?(code = `Code 301) outchan - = - send_empty_response "Daemon.respond_redirect" ~is_valid_status:is_redirection - ~headers:["Location", location] ?body () ?version code outchan - -let respond_error ?body ?version ?(code = `Code 400) outchan = - send_empty_response "Daemon.respond_error" ~is_valid_status:is_error - ?body () ?version code outchan - -let respond_not_found ~url ?version outchan = - send_empty_response "Daemon.respond_not_found" () ?version (`Code 404) outchan - -let respond_forbidden ~url ?version outchan = - send_empty_response "Daemon.respond_permission_denied" () ?version - (`Code 403) outchan - -let respond_unauthorized ?version ?(realm = server_string) outchan = - respond ~headers:["WWW-Authenticate", sprintf "Basic realm=\"%s\"" realm] - ~code:(`Code 401) outchan - -let send_file ~src outchan = - let buflen = 1024 in - let buf = String.make buflen ' ' in - - let (file, cleanup) = - match src with - | FileSrc fname -> (* if we open the file, we close it before returning *) - let f = open_in fname in - f, (fun () -> close_in f) - | InChanSrc inchan -> inchan, ignore - in - try - while true do - let bytes = input file buf 0 buflen in - if bytes = 0 then - raise End_of_file - else - output outchan buf 0 bytes - done; - assert false - with End_of_file -> - begin - flush outchan; - cleanup () - end - - (* TODO interface is too ugly to advertise this function in .mli *) - (** create a minimal HTML directory listing of a given directory and send it - over an out_channel, directory is passed as a dir_handle; name is the - directory name, used for pretty printing purposes; path is the opened dir - path, used to test its contents with stat *) -let send_dir_listing ~dir ~name ~path outchan = - fprintf outchan "\n%s\n\n" name; - let (dirs, files) = - List.partition (fun e -> Http_misc.is_directory (path ^ e)) (Http_misc.ls dir) - in - List.iter - (fun d -> fprintf outchan "%s/
\n" d d) - (List.sort compare dirs); - List.iter - (fun f -> fprintf outchan "%s
\n" f f) - (List.sort compare files); - fprintf outchan "\n"; - flush outchan - -let respond_file ~fname ?(version = http_version) outchan = - (** ASSUMPTION: 'fname' doesn't begin with a "/"; it's relative to the current - document root (usually the daemon's cwd) *) - let droot = Sys.getcwd () in (* document root *) - let path = droot ^ "/" ^ fname in (* full path to the desired file *) - if not (Sys.file_exists path) then (* file not found *) - respond_not_found ~url:fname outchan - else begin - try - if Http_misc.is_directory path then begin (* file found, is a dir *) - let dir = Unix.opendir path in - send_basic_headers ~version ~code:(`Code 200) outchan; - send_header "Content-Type" "text/html" outchan; - send_CRLF outchan; - send_dir_listing ~dir ~name:fname ~path outchan; - Unix.closedir dir - end else begin (* file found, is something else *) - let file = open_in fname in - send_basic_headers ~version ~code:(`Code 200) outchan; - send_header - ~header:"Content-Length" - ~value:(string_of_int (Http_misc.filesize fname)) - outchan; - send_CRLF outchan; - send_file ~src:(InChanSrc file) outchan; - close_in file - end - with - | Unix.Unix_error (Unix.EACCES, s, _) when (s = fname) -> - respond_forbidden ~url:fname ~version outchan - | Sys_error s when - (Pcre.pmatch ~rex:(Pcre.regexp (fname ^ ": Permission denied")) s) -> - respond_forbidden ~url:fname ~version outchan - end - -let respond_with (res: Http_types.response) outchan = - res#serialize outchan; - flush outchan - - (** internal: this exception is raised after a malformed request has been read - by a serving process to signal main server (or itself if mode = `Single) to - skip to next request *) -exception Again;; - -let pp_parse_exc e = - sprintf "HTTP request parse error: %s" (Printexc.to_string e) - - (* given a Http_parser.parse_request like function, wrap it in a function that - do the same and additionally catch parsing exception sending HTTP error - messages back to client as needed. Returned function raises Again when it - encounter a parse error (name 'Again' is intended for future versions that - will support http keep alive signaling that a new request has to be parsed - from client) *) -let rec wrap_parse_request_w_safety parse_function inchan outchan = -(* try *) - (try - parse_function inchan - with - | (End_of_file) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 400) ~body:"Unexpected End Of File" outchan; - raise Again - | (Malformed_request req) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 400) - ~body:("request 1st line format should be: ' '" ^ - "
\nwhile received request 1st line was:
\n" ^ req) - outchan; - raise Again - | (Invalid_HTTP_method meth) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 501) - ~body:("Method '" ^ meth ^ "' isn't supported (yet)") - outchan; - raise Again - | (Malformed_request_URI uri) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 400) ~body:("Malformed URL: '" ^ uri ^ "'") - outchan; - raise Again - | (Invalid_HTTP_version version) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 505) - ~body:("HTTP version '" ^ version ^ "' isn't supported (yet)") - outchan; - raise Again - | (Malformed_query query) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 400) - ~body:(sprintf "Malformed query string '%s'" query) outchan; - raise Again - | (Malformed_query_part (binding, query)) as e -> - debug_print (pp_parse_exc e); - respond_error ~code:(`Code 400) - ~body:(sprintf "Malformed query part '%s' in query '%s'" binding query) - outchan; - raise Again) -(* (* preliminary support for HTTP keep alive connections ... *) - with Again -> - wrap_parse_request_w_safety parse_function inchan outchan -*) - - (* wrapper around Http_parser.parse_request which catch parsing exceptions and - return error messages to client as needed - @param inchan in_channel from which read incoming requests - @param outchan out_channl on which respond with error messages if needed - *) -let safe_parse_request = wrap_parse_request_w_safety parse_request - - (* as above but for OO version (Http_parser.parse_request') *) -let safe_parse_request' = wrap_parse_request_w_safety (new Http_request.request) - -let chdir_to_document_root = function (* chdir to document root *) - | Some dir -> Sys.chdir dir - | None -> () - -let server_of_mode = function - | `Single -> Http_tcp_server.simple - | `Fork -> Http_tcp_server.fork - | `Thread -> Http_tcp_server.thread - - (* TODO what happens when a Quit exception is raised by a callback? Do other - callbacks keep on living until the end or are them all killed immediatly? - The right semantics should obviously be the first one *) - - (* TODO support also chroot to 'root', not only chdir *) - (* curried request *) -let start - ?(addr = default_addr) ?(port = default_port) - ?(timeout = Some default_timeout) ?(mode = default_mode) ?root callback - = - chdir_to_document_root root; - let sockaddr = Http_misc.build_sockaddr (addr, port) in - let daemon_callback inchan outchan = - try - let (path, parameters) = safe_parse_request inchan outchan in - callback path parameters outchan; - flush outchan - with - | Unauthorized realm -> respond_unauthorized ~realm outchan - | Again -> () - in - try - (server_of_mode mode) ~sockaddr ~timeout daemon_callback - with Quit -> () - - (* OO request *) -let start' - ?(addr = default_addr) ?(port = default_port) - ?(timeout = Some default_timeout) ?(mode = default_mode) ?root callback - = - chdir_to_document_root root; - let sockaddr = Http_misc.build_sockaddr (addr, port) in - let daemon_callback inchan outchan = - try - let req = safe_parse_request' inchan outchan in - callback req outchan; - flush outchan - with - | Unauthorized realm -> respond_unauthorized ~realm outchan - | Again -> () - in - try - (server_of_mode mode) ~sockaddr ~timeout daemon_callback - with Quit -> () - -module Trivial = - struct - let callback path _ outchan = - if not (Pcre.pmatch ~rex:(Pcre.regexp "^/") path) then - respond_error ~code:(`Code 400) outchan - else - respond_file ~fname:(Http_misc.strip_heading_slash path) outchan - let start ?(addr = default_addr) ?(port = default_port) () = - start ~addr ~port callback - end - - (* @param inchan input channel connected to client - @param outchan output channel connected to client - @param sockaddr client socket address *) -class connection inchan outchan sockaddr = - (* ASSUMPTION: inchan and outchan are channels built on top of the same - Unix.file_descr thus closing one of them will close also the other *) - let close' o = o#close in - object (self) - - initializer Gc.finalise close' self - - val mutable closed = false - - method private assertNotClosed = - if closed then - failwith "Http_daemon.connection: connection is closed" - - method getRequest = - self#assertNotClosed; - try - Some (safe_parse_request' inchan outchan) - with Again -> None - - method respond_with res = - self#assertNotClosed; - respond_with res outchan - - method close = - self#assertNotClosed; - close_in inchan; (* this close also outchan *) - closed <- true - - end - -class daemon ?(addr = "0.0.0.0") ?(port = 80) () = - object (self) - - val suck = - Http_tcp_server.init_socket (Http_misc.build_sockaddr (addr, port)) - - method accept = - let (cli_suck, cli_sockaddr) = Unix.accept suck in (* may block *) - let (inchan, outchan) = - (Unix.in_channel_of_descr cli_suck, Unix.out_channel_of_descr cli_suck) - in - new connection inchan outchan cli_sockaddr - - method getRequest = - let conn = self#accept in - match conn#getRequest with - | None -> - conn#close; - self#getRequest - | Some req -> (req, conn) - - end - diff --git a/helm/DEVEL/ocaml-http/http_daemon.mli b/helm/DEVEL/ocaml-http/http_daemon.mli deleted file mode 100644 index ba20a0b42..000000000 --- a/helm/DEVEL/ocaml-http/http_daemon.mli +++ /dev/null @@ -1,169 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Main OCaml HTTP module. - Here you can find two set of functions: - - functions which let you start an HTTP Daemon (start* functions) - - facility functions which let you sent responses back to clients *) - - (** send a CRLF sequence on the given output channel, this is mandatory after - the last header was sent and before start sending the response body *) -val send_CRLF: out_channel -> unit - - (** send response status line, version is the http version used in response, - either code or status must be given (not both, not none) which represent the - HTTP response code, outchan is the output channel to which send status line *) -val send_status_line: - ?version:Http_types.version -> code:Http_types.status_code -> - out_channel -> - unit - - (** like send_status_line but additionally will also send "Date" and "Server" - standard headers *) -val send_basic_headers: - ?version: Http_types.version -> code:Http_types.status_code -> - out_channel -> - unit - - (** send an HTTP header on outchan *) -val send_header: header: string -> value: string -> out_channel -> unit - - (** as send_header, but for a list of pairs *) -val send_headers: headers:(string * string) list -> out_channel -> unit - -(* - (** send a file through an out_channel, file can be passed as an in_channel - (if 'file' is given) or as a file name (if 'name' is given) *) -val send_file: ?name:string -> ?file:in_channel -> out_channel -> unit -*) - (** send a file through an out_channel *) -val send_file: src:Http_types.file_source -> out_channel -> unit - - (** high level response function, respond on outchan sending: basic headers - (including Content-Length computed using 'body' argument), headers probided - via 'headers' argument, body given via 'body' argument. Default response - status is 200, default response HTTP version is Http_common.http_version *) -val respond: - ?body:string -> ?headers:(string * string) list -> - ?version:Http_types.version -> ?code:Http_types.status_code -> - out_channel -> - unit - - (** send a 404 (not found) HTTP response *) -val respond_not_found: - url:string -> ?version: Http_types.version -> out_channel -> unit - - (** send a 403 (forbidden) HTTP response *) -val respond_forbidden: - url:string -> ?version: Http_types.version -> out_channel -> unit - - (** send a "redirection" class response, optional body argument contains data - that will be displayed in the body of the response, default response status is - 301 (moved permanently), only redirection status are accepted by this - function, other values will raise Failure *) -val respond_redirect: - location:string -> ?body:string -> - ?version: Http_types.version -> ?code:Http_types.status_code -> - out_channel -> - unit - - (** respond with a 401 (Unauthorized) response asking for authentication - * against given realm (default is the server name) *) -val respond_unauthorized: - ?version: Http_types.version -> ?realm:string -> out_channel -> unit - - (** send an "error" response (i.e. 400 <= status < 600), optional body - argument as per send_redirect, default response status is 400 (bad request), - only error status are accepted by this function, other values will - raise Failure *) -val respond_error: - ?body:string -> - ?version: Http_types.version -> ?code:Http_types.status_code -> - out_channel -> - unit - - (** tipical static pages http daemon behaviour, if requested url is a file, - return it, it it is a directory return a directory listing of it *) -val respond_file: - fname:string -> ?version: Http_types.version -> out_channel -> unit - - (** respond using a prebuilt Http_types.response object *) -val respond_with: Http_types.response -> out_channel -> unit - - (** starts an HTTP daemon listening - * @param addr adress on which daemon will be listening, can be both a numeric - * address (e.g. "127.0.0.1") and an hostname (e.g. "localhost"). Default is - * the wildcard address "0.0.0.0" - * @param port TCP port on which the daemon will be listening. Default is the - * HTTP port 80 - * @param timeout timeout in seconds after which an incoming HTTP request will - * be terminated closing the corresponding TCP connection. Passing None will - * disable the timeout. Default is 5 minutes (300 seconds) - * @param mode requests handling mode, it can have three different values. - * `Single -> all requests will be handled by the same process, - * `Fork -> each request will be handled by a separate process - * `Thread -> each request will be handled by a separate thread - * Default is `Fork - * @param root document root (i.e. directory to which ocaml http will chdir - * before starting handling requests). Default is current working directory - * @param callback function which will be called each time a correct HTTP - * request will be received. 1st callback argument is the path requested by - * the HTTP client; 2nd argument is a list of pairs - * representing decoded query string; 3rd argument is an output channel - * connected with the client - *) -val start: - ?addr: string -> ?port: int -> - ?timeout: int option -> ?mode: Http_types.daemon_mode -> ?root: string -> - (string -> (string * string) list -> out_channel -> unit) -> - unit - - (** identical to 'start' above but callback receive two arguments, the second - one is an out_channel as per 'start', but the secondo one is a Request.request - object *) -val start': - ?addr: string -> ?port: int -> - ?timeout: int option -> ?mode: Http_types.daemon_mode -> ?root: string -> - (Http_types.request -> out_channel -> unit) -> - unit - - (** Object oriented interface to HTTP daemons. - @param addr address on which daemon will listen for connections - @param port port which daemon will bind - see {! Http_types.daemon} *) -class daemon: - ?addr: string -> ?port: int -> - unit -> - Http_types.daemon - - (** Trivial static pages HTTP daemon. - Daemons created using this module will serve directory indexes and files found - starting from the working directory *) -module Trivial : - sig - (** callback function, exposed if you like to use it as a basis to define - a more powerful daemon *) - val callback : string -> 'a -> out_channel -> unit - - (** start the "trivial" HTTP daemon *) - val start : ?addr:string -> ?port:int -> unit -> unit - end - diff --git a/helm/DEVEL/ocaml-http/http_message.ml b/helm/DEVEL/ocaml-http/http_message.ml deleted file mode 100644 index 56a9e8dc7..000000000 --- a/helm/DEVEL/ocaml-http/http_message.ml +++ /dev/null @@ -1,118 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_common;; -open Http_constants;; -open Http_types;; -open Printf;; - - (* remove all bindings of 'name' from hashtbl 'tbl' *) -let rec hashtbl_remove_all tbl name = - if not (Hashtbl.mem tbl name) then - raise (Header_not_found name); - Hashtbl.remove tbl name; - if Hashtbl.mem tbl name then hashtbl_remove_all tbl name -;; - -class virtual message ~body ~headers ~version ~clisockaddr ~srvsockaddr = - - let ((cliaddr, cliport), (srvaddr, srvport)) = - (Http_misc.explode_sockaddr clisockaddr, - Http_misc.explode_sockaddr srvsockaddr) - in - - object (self) - - val _contentsBuf = Buffer.create 1024 - val _headers = Hashtbl.create 11 - val mutable _version: version option = version - - initializer - self#setBody body; - self#addHeaders headers - - method version = _version - method setVersion v = _version <- Some v - - method body = Buffer.contents _contentsBuf - method setBody c = - Buffer.clear _contentsBuf; - Buffer.add_string _contentsBuf c - method bodyBuf = _contentsBuf - method setBodyBuf b = - Buffer.clear _contentsBuf; - Buffer.add_buffer _contentsBuf b - method addBody s = Buffer.add_string _contentsBuf s - method addBodyBuf b = Buffer.add_buffer _contentsBuf b - - method addHeader ~name ~value = - let name = String.lowercase name in - Http_parser_sanity.heal_header (name, value); - Hashtbl.add _headers name value - method addHeaders = - List.iter (fun (name, value) -> self#addHeader ~name ~value) - method replaceHeader ~name ~value = - let name = String.lowercase name in - Http_parser_sanity.heal_header (name, value); - Hashtbl.replace _headers name value - method replaceHeaders = - List.iter (fun (name, value) -> self#replaceHeader ~name ~value) - method removeHeader ~name = - let name = String.lowercase name in - hashtbl_remove_all _headers name - method hasHeader ~name = - let name = String.lowercase name in - Hashtbl.mem _headers name - method header ~name = - if not (self#hasHeader name) then raise (Header_not_found name); - let name = String.lowercase name in - String.concat ", " (List.rev (Hashtbl.find_all _headers name)) - method headers = - List.rev - (Hashtbl.fold - (fun name _ headers -> (name, self#header ~name)::headers) - _headers - []) - - method clientSockaddr = clisockaddr - method clientAddr = cliaddr - method clientPort = cliport - - method serverSockaddr = srvsockaddr - method serverAddr = srvaddr - method serverPort = srvport - - method private virtual fstLineToString: string - method toString = - self#fstLineToString ^ (* {request,status} line *) - crlf ^ - (String.concat (* headers, crlf terminated *) - "" - (List.map (fun (h,v) -> h ^ ": " ^ v ^ crlf) self#headers)) ^ - (sprintf "Content-Length: %d" (String.length self#body)) ^ crlf ^ - crlf ^ - self#body (* body *) - method serialize outchan = - output_string outchan self#toString; - flush outchan - - end - diff --git a/helm/DEVEL/ocaml-http/http_message.mli b/helm/DEVEL/ocaml-http/http_message.mli deleted file mode 100644 index 6c78c0c0e..000000000 --- a/helm/DEVEL/ocaml-http/http_message.mli +++ /dev/null @@ -1,130 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Object Oriented representation of HTTP messages *) - -open Http_types;; - - (** OO representation of an HTTP message - @param entity body included in the message - @param headers message headers shipped with the message *) -class virtual message: - body: string -> headers: (string * string) list -> version: version option -> - clisockaddr: Unix.sockaddr -> srvsockaddr: Unix.sockaddr -> - object - - (** @return message HTTP version, it can be None because older version - of the HTTP protocol don't require HTTP version to be told between - message source and destination *) - method version: version option - - (** set message HTTP version *) - method setVersion: version -> unit - - (** @return message body *) - method body: string - - (** set message body *) - method setBody: string -> unit - - (** @return a Buffer.t connected to message body (Warning: changing this - buffer will change message body too) *) - method bodyBuf: Buffer.t - - (** set a new Buffer.t used to keep message body *) - method setBodyBuf: Buffer.t -> unit - - (** append a string to message body *) - method addBody: string -> unit - - (** append a whole buffer to message body *) - method addBodyBuf: Buffer.t -> unit - - (** {i header name comparison are performed in a case-insensitive manner - as required by RFC2616, actually the implementation works converting all - header names in lowercase} *) - - (** add an HTTP header - @param name header's name - @param value header's value *) - method addHeader: name:string -> value:string -> unit - - (** add a list of HTTP headers - @param headers a list of pairs: header_name, header_value *) - method addHeaders: (string * string) list -> unit - - (** like addHeader but replace previous definition of the same header *) - method replaceHeader: name:string -> value:string -> unit - - (** like addHeaders but replace previous definition of headers that were - already defined *) - method replaceHeaders: (string * string) list -> unit - - (** remove _all_ occurences of an HTTP header from the message - @param name name of the header to be removed *) - method removeHeader: name:string -> unit - - (** @return true if given header exists in message, false otherwise *) - method hasHeader: name:string -> bool - - (** @return value associated to a given header - @param name name of the header to lookup - @raise Header_not_found if given header wasn't defined in message *) - method header: name:string -> string - - (** @return the full set of headers defined for this message, the value - returned is an association list from headers name to headers value, an - header may occurs more that once in the list *) - method headers: (string * string) list - - - (** @return client Unix.sockaddr *) - method clientSockaddr: Unix.sockaddr - - (** @return client address pretty printed *) - method clientAddr: string - - (** @return client port *) - method clientPort: int - - (** @return server Unix.sockaddr *) - method serverSockaddr: Unix.sockaddr - - (** @return server address pretty printed *) - method serverAddr: string - - (** @return server port *) - method serverPort: int - - - (** @return for requests first request line, for responses first - response line. - User by derived requests and responses to implement toString method *) - method private virtual fstLineToString: string - - (** @return a string representation of the message *) - method toString: string - - (** serialize the message over an output channel *) - method serialize: out_channel -> unit - - end - diff --git a/helm/DEVEL/ocaml-http/http_misc.ml b/helm/DEVEL/ocaml-http/http_misc.ml deleted file mode 100644 index fcec70ca5..000000000 --- a/helm/DEVEL/ocaml-http/http_misc.ml +++ /dev/null @@ -1,141 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_types;; - -let date_822 () = - Netdate.mk_mail_date ~zone:Netdate.localzone (Unix.time ()) - -let is_directory name = - match Unix.lstat name with - | { Unix.st_kind = Unix.S_DIR } -> true - | _ -> false - -let filesize fname = (Unix.stat fname).Unix.st_size - -let strip_trailing_slash = - let rex = Pcre.regexp "/$" in - fun s -> Pcre.replace ~rex ~templ:"" s - -let strip_heading_slash = - let rex = Pcre.regexp "^/" in - fun s -> Pcre.replace ~rex ~templ:"" s - -let ls dir = - let rec ls' entries = - try ls' ((Unix.readdir dir)::entries) with End_of_file -> entries - in - ls' [] - -let string_explode s = - let rec string_explode' acc = function - | "" -> acc - | s -> string_explode' (s.[0] :: acc) (String.sub s 1 (String.length s - 1)) - in - List.rev (string_explode' [] s) - -let string_implode = List.fold_left (fun s c -> s ^ (String.make 1 c)) "" - -let reason_phrase_of_code = function - | 100 -> "Continue" - | 101 -> "Switching protocols" - | 200 -> "OK" - | 201 -> "Created" - | 202 -> "Accepted" - | 203 -> "Non authoritative information" - | 204 -> "No content" - | 205 -> "Reset content" - | 206 -> "Partial content" - | 300 -> "Multiple choices" - | 301 -> "Moved permanently" - | 302 -> "Found" - | 303 -> "See other" - | 304 -> "Not modified" - | 305 -> "Use proxy" - | 307 -> "Temporary redirect" - | 400 -> "Bad request" - | 401 -> "Unauthorized" - | 402 -> "Payment required" - | 403 -> "Forbidden" - | 404 -> "Not found" - | 405 -> "Method not allowed" - | 406 -> "Not acceptable" - | 407 -> "Proxy authentication required" - | 408 -> "Request time out" - | 409 -> "Conflict" - | 410 -> "Gone" - | 411 -> "Length required" - | 412 -> "Precondition failed" - | 413 -> "Request entity too large" - | 414 -> "Request URI too large" - | 415 -> "Unsupported media type" - | 416 -> "Requested range not satisfiable" - | 417 -> "Expectation failed" - | 500 -> "Internal server error" - | 501 -> "Not implemented" - | 502 -> "Bad gateway" - | 503 -> "Service unavailable" - | 504 -> "Gateway time out" - | 505 -> "HTTP version not supported" - | invalid_code -> raise (Invalid_code invalid_code) - -let build_sockaddr (addr, port) = - try - Unix.ADDR_INET ((Unix.gethostbyname addr).Unix.h_addr_list.(0), port) - with Not_found -> failwith ("OCaml-HTTP, can't resolve hostname: " ^ addr) - -let explode_sockaddr = function - | Unix.ADDR_INET (addr, port) -> (Unix.string_of_inet_addr addr, port) - | _ -> assert false (* can explode only inet address *) - -let peername_of_out_channel outchan = - Unix.getpeername (Unix.descr_of_out_channel outchan) -let peername_of_in_channel inchan = - Unix.getpeername (Unix.descr_of_in_channel inchan) -let sockname_of_out_channel outchan = - Unix.getsockname (Unix.descr_of_out_channel outchan) -let sockname_of_in_channel inchan = - Unix.getsockname (Unix.descr_of_in_channel inchan) - -let buf_of_inchan ?limit ic = - let buf = Buffer.create 10240 in - let tmp = String.make 1024 '\000' in - let rec buf_of_inchan' limit = - (match limit with - | None -> - let bytes = input ic tmp 0 1024 in - if bytes > 0 then begin - Buffer.add_substring buf tmp 0 bytes; - buf_of_inchan' None - end - | Some lim -> (* TODO what about using a single really_input call? *) - let bytes = input ic tmp 0 (min lim 1024) in - if bytes > 0 then begin - Buffer.add_substring buf tmp 0 bytes; - buf_of_inchan' (Some (lim - bytes)) - end) - in - (try buf_of_inchan' limit with End_of_file -> ()); - buf - -let list_assoc_all key pairs = - snd (List.split (List.filter (fun (k, v) -> k = key) pairs)) - diff --git a/helm/DEVEL/ocaml-http/http_misc.mli b/helm/DEVEL/ocaml-http/http_misc.mli deleted file mode 100644 index b5972f830..000000000 --- a/helm/DEVEL/ocaml-http/http_misc.mli +++ /dev/null @@ -1,85 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Helpers and other not better classified functions which should not be -exposed in the final API *) - - (** @return the current date compliant to RFC 1123, which updates RFC 822 - zone info are retrieved from UTC *) -val date_822: unit -> string - - (** @return true if 'name' is a directory on the file system, false otherwise - *) -val is_directory: string -> bool - - (** @return the filesize of fname *) -val filesize: string -> int - - (** strip trailing '/', if any, from a string and @return the new string *) -val strip_trailing_slash: string -> string - - (** strip heading '/', if any, from a string and @return the new string *) -val strip_heading_slash: string -> string - - (** given a dir handle @return a list of entries contained *) -val ls: Unix.dir_handle -> string list - - (** explode a string in a char list *) -val string_explode: string -> char list - - (** implode a char list in a string *) -val string_implode: char list -> string - - (** given an HTTP response code return the corresponding reason phrase *) -val reason_phrase_of_code: int -> string - - (** build a Unix.sockaddr inet address from a string representation of an IP - address and a port number *) -val build_sockaddr: string * int -> Unix.sockaddr - - (** explode an _inet_ Unix.sockaddr address in a string representation of an - IP address and a port number *) -val explode_sockaddr: Unix.sockaddr -> string * int - - (** given an out_channel build on top of a socket, return peername related to - that socket *) -val peername_of_out_channel: out_channel -> Unix.sockaddr - - (** as above but works on in_channels *) -val peername_of_in_channel: in_channel -> Unix.sockaddr - - (** given an out_channel build on top of a socket, return sockname related to - that socket *) -val sockname_of_out_channel: out_channel -> Unix.sockaddr - - (** as above but works on in_channels *) -val sockname_of_in_channel: in_channel -> Unix.sockaddr - - (* TODO replace with Buffer.add_channel which does almost the same :-((( *) - (** reads from an input channel till it End_of_file and returns what has been - read; if limit is given returned buffer will contains at most first 'limit' - bytes read from input channel *) -val buf_of_inchan: ?limit: int -> in_channel -> Buffer.t - - (** like List.assoc but return all bindings of a given key instead of the - leftmost one only *) -val list_assoc_all: 'a -> ('a * 'b) list -> 'b list - diff --git a/helm/DEVEL/ocaml-http/http_parser.ml b/helm/DEVEL/ocaml-http/http_parser.ml deleted file mode 100644 index 1660da3fe..000000000 --- a/helm/DEVEL/ocaml-http/http_parser.ml +++ /dev/null @@ -1,160 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Printf;; - -open Http_common;; -open Http_types;; -open Http_constants;; - -let (bindings_sep, binding_sep, pieces_sep, header_sep) = - (Pcre.regexp "&", Pcre.regexp "=", Pcre.regexp " ", Pcre.regexp ":") -let header_RE = Pcre.regexp "([^:]*):(.*)" - -let url_decode url = Netencoding.Url.decode ~plus:true url - -let split_query_params query = - let bindings = Pcre.split ~rex:bindings_sep query in - match bindings with - | [] -> raise (Malformed_query query) - | bindings -> - List.map - (fun binding -> - match Pcre.split ~rex:binding_sep binding with - | [ ""; b ] -> (* '=b' *) - raise (Malformed_query_part (binding, query)) - | [ a; b ] -> (* 'a=b' *) (url_decode a, url_decode b) - | [ a ] -> (* 'a=' || 'a' *) (url_decode a, "") - | _ -> raise (Malformed_query_part (binding, query))) - bindings - - (** internal, used by generic_input_line *) -exception Line_completed;; - - (** given an input channel and a separator - @return a line read from it (like Pervasives.input_line) - line is returned only after reading a separator string; separator string isn't - included in the returned value - TODO what about efficiency?, input is performed char-by-char - *) -let generic_input_line ~sep ~ic = - let sep_len = String.length sep in - if sep_len < 1 then - failwith ("Separator '" ^ sep ^ "' is too short!") - else (* valid separator *) - let line = ref "" in - let sep_pointer = ref 0 in - try - while true do - if !sep_pointer >= String.length sep then (* line completed *) - raise Line_completed - else begin (* incomplete line: need to read more *) - let ch = input_char ic in - if ch = String.get sep !sep_pointer then (* next piece of sep *) - incr sep_pointer - else begin (* useful char *) - for i = 0 to !sep_pointer - 1 do - line := !line ^ (String.make 1 (String.get sep i)) - done; - sep_pointer := 0; - line := !line ^ (String.make 1 ch) - end - end - done; - assert false (* unreacheable statement *) - with Line_completed -> !line - -let patch_empty_path = function "" -> "/" | s -> s -let debug_dump_request path params = - debug_print - (sprintf - "recevied request; path: %s; params: %s" - path - (String.concat ", " (List.map (fun (n, v) -> n ^ "=" ^ v) params))) - -let parse_request_fst_line ic = - let request_line = generic_input_line ~sep:crlf ~ic in - debug_print (sprintf "HTTP request line (not yet parsed): %s" request_line); - try - (match Pcre.split ~rex:pieces_sep request_line with - | [ meth_raw; uri_raw ] -> (* ancient HTTP request line *) - (method_of_string meth_raw, (* method *) - Http_parser_sanity.url_of_string uri_raw, (* uri *) - None) (* no version given *) - | [ meth_raw; uri_raw; http_version_raw ] -> (* HTTP 1.{0,1} *) - (method_of_string meth_raw, (* method *) - Http_parser_sanity.url_of_string uri_raw, (* uri *) - Some (version_of_string http_version_raw)) (* version *) - | _ -> raise (Malformed_request request_line)) - with Malformed_URL url -> raise (Malformed_request_URI url) - -let parse_response_fst_line ic = - let response_line = generic_input_line ~sep:crlf ~ic in - debug_print (sprintf "HTTP response line (not yet parsed): %s" response_line); - try - (match Pcre.split ~rex:pieces_sep response_line with - | [ version_raw; code_raw; _ ] -> - (version_of_string version_raw, (* method *) - status_of_code (int_of_string code_raw)) (* status *) - | _ -> raise (Malformed_response response_line)) - with - | Malformed_URL _ | Invalid_code _ | Failure "int_of_string" -> - raise (Malformed_response response_line) - -let parse_path uri = patch_empty_path (String.concat "/" (Neturl.url_path uri)) -let parse_query_get_params uri = - try (* act on HTTP encoded URIs *) - split_query_params (Neturl.url_query ~encoded:true uri) - with Not_found -> [] - -let parse_headers ic = - (* consume also trailing "^\r\n$" line *) - let rec parse_headers' headers = - match generic_input_line ~sep:crlf ~ic with - | "" -> List.rev headers - | line -> - (let subs = - try - Pcre.extract ~rex:header_RE line - with Not_found -> raise (Invalid_header line) - in - let header = - try - subs.(1) - with Invalid_argument "Array.get" -> raise (Invalid_header line) - in - let value = - try - Http_parser_sanity.normalize_header_value subs.(2) - with Invalid_argument "Array.get" -> "" - in - Http_parser_sanity.heal_header (header, value); - parse_headers' ((header, value) :: headers)) - in - parse_headers' [] - -let parse_request ic = - let (meth, uri, version) = parse_request_fst_line ic in - let path = parse_path uri in - let query_get_params = parse_query_get_params uri in - debug_dump_request path query_get_params; - (path, query_get_params) - diff --git a/helm/DEVEL/ocaml-http/http_parser.mli b/helm/DEVEL/ocaml-http/http_parser.mli deleted file mode 100644 index a49a8fe89..000000000 --- a/helm/DEVEL/ocaml-http/http_parser.mli +++ /dev/null @@ -1,68 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** HTTP messages parsing *) - -open Http_types;; - - (** given an HTTP like query string (e.g. "name1=value1&name2=value2&...") - @return a list of pairs [("name1", "value1"); ("name2", "value2")] - @raise Malformed_query if the string isn't a valid query string - @raise Malformed_query_part if some piece of the query isn't valid - *) -val split_query_params: string -> (string * string) list - - (** parse 1st line of an HTTP request - @param inchan input channel from which parse request - @return a triple meth * url * version, meth is the HTTP method invoked, url is - the requested url, version is the HTTP version specified or None if no version - was specified - @raise Malformed_request if request 1st linst isn't well formed - @raise Malformed_request_URI if requested URI isn't well formed *) -val parse_request_fst_line: in_channel -> meth * Neturl.url * version option - - (** parse 1st line of an HTTP response - * @param inchan input channel from which parse response - * @raise Malformed_response if first line isn't well formed - *) -val parse_response_fst_line: in_channel -> version * status - - (** parse HTTP GET parameters from an URL; paramater which were passed with no - value (like 'x' in "/foo.cgi?a=10&x=&c=9") are returned associated with the - empty ("") string. - @return a list of pairs param_name * param_value *) -val parse_query_get_params: Neturl.url -> (string * string) list - - (** parse the base path (removing query string, fragment, ....) from an URL *) -val parse_path: Neturl.url -> string - - (** parse HTTP headers. Consumes also trailing CRLF at the end of header list - @param inchan input channel from which parse headers - @return a list of pairs header_name * header_value - @raise Invalid_header if a not well formed header is encountered *) -val parse_headers: in_channel -> (string * string) list - - (** given an input channel, reads from it a GET HTTP request and - @return a pair where path is a string representing the - requested path and query_params is a list of pairs (the GET - parameters) *) -val parse_request: in_channel -> string * (string * string) list - diff --git a/helm/DEVEL/ocaml-http/http_parser_sanity.ml b/helm/DEVEL/ocaml-http/http_parser_sanity.ml deleted file mode 100644 index f65b5b169..000000000 --- a/helm/DEVEL/ocaml-http/http_parser_sanity.ml +++ /dev/null @@ -1,114 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Neturl;; -open Printf;; - -open Http_types;; -open Http_constants;; - -(* -type url_syntax_option = - Url_part_not_recognized - | Url_part_allowed - | Url_part_required - -* (1) scheme://user:password@host:port/path;params?query#fragment -*) - -let request_uri_syntax = { - url_enable_scheme = Url_part_not_recognized; - url_enable_user = Url_part_not_recognized; - url_enable_user_param= Url_part_not_recognized; - url_enable_password = Url_part_not_recognized; - url_enable_host = Url_part_not_recognized; - url_enable_port = Url_part_not_recognized; - url_enable_path = Url_part_required; - url_enable_param = Url_part_not_recognized; - url_enable_query = Url_part_allowed; - url_enable_fragment = Url_part_not_recognized; - url_enable_other = Url_part_not_recognized; - url_accepts_8bits = false; - url_enable_relative = true; - url_is_valid = (fun _ -> true); -} - - (* convention: - foo_RE_raw is the uncompiled regexp matching foo - foo_RE is the compiled regexp matching foo - is_foo is the predicate over string matching foo - *) - -let separators_RE_raw = "()<>@,;:\\\\\"/\\[\\]?={} \t" -let ctls_RE_raw = "\\x00-\\x1F\\x7F" -let token_RE_raw = "[^" ^ separators_RE_raw ^ ctls_RE_raw ^ "]+" -let lws_RE_raw = "(\r\n)?[ \t]" -let quoted_string_RE_raw = "\"(([^\"])|(\\\\\"))*\"" -let text_RE_raw = "(([^" ^ ctls_RE_raw ^ "])|(" ^ lws_RE_raw ^ "))+" -let field_content_RE_raw = - sprintf - "^(((%s)|(%s)|(%s))|(%s))*$" - token_RE_raw - separators_RE_raw - quoted_string_RE_raw - text_RE_raw -(* - (* following RFC 2616 specifications *) -let field_value_RE_raw = "((" ^ field_content_RE_raw ^ ")|(" ^ lws_RE_raw^ "))*" -*) - (* smarter implementation: TEXT production is included in the regexp below *) -let field_value_RE_raw = - sprintf - "^((%s)|(%s)|(%s)|(%s))*$" - token_RE_raw - separators_RE_raw - quoted_string_RE_raw - lws_RE_raw - -let token_RE = Pcre.regexp ("^" ^ token_RE_raw ^ "$") -let field_value_RE = Pcre.regexp ("^" ^ field_value_RE_raw ^ "$") -let heading_lws_RE = Pcre.regexp (sprintf "^%s*" lws_RE_raw) -let trailing_lws_RE = Pcre.regexp (sprintf "%s*$" lws_RE_raw) - -let is_token s = Pcre.pmatch ~rex:token_RE s -let is_field_name = is_token -let is_field_value s = Pcre.pmatch ~rex:field_value_RE s - -let heal_header_name s = - if not (is_field_name s) then raise (Invalid_header_name s) else () - -let heal_header_value s = - if not (is_field_value s) then raise (Invalid_header_value s) else () - -let normalize_header_value s = - Pcre.replace ~rex:trailing_lws_RE - (Pcre.replace ~rex:heading_lws_RE s) - -let heal_header (name, value) = - heal_header_name name; - heal_header_value name - -let url_of_string s = - try - url_of_string request_uri_syntax s - with Neturl.Malformed_URL -> raise (Malformed_URL s) -let string_of_url = Neturl.string_of_url - diff --git a/helm/DEVEL/ocaml-http/http_parser_sanity.mli b/helm/DEVEL/ocaml-http/http_parser_sanity.mli deleted file mode 100644 index f8dd220df..000000000 --- a/helm/DEVEL/ocaml-http/http_parser_sanity.mli +++ /dev/null @@ -1,46 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Sanity test functions related to HTTP message parsing *) - - (** @param name an HTTP header name - @raise Invalid_header_name if name isn't a valid HTTP header name *) -val heal_header_name: string -> unit - - (** @param value an HTTP header value - @raise Invalid_header_value if value isn't a valid HTTP header value *) -val heal_header_value: string -> unit - - (** @param header a pair header_name * header_value - @raise Invalid_header_name if name isn't a valid HTTP header name - @raise Invalid_header_value if value isn't a valid HTTP header value *) -val heal_header: string * string -> unit - - (** remove heading and/or trailing LWS sequences as per RFC2616 *) -val normalize_header_value: string -> string - - (** parse an URL from a string. - @raise Malformed_URL if an invalid URL is encountered *) -val url_of_string: string -> Neturl.url - - (** pretty print an URL *) -val string_of_url: Neturl.url -> string - diff --git a/helm/DEVEL/ocaml-http/http_request.ml b/helm/DEVEL/ocaml-http/http_request.ml deleted file mode 100644 index c2f2a9f48..000000000 --- a/helm/DEVEL/ocaml-http/http_request.ml +++ /dev/null @@ -1,143 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Printf;; - -open Http_common;; -open Http_types;; - -let debug_dump_request path params = - debug_print ("request path = " ^ path); - debug_print ( - sprintf"request params = %s" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) params))) - -let auth_sep_RE = Pcre.regexp ":" -let basic_auth_RE = Pcre.regexp "^Basic\\s+" - -exception Fallback;; (* used internally by request class *) - -class request ic = - let (meth, uri, version) = Http_parser.parse_request_fst_line ic in - let uri_str = Neturl.string_of_url uri in - let path = Http_parser.parse_path uri in - let query_get_params = Http_parser.parse_query_get_params uri in - let (headers, body) = - (match version with - | None -> [], "" (* No version given, use request's 1st line only *) - | Some version -> (* Version specified, parse also headers and body *) - let headers = - List.map (* lowercase header names to ease lookups before having a - request object *) - (fun (h,v) -> (String.lowercase h, v)) - (Http_parser.parse_headers ic) (* trailing \r\n consumed! *) - in - let body = - (* TODO fallback on size defined in Transfer-Encoding if - Content-Length isn't defined *) - if meth = `POST then - Buffer.contents - (try (* read only Content-Length bytes *) - let limit_raw = - (try - List.assoc "content-length" headers - with Not_found -> raise Fallback) - in - let limit = - (try (* TODO supports only a maximum content-length of 1Gb *) - int_of_string limit_raw - with Failure "int_of_string" -> - raise (Invalid_header ("content-length: " ^ limit_raw))) - in - Http_misc.buf_of_inchan ~limit ic - with Fallback -> Http_misc.buf_of_inchan ic) (* read until EOF *) - else (* TODO empty body for methods other than POST, is ok? *) - "" - in - (headers, body)) - in - let query_post_params = - match meth with - | `POST -> - let ct = try List.assoc "content-type" headers with Not_found -> "" in - if ct = "application/x-www-form-urlencoded" then - Http_parser.split_query_params body - else [] - | _ -> [] - in - let params = query_post_params @ query_get_params in (* prefers POST params *) - let _ = debug_dump_request path params in - let (clisockaddr, srvsockaddr) = - (Http_misc.peername_of_in_channel ic, Http_misc.sockname_of_in_channel ic) - in - - object (self) - - inherit - Http_message.message ~body ~headers ~version ~clisockaddr ~srvsockaddr - - val params_tbl = - let tbl = Hashtbl.create (List.length params) in - List.iter (fun (n,v) -> Hashtbl.add tbl n v) params; - tbl - - method meth = meth - method uri = uri_str - method path = path - method param ?meth name = - (match (meth: meth option) with - | None -> - (try - Hashtbl.find params_tbl name - with Not_found -> raise (Param_not_found name)) - | Some `GET -> List.assoc name query_get_params - | Some `POST -> List.assoc name query_post_params) - method paramAll ?meth name = - (match (meth: meth option) with - | None -> List.rev (Hashtbl.find_all params_tbl name) - | Some `GET -> Http_misc.list_assoc_all name query_get_params - | Some `POST -> Http_misc.list_assoc_all name query_post_params) - method params = params - method params_GET = query_get_params - method params_POST = query_post_params - - method private fstLineToString = - let method_string = string_of_method self#meth in - match self#version with - | Some version -> - sprintf "%s %s %s" method_string self#uri (string_of_version version) - | None -> sprintf "%s %s" method_string self#uri - - method authorization: auth_info option = - try - let credentials = - Netencoding.Base64.decode - (Pcre.replace ~rex:basic_auth_RE (self#header "authorization")) - in - debug_print ("HTTP Basic auth credentials: " ^ credentials); - (match Pcre.split ~rex:auth_sep_RE credentials with - | [username; password] -> Some (`Basic (username, password)) - | l -> raise Exit) - with Header_not_found _ | Invalid_argument _ | Exit -> None - - end - diff --git a/helm/DEVEL/ocaml-http/http_request.mli b/helm/DEVEL/ocaml-http/http_request.mli deleted file mode 100644 index 9127032bd..000000000 --- a/helm/DEVEL/ocaml-http/http_request.mli +++ /dev/null @@ -1,29 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Object Oriented representation of HTTP requests *) - -open Http_types;; - - (** OO representation of an HTTP request - @param inchan input channel from which parse an HTTP request *) -class request: in_channel -> Http_types.request - diff --git a/helm/DEVEL/ocaml-http/http_response.ml b/helm/DEVEL/ocaml-http/http_response.ml deleted file mode 100644 index 6b2351999..000000000 --- a/helm/DEVEL/ocaml-http/http_response.ml +++ /dev/null @@ -1,118 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Http_types;; -open Http_constants;; -open Http_common;; -open Http_daemon;; -open Printf;; - -let status_line_RE = Pcre.regexp "^(HTTP/\\d\\.\\d) (\\d{3}) (.*)$" - -let anyize = function - | Some addr -> addr - | None -> Unix.ADDR_INET (Unix.inet_addr_any, -1) - -class response - (* Warning: keep default values in sync with Http_daemon.respond function *) - ?(body = "") ?(headers = []) ?(version = http_version) - ?clisockaddr ?srvsockaddr (* optional because response have to be easily - buildable in callback functions *) - ?(code = 200) ?status - () - = - - (** if no address were supplied for client and/or server, use a foo address - instead *) - let (clisockaddr, srvsockaddr) = (anyize clisockaddr, anyize srvsockaddr) in - - (* "version code reason_phrase" *) - object (self) - - (* note that response objects can't be created with a None version *) - inherit - Http_message.message - ~body ~headers ~version:(Some version) ~clisockaddr ~srvsockaddr - - val mutable _code = - match status with - | None -> code - | Some (s: Http_types.status) -> code_of_status s - val mutable _reason: string option = None - - method private getRealVersion = - match self#version with - | None -> - failwith ("Http_response.fstLineToString: " ^ - "can't serialize an HTTP response with no HTTP version defined") - | Some v -> string_of_version v - - method code = _code - method setCode c = - ignore (status_of_code c); (* sanity check on c *) - _code <- c - method status = status_of_code _code - method setStatus (s: Http_types.status) = _code <- code_of_status s - method reason = - match _reason with - | None -> Http_misc.reason_phrase_of_code _code - | Some r -> r - method setReason r = _reason <- Some r - method statusLine = - String.concat " " - [self#getRealVersion; string_of_int self#code; self#reason] - method setStatusLine s = - try - let subs = Pcre.extract ~rex:status_line_RE s in - self#setVersion (version_of_string subs.(1)); - self#setCode (int_of_string subs.(2)); - self#setReason subs.(3) - with Not_found -> - raise (Invalid_status_line s) - - method isInformational = is_informational _code - method isSuccess = is_success _code - method isRedirection = is_redirection _code - method isClientError = is_client_error _code - method isServerError = is_server_error _code - method isError = is_error _code - - (* FIXME duplication of code between this and send_basic_headers *) - method addBasicHeaders = - self#addHeader ~name:"Date" ~value:(Http_misc.date_822 ()); - self#addHeader ~name:"Server" ~value:server_string - - method contentType = self#header "Content-Type" - method setContentType t = self#replaceHeader "Content-Type" t - method contentEncoding = self#header "Content-Encoding" - method setContentEncoding e = self#replaceHeader "Content-Encoding" e - method date = self#header "Date" - method setDate d = self#replaceHeader "Date" d - method expires = self#header "Expires" - method setExpires t = self#replaceHeader "Expires" t - method server = self#header "Server" - method setServer s = self#replaceHeader "Server" s - - method private fstLineToString = - sprintf "%s %d %s" self#getRealVersion self#code self#reason - - end - diff --git a/helm/DEVEL/ocaml-http/http_response.mli b/helm/DEVEL/ocaml-http/http_response.mli deleted file mode 100644 index d1baa5e9e..000000000 --- a/helm/DEVEL/ocaml-http/http_response.mli +++ /dev/null @@ -1,33 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Object Oriented representation of HTTP responses *) - -open Http_types;; - - (** OO representation of an HTTP response. *) -class response: - ?body:string -> ?headers:(string * string) list -> ?version: version -> - ?clisockaddr: Unix.sockaddr -> ?srvsockaddr: Unix.sockaddr -> - ?code:int -> ?status:Http_types.status -> - unit -> - Http_types.response - diff --git a/helm/DEVEL/ocaml-http/http_tcp_server.ml b/helm/DEVEL/ocaml-http/http_tcp_server.ml deleted file mode 100644 index 699e8cfdc..000000000 --- a/helm/DEVEL/ocaml-http/http_tcp_server.ml +++ /dev/null @@ -1,169 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - - - (** raised when a client timeouts *) -exception Timeout;; - -let backlog = 10;; - - (** if timeout is given (Some _) @return a new callback which establish - timeout_callback as callback for signal Sys.sigalrm and register an alarm - (expiring after timeout seconds) before invoking the real callback given. If - timeout is None, callback is returned unchanged. *) -let wrap_callback_w_timeout ~callback ~timeout ~timeout_callback = - match timeout with - | None -> callback - | Some timeout -> (* wrap callback setting an handler for ALRM signal and an - alarm that ring after timeout seconds *) - (fun inchan outchan -> - ignore (Sys.signal Sys.sigalrm (Sys.Signal_handle timeout_callback)); - ignore (Unix.alarm timeout); - callback inchan outchan) - - (* try to close nicely a socket *) -let shutdown_socket suck = - try - Unix.shutdown suck Unix.SHUTDOWN_ALL - with Unix.Unix_error(_, "shutdown", "") -> () - -let nice_unix_accept suck = - try - Unix.accept suck - with e -> (* clean up socket before exit *) - shutdown_socket suck; - raise e - -let init_socket sockaddr = - let suck = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in - (* shutdown socket on SIGTERM *) - ignore (Sys.signal Sys.sigterm - (Sys.Signal_handle - (fun _ -> shutdown_socket suck; exit 17))); - Unix.setsockopt suck Unix.SO_REUSEADDR true; - Unix.bind suck sockaddr; - Unix.listen suck backlog; - suck - -let init_callback callback timeout = - let timeout_callback signo = - if signo = Sys.sigalrm then - raise Timeout - in - wrap_callback_w_timeout ~callback ~timeout ~timeout_callback - - (** DEPRECATED and no longer visibile in .mli interface, this server has been - replaced by 'fork'! - tcp_server which use Unix.establish_server which in turn forks a child for - each request *) -let ocaml_builtin ~sockaddr ~timeout callback = - let timeout_callback signo = - if signo = Sys.sigalrm then - exit 2 - in - Unix.establish_server - (wrap_callback_w_timeout ~callback ~timeout ~timeout_callback) - sockaddr - - (** like Unix.establish_server, but shutdown sockets when receiving SIGTERM - and before exiting for an uncaught exception *) -let my_establish_server server_fun sockaddr = - let suck = init_socket sockaddr in - while true do - let (s, caller) = nice_unix_accept suck in - (* "double fork" trick, see Unix.establish_server implementation *) - match Unix.fork() with - | 0 -> (* parent *) - (try - if Unix.fork () <> 0 then - exit 0; (* The son exits, the grandson works *) - let inchan = Unix.in_channel_of_descr s in - let outchan = Unix.out_channel_of_descr s in - server_fun inchan outchan; - close_out outchan; - (* The file descriptor was already closed by close_out. close_in - inchan; *) - exit 0 - with e -> - shutdown_socket suck; (* clean up socket before exit *) - raise e) - | child when (child > 0) -> (* child *) - Unix.close s; - ignore (Unix.waitpid [] child) (* Reclaim the son *) - | _ (* < 0 *) -> - failwith "Can't fork" - done - -let fork ~sockaddr ~timeout callback = - let timeout_callback signo = - if signo = Sys.sigalrm then - exit 2 - in - my_establish_server - (wrap_callback_w_timeout ~callback ~timeout ~timeout_callback) - sockaddr - - - (** tcp_server which doesn't fork, requests are server sequentially and in the - same address space of the calling process *) -let simple ~sockaddr ~timeout callback = - let suck = init_socket sockaddr in - let callback = init_callback callback timeout in - try - while true do - let (client, _) = Unix.accept suck in - (* client is now connected *) - let (inchan, outchan) = - (Unix.in_channel_of_descr client, Unix.out_channel_of_descr client) - in - (try - callback inchan outchan; - ignore (Unix.alarm 0) (* reset alarm *) - with Timeout -> ()); - close_out outchan (* this close also inchan: socket is the same *) - done - with e -> (* clean up socket before exit *) - shutdown_socket suck; - raise e - - (** tcp_server which creates a new thread for each request to be served *) -let thread ~sockaddr ~timeout callback = - let suck = init_socket sockaddr in - let callback = init_callback callback timeout in - let callback (i, o) = - try - callback i o; - close_out o - with - | Timeout -> close_out o - | e -> - close_out o; - raise e - in - while true do - let (client, _) = nice_unix_accept suck in - (* client is now connected *) - let (inchan, outchan) = - (Unix.in_channel_of_descr client, Unix.out_channel_of_descr client) - in - Http_threaded_tcp_server.serve callback (inchan, outchan) - done - diff --git a/helm/DEVEL/ocaml-http/http_tcp_server.mli b/helm/DEVEL/ocaml-http/http_tcp_server.mli deleted file mode 100644 index 6aaad3cbf..000000000 --- a/helm/DEVEL/ocaml-http/http_tcp_server.mli +++ /dev/null @@ -1,39 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** TCP servers used as low-levels for HTTP daemons *) - -(** {2 servers} *) - - (** single process server *) -val simple: Http_types.tcp_server - - (** multi threaded server *) -val thread: Http_types.tcp_server - - (** multi process server *) -val fork: Http_types.tcp_server - -(** {2 low level functions} *) - - (** initialize a passive socket listening on given Unix.sockaddr *) -val init_socket: Unix.sockaddr -> Unix.file_descr - diff --git a/helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli b/helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli deleted file mode 100644 index fecdea50c..000000000 --- a/helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli +++ /dev/null @@ -1,26 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Multithreaded part of Http_tcp_server *) - - (** serve an HTTP request for a multi threaded TCP server *) -val serve : ('a -> 'b) -> 'a -> unit - diff --git a/helm/DEVEL/ocaml-http/http_types.ml b/helm/DEVEL/ocaml-http/http_types.ml deleted file mode 100644 index 2175576b7..000000000 --- a/helm/DEVEL/ocaml-http/http_types.ml +++ /dev/null @@ -1,405 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Type definitions *) - - (** HTTP version, actually only 1.0 and 1.1 are supported. Note that - 'supported' here means only 'accepted inside a HTTP request line', no - different behaviours are actually implemented depending on HTTP version *) -type version = - [ `HTTP_1_0 - | `HTTP_1_1 - ] - - (** HTTP method, actually only GET and POST methods are supported *) -type meth = - [ `GET - | `POST - ] - - (** Daemon behaviour wrt request handling. `Single mode use a single process - to handle all requests, no request is served until a previous one has been - fully served. `Fork mode fork a new process for each request, the new process - will execute the callback function and then exit. `Thread mode create a new - thread for each request, the new thread will execute the callback function and - then exit, threads can communicate using standard OCaml Thread library. *) -type daemon_mode = [ `Single | `Fork | `Thread ] - - (** A TCP server is a function taking an address on which bind and listen for - connections, an optional timeout after which abort client connections and a - callback function which in turn takes an input and an output channel as - arguments. After receiving this argument a TCP server sits and waits for - connection, on each connection it apply the callback function to channels - connected to client. *) -type tcp_server = - sockaddr:Unix.sockaddr -> timeout:int option -> - (in_channel -> out_channel -> unit) -> - unit - - (** authentication information *) -type auth_info = - [ `Basic of string * string (* username, password *) -(* | `Digest of ... (* TODO digest authentication *) *) - ] - - (** informational HTTP status, see RFC2616 *) -type informational_substatus = - [ `Continue - | `Switching_protocols - ] - - (** success HTTP status, see RFC2616 *) -type success_substatus = - [ `OK - | `Created - | `Accepted - | `Non_authoritative_information - | `No_content - | `Reset_content - | `Partial_content - ] - - (** redirection HTTP status, see RFC2616 *) -type redirection_substatus = - [ `Multiple_choices - | `Moved_permanently - | `Found - | `See_other - | `Not_modified - | `Use_proxy - | `Temporary_redirect - ] - - (** client error HTTP status, see RFC2616 *) -type client_error_substatus = - [ `Bad_request - | `Unauthorized - | `Payment_required - | `Forbidden - | `Not_found - | `Method_not_allowed - | `Not_acceptable - | `Proxy_authentication_required - | `Request_time_out - | `Conflict - | `Gone - | `Length_required - | `Precondition_failed - | `Request_entity_too_large - | `Request_URI_too_large - | `Unsupported_media_type - | `Requested_range_not_satisfiable - | `Expectation_failed - ] - - (** server error HTTP status, see RFC2616 *) -type server_error_substatus = - [ `Internal_server_error - | `Not_implemented - | `Bad_gateway - | `Service_unavailable - | `Gateway_time_out - | `HTTP_version_not_supported - ] - -type informational_status = [ `Informational of informational_substatus ] -type success_status = [ `Success of success_substatus ] -type redirection_status = [ `Redirection of redirection_substatus ] -type client_error_status = [ `Client_error of client_error_substatus ] -type server_error_status = [ `Server_error of server_error_substatus ] - -type error_status = - [ client_error_status - | server_error_status - ] - - (** HTTP status *) -type status = - [ informational_status - | success_status - | redirection_status - | client_error_status - | server_error_status - ] - -type status_code = [ `Code of int | `Status of status ] - - (** File sources *) -type file_source = - | FileSrc of string (** filename *) - | InChanSrc of in_channel (** input channel *) - - (** {2 Exceptions} *) - - (** invalid header encountered *) -exception Invalid_header of string - - (** invalid header name encountered *) -exception Invalid_header_name of string - - (** invalid header value encountered *) -exception Invalid_header_value of string - - (** unsupported or invalid HTTP version encountered *) -exception Invalid_HTTP_version of string - - (** unsupported or invalid HTTP method encountered *) -exception Invalid_HTTP_method of string - - (** invalid HTTP status code integer representation encountered *) -exception Invalid_code of int - - (** invalid URL encountered *) -exception Malformed_URL of string - - (** invalid query string encountered *) -exception Malformed_query of string - - (** invalid query string part encountered, arguments are parameter name and - parameter value *) -exception Malformed_query_part of string * string - - (** invalid request URI encountered *) -exception Malformed_request_URI of string - - (** malformed request received *) -exception Malformed_request of string - - (** malformed response received, argument is response's first line *) -exception Malformed_response of string - - (** a parameter you were looking for was not found *) -exception Param_not_found of string - - (** invalid HTTP status line encountered *) -exception Invalid_status_line of string - - (** an header you were looking for was not found *) -exception Header_not_found of string - - (** raisable by callbacks to make main daemon quit, this is the only - 'clean' way to make start functions return *) -exception Quit - - (** raisable by callbacks to force a 401 (unauthorized) HTTP answer. - * This exception should be raised _before_ sending any data over given out - * channel. - * @param realm authentication realm (usually needed to prompt user) *) -exception Unauthorized of string - - (** {2 OO representation of HTTP messages} *) - - (** HTTP generic messages. See {! Http_message.message} *) -class type message = object - - method version: version option - method setVersion: version -> unit - - method body: string - method setBody: string -> unit - method bodyBuf: Buffer.t - method setBodyBuf: Buffer.t -> unit - method addBody: string -> unit - method addBodyBuf: Buffer.t -> unit - - method addHeader: name:string -> value:string -> unit - method addHeaders: (string * string) list -> unit - method replaceHeader: name:string -> value:string -> unit - method replaceHeaders: (string * string) list -> unit - method removeHeader: name:string -> unit - method hasHeader: name:string -> bool - method header: name:string -> string - method headers: (string * string) list - - method clientSockaddr: Unix.sockaddr - method clientAddr: string - method clientPort: int - - method serverSockaddr: Unix.sockaddr - method serverAddr: string - method serverPort: int - - method toString: string - method serialize: out_channel -> unit - - end - - (** HTTP requests *) -class type request = object - - (** an HTTP request is a flavour of HTTP message *) - inherit message - - (** @return request method *) - method meth: meth - - (** @return requested URI (including query string, fragment, ...) *) - method uri: string - - (** @return requested path *) - method path: string - - (** lookup a given parameter - @param meth if given restrict the lookup area (e.g. if meth = POST than - only parameters received via POST are searched), if not given both GET and - POST parameter are searched in an unspecified order (actually the - implementation prefers POST parameters but this is not granted, you've - been warned) - @param name name of the parameter to lookup - @return value associated to parameter name - @raise Param_not_found if parameter name was not found *) - method param: ?meth:meth -> string -> string - - (** like param above but return a list of values associated to given - parameter (a parameter could be defined indeed more than once: passed more - than once in a query string or passed both insider the url (the GET way) - and inside message body (the POST way)) *) - method paramAll: ?meth:meth -> string -> string list - - (** @return the list of all received parameters *) - method params: (string * string) list - - (** @return the list of all parameters received via GET *) - method params_GET: (string * string) list - - (** @return the list of all parameter received via POST *) - method params_POST: (string * string) list - - (** @return authorization information, if given by the client *) - method authorization: auth_info option - - end - - (** HTTP responses *) -class type response = object - - inherit message - - (** @return response code *) - method code: int - - (** set response code *) - method setCode: int -> unit - - (** @return response status, see {! Http_types.status} *) - method status: status - - (** set response status *) - method setStatus: status -> unit - - (** @return reason string *) - method reason: string - - (** set reason string *) - method setReason: string -> unit - - (** @return status line *) - method statusLine: string - - (** set status line - @raise Invalid_status_line if an invalid HTTP status line was passed *) - method setStatusLine: string -> unit - - (** response is an informational one *) - method isInformational: bool - - (** response is a success one *) - method isSuccess: bool - - (** response is a redirection one *) - method isRedirection: bool - - (** response is a client error one *) - method isClientError: bool - - (** response is a server error one *) - method isServerError: bool - - (** response is either a client error or a server error response *) - method isError: bool - - (** add basic headers to response, see {! Http_daemon.send_basic_headers} - *) - method addBasicHeaders: unit - - (** facilities to access some frequently used headers *) - - (** @return Content-Type header value *) - method contentType: string - - (** set Content-Type header value *) - method setContentType: string -> unit - - (** @return Content-Encoding header value *) - method contentEncoding: string - - (** set Content-Encoding header value *) - method setContentEncoding: string -> unit - - (** @return Date header value *) - method date: string - - (** set Date header value *) - method setDate: string -> unit - - (** @return Expires header value *) - method expires: string - - (** set Expires header value *) - method setExpires: string -> unit - - (** @return Server header value *) - method server: string - - (** set Server header value *) - method setServer: string -> unit - - end - - (** {2 OO representation of other HTTP "entities"} *) - - (** an HTTP connection from a client to a server *) -class type connection = - object - (** @return next request object, may block if client hasn't submitted any - request yet, may be None if client request was ill-formed *) - method getRequest: request option - - (** respond to client sending it a response *) - method respond_with: response -> unit - - (** close connection to client. Warning: this object can't be used any - longer after this method has been called *) - method close: unit - end - - (** an HTTP daemon *) -class type daemon = - object - (** @return a connection to a client, may block if no client has connected - yet *) - method accept: connection - - (** shortcut method, blocks until a client has submit a request and - return a pair request * connection *) - method getRequest: request * connection - end - diff --git a/helm/DEVEL/ocaml-http/http_user_agent.ml b/helm/DEVEL/ocaml-http/http_user_agent.ml deleted file mode 100644 index 5e74fbfaf..000000000 --- a/helm/DEVEL/ocaml-http/http_user_agent.ml +++ /dev/null @@ -1,100 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -open Printf - -open Http_common - -exception Http_error of (int * string) (* code, body *) - -let http_scheme_RE = Pcre.regexp ~flags:[`CASELESS] "^http://" -let url_RE = Pcre.regexp "^([\\w.-]+)(:(\\d+))?(/.*)?$" - -let tcp_bufsiz = 4096 (* for TCP I/O *) - -let parse_url url = - try - let subs = - Pcre.extract ~rex:url_RE (Pcre.replace ~rex:http_scheme_RE url) - in - (subs.(1), - (if subs.(2) = "" then 80 else int_of_string subs.(3)), - (if subs.(4) = "" then "/" else subs.(4))) - with exc -> - failwith - (sprintf "Can't parse url: %s (exception: %s)" - url (Printexc.to_string exc)) - -let init_socket addr port = - let inet_addr = (Unix.gethostbyname addr).Unix.h_addr_list.(0) in - let sockaddr = Unix.ADDR_INET (inet_addr, port) in - let suck = Unix.socket Unix.PF_INET Unix.SOCK_STREAM 0 in - Unix.connect suck sockaddr; - let outchan = Unix.out_channel_of_descr suck in - let inchan = Unix.in_channel_of_descr suck in - (inchan, outchan) - -let submit_request kind url = - let (address, port, path) = parse_url url in - let (inchan, outchan) = init_socket address port in - let req_string = match kind with `GET -> "GET" | `HEAD -> "HEAD" in - output_string outchan (sprintf "%s %s HTTP/1.0\r\n" req_string path); - output_string outchan (sprintf "Host: %s\r\n\r\n" address); - flush outchan; - (inchan, outchan) - -let head url = - let (inchan, outchan) = submit_request `HEAD url in - let (_, status) = Http_parser.parse_response_fst_line inchan in - (match code_of_status status with - | 200 -> () - | code -> raise (Http_error (code, ""))); - let buf = Http_misc.buf_of_inchan inchan in - close_in inchan; (* close also outchan, same fd *) - Buffer.contents buf - -let get_iter callback url = - let (inchan, outchan) = submit_request `GET url in - let buf = String.create tcp_bufsiz in - let (_, status) = Http_parser.parse_response_fst_line inchan in - (match code_of_status status with - | 200 -> () - | code -> raise (Http_error (code, ""))); - ignore (Http_parser.parse_headers inchan); - (try - while true do - match input inchan buf 0 tcp_bufsiz with - | 0 -> raise End_of_file - | bytes when bytes = tcp_bufsiz -> (* buffer full, no need to slice it *) - callback buf - | bytes when bytes < tcp_bufsiz -> (* buffer not full, slice it *) - callback (String.sub buf 0 bytes) - | _ -> (* ( bytes < 0 ) || ( bytes > tcp_bufsiz ) *) - assert false - done - with End_of_file -> ()); - close_in inchan (* close also outchan, same fd *) - -let get url = - let buf = Buffer.create 10240 in - get_iter (Buffer.add_string buf) url; - Buffer.contents buf - diff --git a/helm/DEVEL/ocaml-http/http_user_agent.mli b/helm/DEVEL/ocaml-http/http_user_agent.mli deleted file mode 100644 index 580324677..000000000 --- a/helm/DEVEL/ocaml-http/http_user_agent.mli +++ /dev/null @@ -1,43 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002-2004> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -(** Minimal implementation of an HTTP 1.0/1.1 client. Interface is similar to - * Gerd Stoplmann's Http_client module. Implementation is simpler and doesn't - * handle HTTP redirection, proxies, ecc. The only reason for the existence of - * this module is for performances and incremental elaboration of response's - * bodies *) - -exception Http_error of (int * string) (* code, body *) - - (** @param url an HTTP url - * @return HTTP response's body - * @raise Http_error when response code <> 200 *) -val get: string -> string - - (** as above but iter callback function on HTTP response's body instead of - * returning it as a string *) -val get_iter: (string -> unit) -> string -> unit - - (** @param url an HTTP url - * @return HTTP HEAD raw response - * @raise Http_error when response code <> 200 *) -val head: string -> string - diff --git a/helm/DEVEL/ocaml-http/mt/.cvsignore b/helm/DEVEL/ocaml-http/mt/.cvsignore deleted file mode 100644 index 977cc04b5..000000000 --- a/helm/DEVEL/ocaml-http/mt/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.cmi -*.cmo -*.cmx -*.cma -*.cmxa -*.mli diff --git a/helm/DEVEL/ocaml-http/mt/http_threaded_tcp_server.ml b/helm/DEVEL/ocaml-http/mt/http_threaded_tcp_server.ml deleted file mode 100644 index acdef6105..000000000 --- a/helm/DEVEL/ocaml-http/mt/http_threaded_tcp_server.ml +++ /dev/null @@ -1,23 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let serve callback arg = ignore (Thread.create callback arg) - diff --git a/helm/DEVEL/ocaml-http/non_mt/.cvsignore b/helm/DEVEL/ocaml-http/non_mt/.cvsignore deleted file mode 100644 index 977cc04b5..000000000 --- a/helm/DEVEL/ocaml-http/non_mt/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -*.cmi -*.cmo -*.cmx -*.cma -*.cmxa -*.mli diff --git a/helm/DEVEL/ocaml-http/non_mt/http_threaded_tcp_server.ml b/helm/DEVEL/ocaml-http/non_mt/http_threaded_tcp_server.ml deleted file mode 100644 index 9c92d7112..000000000 --- a/helm/DEVEL/ocaml-http/non_mt/http_threaded_tcp_server.ml +++ /dev/null @@ -1,26 +0,0 @@ - -(* - OCaml HTTP - do it yourself (fully OCaml) HTTP daemon - - Copyright (C) <2002> Stefano Zacchiroli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*) - -let serve _ _ = - failwith - ("Threaded server not supported by the non threaded version " ^ - "of ocaml-http, please link against http_mt.cm{,x}a") - diff --git a/helm/DEVEL/profile-manager/Makefile b/helm/DEVEL/profile-manager/Makefile deleted file mode 100644 index 556644338..000000000 --- a/helm/DEVEL/profile-manager/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -BIN_DIR = /usr/local/bin -REQUIRES = http -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc -thread $(OCAMLOPTIONS) -OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(OCAMLOPTIONS) -OCAMLDEP = ocamldep -pp camlp4o - -LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) -LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) - -OBJS = response.cmo profile.cmo profile_manager_env.cmo profile_manager.cmo - -profile-manager: $(OBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o $@ $(OBJS) - -profile-manager.opt: $(OBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o $@ $(OBJS:.cmo=.cmx) - -.SUFFIXES: .ml .mli .cmo .cmi .cmx -.ml.cmo: - $(OCAMLC) -c $< -.mli.cmi: - $(OCAMLC) -c $< -.ml.cmx: - $(OCAMLOPT) -c $< - -$(OBJS): $(LIBRARIES) -$(OBJS:.cmo=.cmx)): $(LIBRARIES_OPT) - -clean: - rm -f *.cm[iox] *.o rdfly rdfly.opt - -.PHONY: install uninstall clean - diff --git a/helm/DEVEL/profile-manager/control.html b/helm/DEVEL/profile-manager/control.html deleted file mode 100644 index 2feb02fe9..000000000 --- a/helm/DEVEL/profile-manager/control.html +++ /dev/null @@ -1,240 +0,0 @@ - - - -Profile Manager Control Panel - - - - - - - - - - - -
Profile Manager Control Panel
- -
- -
-This is a control panel for the profile manager. You can control a -local or remote profile manager by filling the appropriate field below -and sending the desired commands. Any command issued to the profile -manager results into an XML response. Note that in order to use this -page you must have JavaScript enabled. If you have troubles, -please send an email to the author: lpadovan at cs dot unibo dot it. -
- -

-

-WARNING: the information stored in a profile, -including the password, IS NOT encrypted in the profile nor while it -is travelling from your computer to the profile manager. DO NOT USE -THE PROFILE MANAGER FOR STORING SENSIBLE INFORMATION LIKE PASSWORDS -FOR SECURE ACCOUNTS OR ANY OTHER PERSONAL DATA.
-

- -
-
- - - - - - - - - - - - - - - - - - - - - - - -
-
- Profile Manager URL - - -
-
-
- List the profiles currently stored in the Profile Manager
- -
-
-
- Create a new profile
- - - -
Profile ID: (leave blank if you want an ID to be assigned automatically)
Password: (optional)
- -
-
-
- Delete an existing profile
- - - -
Profile ID:
Password: (optional)
- -
-
-
- Retrieve an existing profile
- - - -
Profile ID:
Password: (optional)
- -
-
-
- Set the value for a field in an existing profile
- - - - - -
Profile ID:
Password: (optional)
Field:
Value: (optional, if blank will remove the field from the profile)
- -
-
-
- Set/Change the password for a profile
- - - - -
Profile ID:
Old password: (optional)
New password: (optional)
- -
-
-
- Set the access capabilities for a profile
- - - - - - -
Profile ID:
Password: (optional)
Read access: - -
Write access: - -
Profile access: - -
- -
-
-
- - - - - diff --git a/helm/DEVEL/profile-manager/index.html b/helm/DEVEL/profile-manager/index.html deleted file mode 100644 index caeebcf24..000000000 --- a/helm/DEVEL/profile-manager/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/helm/DEVEL/profile-manager/profile-manager.xsl b/helm/DEVEL/profile-manager/profile-manager.xsl deleted file mode 100644 index e32d58739..000000000 --- a/helm/DEVEL/profile-manager/profile-manager.xsl +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/helm/DEVEL/profile-manager/profile.ml b/helm/DEVEL/profile-manager/profile.ml deleted file mode 100644 index 9c19b3c9d..000000000 --- a/helm/DEVEL/profile-manager/profile.ml +++ /dev/null @@ -1,119 +0,0 @@ - -exception Permission_denied -exception Invalid_access of string - -type access_t = - Allowed - | Denied - | Password - -let access_of_string old = - function - None -> old - | Some "allowed" -> Allowed - | Some "denied" -> Denied - | Some "password" -> Password - | Some s -> raise (Invalid_access s) - -let string_of_access = - function - Allowed -> "allowed" - | Denied -> "denied" - | Password -> "password" - -type t = - { id : string; - mutable password : string; - mutable read_access : access_t; - mutable write_access : access_t; - mutable profile_access : access_t; - data : (string, string) Hashtbl.t; - } - -let serialize profile with_data = - let serialize_data data = - let sl = ref [] in - Hashtbl.iter - (fun field value -> - sl := (" " ^ (Response.quote value) ^ "\n")::!sl) - data ; - List.fold_left (^) "" !sl - in - "\n" ^ (if with_data then serialize_data profile.data else "") ^ "" - -let create key pwd = - let access, pwd' = - match pwd with - Some s -> Password, s - | None -> Allowed, "" - in - let profile = - { id = key; - password = pwd'; - read_access = access; - write_access = access; - profile_access = access; - data = Hashtbl.create 11 - } - in - profile - -let test_read_access profile pwd = - match pwd, profile.read_access with - Some s, Password when s = profile.password -> () - | None, Password when profile.password = "" -> () - | _, Allowed -> () - | _ -> raise Permission_denied - -let test_write_access profile pwd = - match pwd, profile.write_access with - Some s, Password when s = profile.password -> () - | None, Password when profile.password = "" -> () - | _, Allowed -> () - | _ -> raise Permission_denied - -let test_profile_access profile pwd = - match pwd, profile.profile_access with - Some s, Password when s = profile.password -> () - | None, Password when profile.password = "" -> () - | _, Allowed -> () - | _ -> raise Permission_denied - -let get profile pwd = - test_read_access profile pwd ; - serialize profile true - -let set profile field value pwd = - test_write_access profile pwd ; - begin - match value with - Some value' -> Hashtbl.replace profile.data field value' - | None -> Hashtbl.remove profile.data field - end ; - Response.ok () - -let del profile pwd = - test_profile_access profile pwd ; - Response.ok () - -let set_password profile new_pwd pwd = - test_profile_access profile pwd ; - let new_pwd' = - match new_pwd with - Some s -> s - | None -> "" - in - prerr_endline ("old " ^ profile.password ^ " new " ^ new_pwd') ; - profile.password <- new_pwd' ; - Response.ok () - -let set_access profile read_access write_access profile_access pwd = - test_profile_access profile pwd ; - profile.read_access <- access_of_string profile.read_access read_access ; - profile.write_access <- access_of_string profile.write_access write_access ; - profile.profile_access <- access_of_string profile.profile_access profile_access ; - Response.ok () diff --git a/helm/DEVEL/profile-manager/profile_manager.ml b/helm/DEVEL/profile-manager/profile_manager.ml deleted file mode 100644 index 1c61e6a3f..000000000 --- a/helm/DEVEL/profile-manager/profile_manager.ml +++ /dev/null @@ -1,177 +0,0 @@ -(* - * Copyright (C) 2003: - * Stefano Zacchiroli - * for the HELM Team http://helm.cs.unibo.it/ - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -exception Impossible - -let (profile_db : (string, Profile.t) Hashtbl.t) = - try - let ch = open_in Profile_manager_env.profile_db_path in - input_value ch - with - _ -> Hashtbl.create 211 - -let get_param_opt (req : Http_types.request) p = - try - match req#param p with - "" -> None - | s -> Some s - with - Http_types.Param_not_found _ -> None - -let new_key () = - let hex_of_nibble n = - if n >= 0 && n < 10 then - string_of_int n - else if n >= 10 && n < 16 then - String.make 1 (Char.chr (n - 10 + (Char.code 'A'))) - else - raise Impossible - in - let rec aux s = - function - 0 -> s - | n -> aux ((hex_of_nibble (Random.int 16)) ^ s) (n - 1) - in - aux "" 4 - -let new_unique_key = - let rec aux () = - let key = new_key () in - if Hashtbl.mem profile_db key then - aux () - else - key - in - aux - -let list_profiles () = - let pl = ref [] in - Hashtbl.iter - (fun _ profile -> pl := (Profile.serialize profile false) :: !pl) - profile_db ; - "" ^ (List.fold_left (^) "" !pl) ^ "" - -let get_profile id pwd = - let profile = Hashtbl.find profile_db id in - Profile.get profile pwd - -let new_profile id pwd = - match id with - Some id' when Hashtbl.mem profile_db id' -> get_profile id' pwd - | Some id' -> - let profile = Profile.create id' pwd in - Hashtbl.add profile_db profile.Profile.id profile ; - Profile.serialize profile true - | None -> - let profile = Profile.create (new_unique_key ()) None in - Hashtbl.add profile_db profile.Profile.id profile ; - Profile.serialize profile true - -let set_profile id field value pwd = - let profile = Hashtbl.find profile_db id in - Profile.set profile field value pwd - -let del_profile id pwd = - let profile = Hashtbl.find profile_db id in - let res = Profile.del profile pwd in - Hashtbl.remove profile_db id ; - res - -let set_password id new_pwd pwd = - let profile = Hashtbl.find profile_db id in - Profile.set_password profile new_pwd pwd - -let set_access id read_access write_access profile_access pwd = - let profile = Hashtbl.find profile_db id in - Profile.set_access profile read_access write_access profile_access pwd - -let callback (req : Http_types.request) outchan = - let res = - try - prerr_endline ("Connection from " ^ req#clientAddr) ; - prerr_endline ("Received request: " ^ req#path) ; - begin - match req#path with - "/list" -> list_profiles () - | "/get" -> - let id = req#param "id" - and pwd = get_param_opt req "password" in - get_profile id pwd - | "/set" -> - let id = req#param "id" - and field = req#param "field" - and value = get_param_opt req "value" - and pwd = get_param_opt req "password" in - set_profile id field value pwd - | "/del" -> - let id = req#param "id" - and pwd = get_param_opt req "password" in - del_profile id pwd - | "/new" -> - let id = get_param_opt req "id" - and pwd = get_param_opt req "password" in - new_profile id pwd - | "/password" -> - let id = req#param "id" - and old_pwd = get_param_opt req "old_password" - and new_pwd = get_param_opt req "new_password" in - set_password id new_pwd old_pwd - | "/access" -> - let id = req#param "id" - and pwd = get_param_opt req "password" - and read_access = get_param_opt req "read" - and write_access = get_param_opt req "write" - and profile_access = get_param_opt req "profile" in - set_access id read_access write_access profile_access pwd - | s -> Response.error ("unrecognized command: " ^ s) - end - with - Not_found -> Response.error "unknown profile" - | Profile.Permission_denied -> Response.error "permission denied" - | e -> Response.error ("uncaught exception: " ^ (Printexc.to_string e)) - in - Http_daemon.respond - ~body:res ~headers:["Content-Type", "text/xml"] outchan - - (* daemon initialization *) - -let save_db () = - let ch = open_out Profile_manager_env.profile_db_path in - output_value ch profile_db ; - close_out ch - -let main () = - at_exit save_db ; - Sys.catch_break true ; - try - Http_daemon.start' ~timeout:(Some 600) ~port:58099 ~mode:`Thread callback - with - Sys.Break -> () -in -main () - diff --git a/helm/DEVEL/profile-manager/profile_manager_env.ml b/helm/DEVEL/profile-manager/profile_manager_env.ml deleted file mode 100644 index cac43bd4e..000000000 --- a/helm/DEVEL/profile-manager/profile_manager_env.ml +++ /dev/null @@ -1,6 +0,0 @@ - -let profile_db_path = - try - Sys.getenv "PROFILE_MANAGER_DB_PATH" - with - Not_found -> "/tmp/profile.db" diff --git a/helm/DEVEL/profile-manager/response.ml b/helm/DEVEL/profile-manager/response.ml deleted file mode 100644 index e47a66651..000000000 --- a/helm/DEVEL/profile-manager/response.ml +++ /dev/null @@ -1,8 +0,0 @@ - -let quote_attribute s = s - -let quote s = s - -let error s = "" ^ (quote s) ^ "" - -let ok () = "" diff --git a/helm/DEVEL/profile-manager/welcome.html b/helm/DEVEL/profile-manager/welcome.html deleted file mode 100644 index f6fbed438..000000000 --- a/helm/DEVEL/profile-manager/welcome.html +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/helm/DEVEL/rdfly/.cvsignore b/helm/DEVEL/rdfly/.cvsignore deleted file mode 100644 index 5424f8c69..000000000 --- a/helm/DEVEL/rdfly/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.o *.cm[iox] rdfly rdfly.opt diff --git a/helm/DEVEL/rdfly/Makefile b/helm/DEVEL/rdfly/Makefile deleted file mode 100644 index 779bb7b44..000000000 --- a/helm/DEVEL/rdfly/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -BIN_DIR = /usr/local/bin -REQUIRES = mysql http helm-registry -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc -thread $(OCAMLOPTIONS) -OCAMLOPT = $(OCAMLFIND) ocamlopt -thread $(OCAMLOPTIONS) -OCAMLDEP = ocamldep -pp camlp4o - -LIBRARIES = $(shell $(OCAMLFIND) query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) -LIBRARIES_OPT = $(shell $(OCAMLFIND) query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) - -OBJS = rdfly.cmo - -all: rdfly -opt: rdfly.opt - -rdfly: $(OBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o $@ $(OBJS) - -rdfly.opt: $(OBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o rdfly.opt $(OBJS:.cmo=.cmx) - -.SUFFIXES: .ml .mli .cmo .cmi .cmx -.ml.cmo: - $(OCAMLC) -c $< -.mli.cmi: - $(OCAMLC) -c $< -.ml.cmx: - $(OCAMLOPT) -c $< - -$(OBJS): $(LIBRARIES) -$(OBJS:.cmo=.cmx)): $(LIBRARIES_OPT) - -clean: - rm -f *.cm[iox] *.o rdfly rdfly.opt - -.PHONY: install uninstall clean - diff --git a/helm/DEVEL/rdfly/rdfly.conf.xml.sample b/helm/DEVEL/rdfly/rdfly.conf.xml.sample deleted file mode 100644 index 5d479dacf..000000000 --- a/helm/DEVEL/rdfly/rdfly.conf.xml.sample +++ /dev/null @@ -1,12 +0,0 @@ - - -
-
- localhost - helm - mowgli - 3306 -
- 58086 -
-
diff --git a/helm/DEVEL/rdfly/rdfly.ml b/helm/DEVEL/rdfly/rdfly.ml deleted file mode 100644 index b9a79d139..000000000 --- a/helm/DEVEL/rdfly/rdfly.ml +++ /dev/null @@ -1,192 +0,0 @@ - -module M = Mysql - - (* First of all we load the configuration *) -let _ = - let configuration_file = "/projects/helm/etc/rdfly.conf.xml" in - Helm_registry.load_from configuration_file -;; - -let open_db ?host ?database ?port ?password ?user = - try - M.quick_connect ?host ?database ?port ?password ?user - with - M.Error e as exc -> - prerr_endline e ; - raise exc - -let extract_position s = - let sharp_pos = String.rindex s '#' + 1 in - String.sub s sharp_pos ((String.length s) - sharp_pos) - -let mk_new_msg () = ref [] - -let msg_output_string msg s = msg := s::!msg - -let msg_serialize msg = - String.concat "" (List.rev !msg) - -let msg_output_header msg obj = - msg_output_string msg "\n\n" ; - msg_output_string msg ("\n \n") - -let msg_output_trailer msg = - msg_output_string msg " \n\n" - -let msg_output_dc_header msg obj = - msg_output_string msg "\n\n" ; - msg_output_string msg ("\n") ; - msg_output_string msg " " -;; - -let msg_output_dc_trailer msg = - msg_output_string msg " \n" -;; - -let value_of_optional_value = - function - None -> assert false - | Some v -> v -;; - -let forward_metadata db obj = - let res = M.exec db ("SELECT * FROM refObj WHERE source = '" ^ obj ^ "';") in - let msg = mk_new_msg () in - msg_output_header msg obj ; - M.iter res - ~f:(function cols -> - let position = extract_position (value_of_optional_value (cols.(2))) in - let occurrence = value_of_optional_value (cols.(1)) in - msg_output_string msg " \n \n" ; - msg_output_string msg (" " ^ position ^ "\n") ; - msg_output_string msg (" " ^ occurrence ^ "\n") ; - msg_output_string msg " \n \n" - ) ; - msg_output_trailer msg ; - msg_serialize msg -;; - -let backward_metadata db obj = - let res = M.exec db ("SELECT * FROM refObj WHERE h_occurrence = '" ^ obj ^ "';") in - let msg = mk_new_msg () in - msg_output_header msg obj ; - M.iter res - ~f:(function cols -> - let position = extract_position (value_of_optional_value (cols.(2))) in - let occurrence = value_of_optional_value (cols.(0)) in - msg_output_string msg " \n \n" ; - msg_output_string msg (" " ^ position ^ "\n") ; - msg_output_string msg (" " ^ occurrence ^ "\n") ; - msg_output_string msg " \n \n" - ) ; - msg_output_trailer msg ; - msg_serialize msg -;; - -let dc_metadata db obj = - let tables = - [ "dc:creator","dccreator" ; - "dc:date","dcdate" ; - "dc:description","dcdescription" ; - "dc:format","dcformat" ; - "dc:identifier","dcidentifier" ; - "dc:language","dclanguage" ; - "dc:publisher","dcpublisher" ; - "dcq:RelationType","dcqRelationType" ; - "dc:relation","dcrelation" ; - "dc:rights","dcrights" ; - "dc:source","dcsource" ; - "dc:subject","dcsubject" ; - "dc:title","dctitle" ; - "hth:ResourceFormat","hthResourceFormat" ; - "hth:contact","hthcontact" ; - "hth:firstVersion","hthfirstVersion" ; - "hth:institution","hthinstitution" ; - "hth:modified","hthmodified" - ] - in - let msg = mk_new_msg () in - msg_output_dc_header msg obj ; - List.iter - (fun (propertyname,tablename) -> - let res = - M.exec db - ("SELECT * FROM " ^ tablename ^ " WHERE uri = '" ^ obj ^ "';") in - M.iter res - ~f:(function cols -> - let value = value_of_optional_value (cols.(0)) in - msg_output_string msg - (" <" ^ propertyname ^ ">" ^ value ^ "\n") ; - ) ; - ) tables ; - msg_output_dc_trailer msg ; - msg_serialize msg -;; - -let debug_print s = prerr_endline ("[RDFly] " ^ s) - -let mk_return_fun contype msg outchan = - Http_daemon.respond - ~body:msg ~headers:["Content-Type", contype] outchan - -let return_html = mk_return_fun "text/html" -let return_xml = mk_return_fun "text/xml" -let return_400 body ch = - Http_daemon.respond_error ~code:(`Code 400) ~body ch -let return_html_error s = return_html ("" ^ s ^ "") - -let get_option key = - try - Some (Helm_registry.get key) - with Helm_registry.Key_not_found _ -> None - -let get_int_option key = - try - Some (Helm_registry.get_int key) - with Helm_registry.Key_not_found _ -> None - -let host = get_option "rdfly.mysql_connection.host";; -let database = get_option "rdfly.mysql_connection.database";; -let port = get_int_option "rdfly.mysql_connection.port";; -let password = get_option "rdfly.mysql_connection.password";; -let user = get_option "rdfly.mysql_connection.user";; -let daemonport = Helm_registry.get_int "rdfly.port";; - -let callback (req: Http_types.request) ch = - try - debug_print ("Connection from " ^ req#clientAddr) ; - debug_print ("Received request: " ^ req#uri) ; - (match req#path with - | "/help" -> - return_html_error "yeah right..." ch - | "/get" -> - let obj = req#param "object" - and kind = req#param "kind" in - let db = open_db ?host ?database ?port ?password ?user () in - begin - match kind with - "forward" -> return_xml (forward_metadata db obj) ch - | "backward" -> return_xml (backward_metadata db obj) ch - | "dc" -> return_xml (dc_metadata db obj) ch - | s -> return_html_error ("unsupported kind: " ^ s) ch - end ; - M.disconnect db - | invalid_request -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - ch) - with - | Http_types.Param_not_found attr_name -> - return_400 (Printf.sprintf "Parameter '%s' is missing" attr_name) ch - | exc -> - return_html_error ("Uncaught exception: " ^ (Printexc.to_string exc)) ch - -let main () = - Sys.catch_break true; - try - Http_daemon.start' - ~timeout:(Some 600) ~port:daemonport callback - with Sys.Break -> () -in - -main () - diff --git a/helm/EXPORT/cshrc b/helm/EXPORT/cshrc deleted file mode 100755 index e5519d719..000000000 --- a/helm/EXPORT/cshrc +++ /dev/null @@ -1,4 +0,0 @@ -setenv PATH /home/projects/helm/EXPORT/INSTALLED_V7/usr/local/bin:$PATH - -# Per uris_of_filenames.pl -setenv PATH /home/projects/helm/V7/interface:$PATH diff --git a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/Makefile b/helm/EXPORT/export_Bordeaux_EXCEPTIONS/Makefile deleted file mode 100644 index 484f0972f..000000000 --- a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: objects theories - -objects: - coqc -R EXCEPTIONS Bordeaux.EXCEPTIONS EXCEPTIONS/*.v - echo "Load Verbose prova_Bordeaux_EXCEPTIONS." | coqtop.byte -R EXCEPTIONS Bordeaux.EXCEPTIONS - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo EXCEPTIONS/*.vo diff --git a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/exporttheories.sh b/helm/EXPORT/export_Bordeaux_EXCEPTIONS/exporttheories.sh deleted file mode 100755 index 532827348..000000000 --- a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in EXCEPTIONS/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Bordeaux/EXCEPTIONS/$basename" > \ - examples/Bordeaux/EXCEPTIONS/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/prova_Bordeaux_EXCEPTIONS.v b/helm/EXPORT/export_Bordeaux_EXCEPTIONS/prova_Bordeaux_EXCEPTIONS.v deleted file mode 100644 index 07c14ef3d..000000000 --- a/helm/EXPORT/export_Bordeaux_EXCEPTIONS/prova_Bordeaux_EXCEPTIONS.v +++ /dev/null @@ -1,5 +0,0 @@ -Require Export Xml. - -Require leavemult. - -Print XML Module Disk "examples" leavemult. diff --git a/helm/EXPORT/export_Marseille_CCS/Makefile b/helm/EXPORT/export_Marseille_CCS/Makefile deleted file mode 100644 index 7c30db4a5..000000000 --- a/helm/EXPORT/export_Marseille_CCS/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: objects theories - -objects: - coqc -R CCS Marseille.CCS CCS/*.v - echo "Load Verbose prova_Marseille_CCS." | coqtop.byte -R CCS Marseille.CCS - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo CCS/*.vo diff --git a/helm/EXPORT/export_Marseille_CCS/exporttheories.sh b/helm/EXPORT/export_Marseille_CCS/exporttheories.sh deleted file mode 100755 index 24fce6c39..000000000 --- a/helm/EXPORT/export_Marseille_CCS/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in CCS/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Marseille/CCS/$basename" > \ - examples/Marseille/CCS/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Marseille_CCS/prova_Marseille_CCS.v b/helm/EXPORT/export_Marseille_CCS/prova_Marseille_CCS.v deleted file mode 100644 index e44066736..000000000 --- a/helm/EXPORT/export_Marseille_CCS/prova_Marseille_CCS.v +++ /dev/null @@ -1,5 +0,0 @@ -Require Export Xml. - -Require Trans_Sys. - -Print XML Module Disk "examples" Trans_Sys. diff --git a/helm/EXPORT/export_Nijmegen_Rem/Makefile b/helm/EXPORT/export_Nijmegen_Rem/Makefile deleted file mode 100644 index 3421cc0a6..000000000 --- a/helm/EXPORT/export_Nijmegen_Rem/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: objects theories - -objects: - coqc -R Rem Nijmegen.Rem Rem/*.v - echo "Load Verbose prova_Nijmegen_Rem." | coqtop.byte -R Rem Nijmegen.Rem - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo Rem/*.vo diff --git a/helm/EXPORT/export_Nijmegen_Rem/exporttheories.sh b/helm/EXPORT/export_Nijmegen_Rem/exporttheories.sh deleted file mode 100755 index 8e64b90c5..000000000 --- a/helm/EXPORT/export_Nijmegen_Rem/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in Rem/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Nijmegen/Rem/$basename" > \ - examples/Nijmegen/Rem/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Nijmegen_Rem/prova_Nijmegen_Rem.v b/helm/EXPORT/export_Nijmegen_Rem/prova_Nijmegen_Rem.v deleted file mode 100644 index 04244aa30..000000000 --- a/helm/EXPORT/export_Nijmegen_Rem/prova_Nijmegen_Rem.v +++ /dev/null @@ -1,5 +0,0 @@ -Require Export Xml. - -Require Rem. - -Print XML Module Disk "examples" Rem. diff --git a/helm/EXPORT/export_Paris_ZF/Makefile b/helm/EXPORT/export_Paris_ZF/Makefile deleted file mode 100644 index ee2f95e1b..000000000 --- a/helm/EXPORT/export_Paris_ZF/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -all: objects theories - -objects: - coqc -R ZF/src Paris.ZF ZF/src/nothing.v - coqc -R ZF/src Paris.ZF ZF/src/useful.v - coqc -R ZF/src Paris.ZF ZF/src/ZFbasis.v - coqc -R ZF/src Paris.ZF ZF/src/axs_extensionnalite.v - coqc -R ZF/src Paris.ZF ZF/src/axs_paire.v - coqc -R ZF/src Paris.ZF ZF/src/axs_reunion.v - coqc -R ZF/src Paris.ZF ZF/src/axs_parties.v - coqc -R ZF/src Paris.ZF ZF/src/axs_comprehension.v - coqc -R ZF/src Paris.ZF ZF/src/axs_remplacement.v - coqc -R ZF/src Paris.ZF ZF/src/couples.v - coqc -R ZF/src Paris.ZF ZF/src/applications.v - coqc -R ZF/src Paris.ZF ZF/src/axs_choice.v - coqc -R ZF/src Paris.ZF ZF/src/axs_fundation.v - coqc -R ZF/src Paris.ZF ZF/src/ZFrelations.v - coqc -R ZF/src Paris.ZF ZF/src/MSetBasis.v - echo "Load Verbose prova_Paris_ZF." | coqtop.byte -R ZF/src Paris.ZF - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo ZF/src/*.vo diff --git a/helm/EXPORT/export_Paris_ZF/exporttheories.sh b/helm/EXPORT/export_Paris_ZF/exporttheories.sh deleted file mode 100755 index 3a0db3d49..000000000 --- a/helm/EXPORT/export_Paris_ZF/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in ZF/src/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Paris/ZF/$basename" > \ - examples/Paris/ZF/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v b/helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v deleted file mode 100644 index 03f59427f..000000000 --- a/helm/EXPORT/export_Paris_ZF/prova_Paris_ZF.v +++ /dev/null @@ -1,33 +0,0 @@ -Require Export Xml. - -Require nothing. -Require useful. -Require ZFbasis. -Require axs_extensionnalite. -Require axs_paire . -Require axs_reunion. -Require axs_parties. -Require axs_comprehension. -Require axs_remplacement. -Require couples. -Require applications . -Require axs_choice. -Require axs_fundation. -Require ZFrelations. -Require MSetBasis . - -Print XML Module Disk "examples" nothing. -Print XML Module Disk "examples" useful. -Print XML Module Disk "examples" ZFbasis. -Print XML Module Disk "examples" axs_extensionnalite. -Print XML Module Disk "examples" axs_paire . -Print XML Module Disk "examples" axs_reunion. -Print XML Module Disk "examples" axs_parties. -Print XML Module Disk "examples" axs_comprehension. -Print XML Module Disk "examples" axs_remplacement. -Print XML Module Disk "examples" couples. -Print XML Module Disk "examples" applications . -Print XML Module Disk "examples" axs_choice. -Print XML Module Disk "examples" axs_fundation. -Print XML Module Disk "examples" ZFrelations. -Print XML Module Disk "examples" MSetBasis . diff --git a/helm/EXPORT/export_Rocq_CHECKER/Makefile b/helm/EXPORT/export_Rocq_CHECKER/Makefile deleted file mode 100644 index 76fe9308a..000000000 --- a/helm/EXPORT/export_Rocq_CHECKER/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: objects theories - -objects: - coqc -R CHECKER Rocq.CHECKER CHECKER/Functions.v CHECKER/Checker.v - echo "Load Verbose prova_Rocq_CHECKER." | coqtop.byte -R CHECKER Rocq.CHECKER - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo CHECKER/*.vo diff --git a/helm/EXPORT/export_Rocq_CHECKER/exporttheories.sh b/helm/EXPORT/export_Rocq_CHECKER/exporttheories.sh deleted file mode 100755 index e0152041f..000000000 --- a/helm/EXPORT/export_Rocq_CHECKER/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in CHECKER/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Rocq/CHECKER/$basename" > \ - examples/Rocq/CHECKER/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Rocq_CHECKER/prova_Rocq_CHECKER.v b/helm/EXPORT/export_Rocq_CHECKER/prova_Rocq_CHECKER.v deleted file mode 100644 index 190588474..000000000 --- a/helm/EXPORT/export_Rocq_CHECKER/prova_Rocq_CHECKER.v +++ /dev/null @@ -1,7 +0,0 @@ -Require Export Xml. - -Require Functions. -Require Checker. - -Print XML Module Disk "examples" Functions. -Print XML Module Disk "examples" Checker. diff --git a/helm/EXPORT/export_Rocq_HIGMAN/Makefile b/helm/EXPORT/export_Rocq_HIGMAN/Makefile deleted file mode 100644 index f5161ba4e..000000000 --- a/helm/EXPORT/export_Rocq_HIGMAN/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: objects theories - -objects: - coqc -R HIGMAN Rocq.HIGMAN HIGMAN/*.v - echo "Load Verbose prova_Rocq_HIGMAN." | coqtop.byte -R HIGMAN Rocq.HIGMAN - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo HIGMAN/*.vo diff --git a/helm/EXPORT/export_Rocq_HIGMAN/exporttheories.sh b/helm/EXPORT/export_Rocq_HIGMAN/exporttheories.sh deleted file mode 100755 index d19281688..000000000 --- a/helm/EXPORT/export_Rocq_HIGMAN/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in HIGMAN/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Rocq/HIGMAN/$basename" > \ - examples/Rocq/HIGMAN/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v b/helm/EXPORT/export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v deleted file mode 100644 index 9abc11a52..000000000 --- a/helm/EXPORT/export_Rocq_HIGMAN/prova_Rocq_HIGMAN.v +++ /dev/null @@ -1,5 +0,0 @@ -Require Export Xml. - -Require Higman. - -Print XML Module Disk "examples" Higman. diff --git a/helm/EXPORT/export_Rocq_SHUFFLE/Makefile b/helm/EXPORT/export_Rocq_SHUFFLE/Makefile deleted file mode 100644 index ba2ab5712..000000000 --- a/helm/EXPORT/export_Rocq_SHUFFLE/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -all: objects theories - -objects: - coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Words.v - coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Alternate.v - coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Opposite.v - coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Paired.v - coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Shuffle.v - coqc -R SHUFFLE Rocq.SHUFFLE SHUFFLE/Gilbreath.v - echo "Load Verbose prova_Rocq_SHUFFLE." | coqtop.byte -R SHUFFLE Rocq.SHUFFLE - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo SHUFFLE/*.vo diff --git a/helm/EXPORT/export_Rocq_SHUFFLE/exporttheories.sh b/helm/EXPORT/export_Rocq_SHUFFLE/exporttheories.sh deleted file mode 100755 index acd865a42..000000000 --- a/helm/EXPORT/export_Rocq_SHUFFLE/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in SHUFFLE/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Rocq/SHUFFLE/$basename" > \ - examples/Rocq/SHUFFLE/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v b/helm/EXPORT/export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v deleted file mode 100644 index 1b17a93bc..000000000 --- a/helm/EXPORT/export_Rocq_SHUFFLE/prova_Rocq_SHUFFLE.v +++ /dev/null @@ -1,16 +0,0 @@ -Require Export Xml. - -Require Alternate. -Require Gilbreath. -Require Opposite. -Require Paired. -Require Shuffle. -Require Words. - - -Print XML Module Disk "examples" Alternate. -Print XML Module Disk "examples" Gilbreath. -Print XML Module Disk "examples" Opposite. -Print XML Module Disk "examples" Paired. -Print XML Module Disk "examples" Shuffle. -Print XML Module Disk "examples" Words. diff --git a/helm/EXPORT/export_Utrecht_Ramsey/Makefile b/helm/EXPORT/export_Utrecht_Ramsey/Makefile deleted file mode 100644 index 576b198db..000000000 --- a/helm/EXPORT/export_Utrecht_Ramsey/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: objects theories - -objects: - coqc -R Ramsey Utrecht.Ramsey Ramsey/*.v - echo "Load Verbose prova_Utrecht_Ramsey." | coqtop.byte -R Ramsey Utrecht.Ramsey - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo Ramsey/*.vo diff --git a/helm/EXPORT/export_Utrecht_Ramsey/exporttheories.sh b/helm/EXPORT/export_Utrecht_Ramsey/exporttheories.sh deleted file mode 100755 index b2dd5f8aa..000000000 --- a/helm/EXPORT/export_Utrecht_Ramsey/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in Ramsey/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Utrecht/Ramsey/$basename" > \ - examples/Utrecht/Ramsey/$basename.theory.xml - done diff --git a/helm/EXPORT/export_Utrecht_Ramsey/prova_Utrecht_Ramsey.v b/helm/EXPORT/export_Utrecht_Ramsey/prova_Utrecht_Ramsey.v deleted file mode 100644 index aa0500f15..000000000 --- a/helm/EXPORT/export_Utrecht_Ramsey/prova_Utrecht_Ramsey.v +++ /dev/null @@ -1,5 +0,0 @@ -Require Export Xml. - -Require Ramsey. - -Print XML Module Disk "examples" Ramsey. diff --git a/helm/EXPORT/exportcoq/Makefile b/helm/EXPORT/exportcoq/Makefile deleted file mode 100644 index 5026ec526..000000000 --- a/helm/EXPORT/exportcoq/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -all: objects theories - -objects: - echo "Load Verbose provacoq." | coqtop.byte - -theories: - ./exporttheories.sh diff --git a/helm/EXPORT/exportcoq/export_contrib_theory.sh b/helm/EXPORT/exportcoq/export_contrib_theory.sh deleted file mode 100755 index afc191889..000000000 --- a/helm/EXPORT/exportcoq/export_contrib_theory.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in ../V7/contrib/$1/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Coq/$1/$basename" 0 > \ - examples/Coq/$1/$basename.theory.xml -# cat $i | ../mktheory.pl "Coq/$1/$basename" 1 > \ -# examples/Coq/$1/"$basename"_with_types.theory.xml - done diff --git a/helm/EXPORT/exportcoq/export_theory_theory.sh b/helm/EXPORT/exportcoq/export_theory_theory.sh deleted file mode 100755 index 1a23583eb..000000000 --- a/helm/EXPORT/exportcoq/export_theory_theory.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in ../V7/theories/$1/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "Coq/$1/$basename" 0 > \ - examples/Coq/$1/$basename.theory.xml -# cat $i | ../mktheory.pl "Coq/$1/$basename" 1 > \ -# examples/Coq/$1/"$basename"_with_types.theory.xml - done diff --git a/helm/EXPORT/exportcoq/exporttheories.sh b/helm/EXPORT/exportcoq/exporttheories.sh deleted file mode 100755 index 5fdc47378..000000000 --- a/helm/EXPORT/exportcoq/exporttheories.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -./export_theory_theory.sh Arith -./export_theory_theory.sh Bool -./export_theory_theory.sh Init -./export_theory_theory.sh Lists -./export_theory_theory.sh Logic -./export_theory_theory.sh Reals -./export_theory_theory.sh Relations -./export_theory_theory.sh Sets -#./export_theory_theory.sh SORTING -#./export_theory_theory.sh TREES -./export_theory_theory.sh Wellfounded -./export_theory_theory.sh Zarith - -./export_contrib_theory.sh omega -./export_contrib_theory.sh ring diff --git a/helm/EXPORT/exportcoq/provacoq.v b/helm/EXPORT/exportcoq/provacoq.v deleted file mode 100644 index 99b52ebc7..000000000 --- a/helm/EXPORT/exportcoq/provacoq.v +++ /dev/null @@ -1,14 +0,0 @@ -Load Verbose provacoqArith. -Load Verbose provacoqBool. -Load Verbose provacoqInit. -Load Verbose provacoqLists. -Load Verbose provacoqLogic. -Load Verbose provacoqReals. -Load Verbose provacoqRelations. -Load Verbose provacoqSets. -(*Load Verbose provacoqSorting.*) -(*Load Verbose provacoqTrees.*) -Load Verbose provacoqZArith. - -Load Verbose provacoqcontribRing. -Load Verbose provacoqcontribOmega. diff --git a/helm/EXPORT/exportcoq/provacoqArith.v b/helm/EXPORT/exportcoq/provacoqArith.v deleted file mode 100644 index 1fdc4f943..000000000 --- a/helm/EXPORT/exportcoq/provacoqArith.v +++ /dev/null @@ -1,31 +0,0 @@ -Require Export Xml. - -Require Arith. -Require Compare. -Require Compare_dec. -(*Require Div.*) -Require Div2. -Require EqNat. -Require Euclid_def. -Require Euclid_proof. -Require Peano_dec. - -Print XML Module Disk "examples" Arith. -Print XML Module Disk "examples" Between. -Print XML Module Disk "examples" Compare. -Print XML Module Disk "examples" Compare_dec. -(*Print XML Module Disk "examples" Div.*) -Print XML Module Disk "examples" Div2. -Print XML Module Disk "examples" EqNat. -Print XML Module Disk "examples" Euclid_def. -Print XML Module Disk "examples" Euclid_proof. -Print XML Module Disk "examples" Even. -Print XML Module Disk "examples" Gt. -Print XML Module Disk "examples" Le. -Print XML Module Disk "examples" Lt. -Print XML Module Disk "examples" Min. -Print XML Module Disk "examples" Minus. -Print XML Module Disk "examples" Mult. -Print XML Module Disk "examples" Peano_dec. -Print XML Module Disk "examples" Plus. -Print XML Module Disk "examples" Wf_nat. diff --git a/helm/EXPORT/exportcoq/provacoqBool.v b/helm/EXPORT/exportcoq/provacoqBool.v deleted file mode 100644 index a898237be..000000000 --- a/helm/EXPORT/exportcoq/provacoqBool.v +++ /dev/null @@ -1,13 +0,0 @@ -Require Export Xml. - -Require Bool. -Require DecBool. -Require IfProp. -Require Sumbool. -Require Zerob. - -Print XML Module Disk "examples" Bool. -Print XML Module Disk "examples" DecBool. -Print XML Module Disk "examples" IfProp. -Print XML Module Disk "examples" Sumbool. -Print XML Module Disk "examples" Zerob. diff --git a/helm/EXPORT/exportcoq/provacoqInit.v b/helm/EXPORT/exportcoq/provacoqInit.v deleted file mode 100644 index d40ea3ee5..000000000 --- a/helm/EXPORT/exportcoq/provacoqInit.v +++ /dev/null @@ -1,13 +0,0 @@ -Require Export Xml. - -Print XML Module Disk "examples" Datatypes. -Print XML Module Disk "examples" DatatypesSyntax. -Print XML Module Disk "examples" Logic. -Print XML Module Disk "examples" LogicSyntax. -Print XML Module Disk "examples" Specif. -Print XML Module Disk "examples" SpecifSyntax. -Print XML Module Disk "examples" Peano. -Print XML Module Disk "examples" Wf. -Print XML Module Disk "examples" Prelude. -Print XML Module Disk "examples" Logic_Type. -Print XML Module Disk "examples" Logic_TypeSyntax. diff --git a/helm/EXPORT/exportcoq/provacoqLists.v b/helm/EXPORT/exportcoq/provacoqLists.v deleted file mode 100644 index 91b74ef0a..000000000 --- a/helm/EXPORT/exportcoq/provacoqLists.v +++ /dev/null @@ -1,15 +0,0 @@ -Require Export Xml. - -Require List. -Require ListSet. -Require PolyList. -(*Require PolyListSyntax.*) -Require Streams. -Require TheoryList. - -Print XML Module Disk "examples" List. -Print XML Module Disk "examples" ListSet. -Print XML Module Disk "examples" PolyList. -(*Print XML Module Disk "examples" PolyListSyntax.*) -Print XML Module Disk "examples" Streams. -Print XML Module Disk "examples" TheoryList. diff --git a/helm/EXPORT/exportcoq/provacoqLogic.v b/helm/EXPORT/exportcoq/provacoqLogic.v deleted file mode 100644 index e2296a51f..000000000 --- a/helm/EXPORT/exportcoq/provacoqLogic.v +++ /dev/null @@ -1,17 +0,0 @@ -Require Export Xml. - -Require Classical. -Require Classical_Pred_Set. -Require Classical_Pred_Type. -Require Classical_Prop. -Require Classical_Type. -Require Eqdep. -Require Eqdep_dec. - -Print XML Module Disk "examples" Classical. -Print XML Module Disk "examples" Classical_Pred_Set. -Print XML Module Disk "examples" Classical_Pred_Type. -Print XML Module Disk "examples" Classical_Prop. -Print XML Module Disk "examples" Classical_Type. -Print XML Module Disk "examples" Eqdep. -Print XML Module Disk "examples" Eqdep_dec. diff --git a/helm/EXPORT/exportcoq/provacoqReals.v b/helm/EXPORT/exportcoq/provacoqReals.v deleted file mode 100644 index 445f9f988..000000000 --- a/helm/EXPORT/exportcoq/provacoqReals.v +++ /dev/null @@ -1,23 +0,0 @@ -Require Export Xml. - -Require R_Ifp. -Require Raxioms. -Require Rdefinitions. -Require Rbase. -Require Rbasic_fun. -Require Rderiv. -Require Reals. -Require Rfunctions. -Require Rlimit. -Require TypeSyntax. - -Print XML Module Disk "examples" R_Ifp. -Print XML Module Disk "examples" Raxioms. -Print XML Module Disk "examples" Rdefinitions. -Print XML Module Disk "examples" Rbase. -Print XML Module Disk "examples" Rbasic_fun. -Print XML Module Disk "examples" Rderiv. -Print XML Module Disk "examples" Reals. -Print XML Module Disk "examples" Rfunctions. -Print XML Module Disk "examples" Rlimit. -Print XML Module Disk "examples" TypeSyntax. diff --git a/helm/EXPORT/exportcoq/provacoqRelations.v b/helm/EXPORT/exportcoq/provacoqRelations.v deleted file mode 100644 index c588b30f3..000000000 --- a/helm/EXPORT/exportcoq/provacoqRelations.v +++ /dev/null @@ -1,33 +0,0 @@ -Require Export Xml. - -Require Newman. -Require Operators_Properties. -Require Relation_Definitions. -Require Relation_Operators. -Require Relations. -Require Rstar. -(*Require Disjoint_Union.*) -(*Require Inclusion.*) -(*Require Inverse_Image.*) -(*Require Lexicographic_Exponentiation.*) -(*Require Lexicographic_Product.*) -(*Require Transitive_Closure.*) -(*Require Union.*) -(*Require Well_Ordering.*) -(*Require Wellfounded.*) - -Print XML Module Disk "examples" Newman. -Print XML Module Disk "examples" Operators_Properties. -Print XML Module Disk "examples" Relation_Definitions. -Print XML Module Disk "examples" Relation_Operators. -Print XML Module Disk "examples" Relations. -Print XML Module Disk "examples" Rstar. -(*Print XML Module Disk "examples/WELLFOUNDED" Disjoint_Union.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Inclusion.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Inverse_Image.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Lexicographic_Exponentiation.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Lexicographic_Product.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Transitive_Closure.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Union.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Well_Ordering.*) -(*Print XML Module Disk "examples/WELLFOUNDED" Wellfounded.*) diff --git a/helm/EXPORT/exportcoq/provacoqSets.v b/helm/EXPORT/exportcoq/provacoqSets.v deleted file mode 100644 index 9502861b0..000000000 --- a/helm/EXPORT/exportcoq/provacoqSets.v +++ /dev/null @@ -1,48 +0,0 @@ -Require Export Xml. - -Require Classical_sets. -Require Constructive_sets. -Require Cpo. -Require Ensembles. -Require Finite_sets. -Require Finite_sets_facts. -Require Image. -Require Infinite_sets. -Require Integers. -Require Multiset. -Require Partial_Order. -Require Permut. -(*Require CSCPermut.*) -Require Powerset. -Require Powerset_Classical_facts. -Require Powerset_facts. -Require Relations_1. -Require Relations_1_facts. -Require Relations_2. -Require Relations_2_facts. -Require Relations_3. -Require Relations_3_facts. -Require Uniset. - -Print XML Module Disk "examples" Classical_sets. -Print XML Module Disk "examples" Constructive_sets. -Print XML Module Disk "examples" Cpo. -Print XML Module Disk "examples" Ensembles. -Print XML Module Disk "examples" Finite_sets. -Print XML Module Disk "examples" Finite_sets_facts. -Print XML Module Disk "examples" Image. -Print XML Module Disk "examples" Infinite_sets. -Print XML Module Disk "examples" Integers. -Print XML Module Disk "examples" Multiset. -Print XML Module Disk "examples" Partial_Order. -Print XML Module Disk "examples" Permut. -Print XML Module Disk "examples" Powerset. -Print XML Module Disk "examples" Powerset_Classical_facts. -Print XML Module Disk "examples" Powerset_facts. -Print XML Module Disk "examples" Relations_1. -Print XML Module Disk "examples" Relations_1_facts. -Print XML Module Disk "examples" Relations_2. -Print XML Module Disk "examples" Relations_2_facts. -Print XML Module Disk "examples" Relations_3. -Print XML Module Disk "examples" Relations_3_facts. -Print XML Module Disk "examples" Uniset. diff --git a/helm/EXPORT/exportcoq/provacoqSorting.v b/helm/EXPORT/exportcoq/provacoqSorting.v deleted file mode 100644 index ff940fd22..000000000 --- a/helm/EXPORT/exportcoq/provacoqSorting.v +++ /dev/null @@ -1,13 +0,0 @@ -(* -Require Export Xml. - -Require Generic. -Require Heap. -Require Permutation. -Require Sorting. - -Print XML Module Disk "examples" Generic. -Print XML Module Disk "examples" Heap. -Print XML Module Disk "examples" Permutation. -Print XML Module Disk "examples" Sorting. -*) diff --git a/helm/EXPORT/exportcoq/provacoqTrees.v b/helm/EXPORT/exportcoq/provacoqTrees.v deleted file mode 100644 index a90b04122..000000000 --- a/helm/EXPORT/exportcoq/provacoqTrees.v +++ /dev/null @@ -1,7 +0,0 @@ -(* -Require Export Xml. - -Require Btree. - -Print XML Module Disk "examples" Btree. -*) diff --git a/helm/EXPORT/exportcoq/provacoqZArith.v b/helm/EXPORT/exportcoq/provacoqZArith.v deleted file mode 100644 index ff43bbd23..000000000 --- a/helm/EXPORT/exportcoq/provacoqZArith.v +++ /dev/null @@ -1,19 +0,0 @@ -Require Export Xml. - -Require Wf_Z. -Require ZArith. -Require ZArith_dec. -Require Zmisc. -Require Zsyntax. -Require auxiliary. -Require fast_integer. -Require zarith_aux. - -Print XML Module Disk "examples" Wf_Z. -Print XML Module Disk "examples" ZArith. -Print XML Module Disk "examples" ZArith_dec. -Print XML Module Disk "examples" Zmisc. -Print XML Module Disk "examples" Zsyntax. -Print XML Module Disk "examples" auxiliary. -Print XML Module Disk "examples" fast_integer. -Print XML Module Disk "examples" zarith_aux. diff --git a/helm/EXPORT/exportcoq/provacoqcontribOmega.v b/helm/EXPORT/exportcoq/provacoqcontribOmega.v deleted file mode 100644 index 04d299423..000000000 --- a/helm/EXPORT/exportcoq/provacoqcontribOmega.v +++ /dev/null @@ -1,11 +0,0 @@ -Require Export Xml. - -Require Omega. -Require Zlogarithm. -Require OmegaSyntax. -Require Zpower. - -Print XML Module Disk "examples" Omega. -Print XML Module Disk "examples" Zlogarithm. -Print XML Module Disk "examples" OmegaSyntax. -Print XML Module Disk "examples" Zpower. diff --git a/helm/EXPORT/exportcoq/provacoqcontribRing.v b/helm/EXPORT/exportcoq/provacoqcontribRing.v deleted file mode 100644 index bfc2633be..000000000 --- a/helm/EXPORT/exportcoq/provacoqcontribRing.v +++ /dev/null @@ -1,17 +0,0 @@ -Require Export Xml. - -Require ArithRing. -Require Quote. -Require Ring. -Require Ring_abstract. -Require Ring_normalize. -Require Ring_theory. -Require ZArithRing. - -Print XML Module Disk "examples" ArithRing. -Print XML Module Disk "examples" Quote. -Print XML Module Disk "examples" Ring. -Print XML Module Disk "examples" Ring_abstract. -Print XML Module Disk "examples" Ring_normalize. -Print XML Module Disk "examples" Ring_theory. -Print XML Module Disk "examples" ZArithRing. diff --git a/helm/EXPORT/exportcsczfc/Makefile b/helm/EXPORT/exportcsczfc/Makefile deleted file mode 100644 index 7016b2865..000000000 --- a/helm/EXPORT/exportcsczfc/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: objects theories - -objects: - coqc -R csc_zfc csc_zfc csc_zfc/*.v - echo "Load Verbose provacsczfc." | ~/V7/bin/coqtop.byte -R csc_zfc csc_zfc - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo csc_zfc/*.vo diff --git a/helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore b/helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore deleted file mode 100644 index 419956872..000000000 --- a/helm/EXPORT/exportcsczfc/csc_zfc/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.vo diff --git a/helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v b/helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v deleted file mode 100644 index 8019c08b3..000000000 --- a/helm/EXPORT/exportcsczfc/csc_zfc/csc_eqdep.v +++ /dev/null @@ -1,9 +0,0 @@ -Section Dependent_equality. - -Variable U:Type. -Variable P:U->Type. - -Inductive eq_depT [p:U;x:(P p)] : (q:U)(P q)->Prop := - eq_depT_intro : (eq_depT p x p x). - -End Dependent_equality. diff --git a/helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v b/helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v deleted file mode 100644 index a109239c0..000000000 --- a/helm/EXPORT/exportcsczfc/csc_zfc/csc_zfc.v +++ /dev/null @@ -1,1566 +0,0 @@ -(******************************************************************************) -(* Zermelo Set Theory + atomic sets *) -(* *) -(* Claudio Sacerdoti Coen *) -(* *) -(* Based on *) -(* *) -(* Zermolo Set Theory *) -(* *) -(* Benjamin Werner *) -(* *) -(******************************************************************************) - -(* This is an extension of Benjamin's encoding of usual Set Theory where I *) -(* assume the existence of exactly one atomic set for each object t of type T *) -(* where T is a Type in Coq: if (t:T) and (T:Type) then ((atom T t):Ens) *) -(* The usual axioms of set theory are modified so that they work in the *) -(* usual way if applied to "normal" sets, and in a reasonable way when *) -(* applied to atomic sets (for example (Union (atom T t) E) is equal to E for *) -(* each non-atomic set E) *) -(* All this has been already studied by Fraenkel and Mostowski in the '40, *) -(* but with totally different goals (in order to proove some independence *) -(* results in set theory) *) - -(* This is the introduction to the original encoding of Benjamin: *) -(* This is an encoding of usual Set Theory, simillar to Peter Aczel's work *) -(* in the early 80's. The main difference is that the propositions here *) -(* live in the impredicative world of "Prop". Thus, priority is given to *) -(* expressivity against constructivity. *) -(* *) -(* Since the definition of Sets is the same for both approaches, I added *) -(* most of Aczel's encoding of CZF at the end of the file. Many *) -(* definitions are common to both aproaches. *) - -(* In this work only the encoding of ZFC (and not that of CZF) has been *) -(* developed, but it should be straightforward to do. *) - -Require csc_eqdep. - -(******************************************************************************) -(* Useful data types *) -(******************************************************************************) - -Inductive Set F := . - -Inductive Set Un := void : Un. - -(* Existential quantification *) -Inductive EXType [P:Type; Q:P->Prop]: Prop := - EXTypei : (x:P)(Q x)->(EXType P Q). - -(* Sigma types -- i.e. computational existentials *) -Inductive sig [A:Type;P:A->Prop] : Type := - exist : (x:A)(P x)->(sig A P). - -(* Existential on the Type level *) -Inductive depprod [A:Type; P : A->Type] : Type := - dep_i : (x:A)(P x)->(depprod A P). - -(* Cartesian product in Type *) -Inductive prod_t [A,B:Type] : Type := - pair_t : A->B->(prod_t A B). - -(******************************************************************************) -(* Definition of Ens, EQ, IN *) -(******************************************************************************) - -(* The type representing sets (Ensemble = french for set) *) -Inductive Ens : Type := - sup : (A:Type)(A->Ens)->Ens - | atom : (A:Type)A->Ens. - -(* Recursive Definition of the extentional equality on sets *) -Definition EQ : Ens -> Ens -> Prop. -Induction 1. -Intros A f eq1. -Induction 1. -Intros B g eq2. -Apply and. -Exact (x:A) - (EXType ? [y:B](eq1 x (g y))). -Exact (y:B) - (EXType ? [x:A](eq1 x (g y))). - -Intros A' a'. -Exact False. - -Intros A a. -Induction 1. -Intros A' f eq1. -Exact False. - -Intros. -(*Exact (X == X0).*) -Exact (eq_depT Type [A:Type]A A a A0 y). -Save. - -Transparent EQ. - -(* Membership on sets *) -Definition IN: Ens -> Ens -> Prop := -[E1,E2:Ens] - Cases E2 of - (sup A f) => (EXType ? [y:A](EQ E1 (f y))) - | (atom A a) => False - end. -Transparent IN. - - -(******************************************************************************) -(* INCLUSION *) -(******************************************************************************) - -Definition INC : Ens -> Ens -> Prop := - [E1,E2:Ens] - Cases E1 E2 of - (sup A f) (sup B g) => (E:Ens)(IN E E1)->(IN E E2) - | (sup A f) (atom B b) => False - | (atom A a) (sup B g) => False (* ??? or True? *) - | (atom A a) (atom B b) => (EQ E1 E2) (* ??? or False? *) - end. - -(* EQ is an equivalence relation *) - -Theorem EQ_refl : (E:Ens)(EQ E E). -Induction E. -Intros; Split; Simpl; Intro. -Exists x; Exact (H x). -Exists y; Exact (H y). -Intros; Simpl; Constructor 1. -Qed. - -Theorem EQ_tran : (E1,E2,E3:Ens)(EQ E1 E2)->(EQ E2 E3)->(EQ E1 E3). -Induction E1; [Intros A1 f1 r1 | Intros A1 a1] ; -Induction E2; [Intros A2 f2 r2 | Intros A2 a2 | Intros A2 f2 r2 | Intros A2 a2]; -Induction E3; [Intros A3 f3 r3 | Auto | Contradiction | Auto | - Auto | Contradiction | Auto | Intros A3 a3]. -Simpl; Intros e1 e2; Split; Elim e1; Intros I1 I2; Elim e2; Intros I3 I4; - [ Intros a1; Elim (I1 a1) ; Intros a2 ; Elim (I3 a2) ; Intros a3 ; Exists a3 | - Intros a3; Elim (I4 a3) ; Intros a2 ; Elim (I2 a2) ; Intros a1 ; Exists a1 ]; - Apply r1 with (f2 a2); Assumption. - -Simpl ; Intros; Inversion H; Inversion H0; Assumption. -Qed. - -Theorem EQ_sym : (E1,E2:Ens)(EQ E1 E2)->(EQ E2 E1). -Induction E1 ; [ Intros A1 f1 r1 | Intros A1 a1 ]; -Induction E2 ; [Intros A2 f2 r2 | Contradiction | Contradiction |Intros A2 a2]. - -Induction 1; Intros e1 e2; Split; - [ Intros a2; Elim (e2 a2); Intros a1 H1; Exists a1 | - Intros a1; Elim (e1 a1); Intros a2 H2; Exists a2 ] ; Apply r1; Assumption. -Destruct 1; Apply EQ_refl. -Qed. - -Theorem EQ_INC : (E,E':Ens)(EQ E E')->(INC E E'). -Induction E ; [Intros A f r | Intros A a] ; Induction E' ; - [Intros A' f' r' | Contradiction | Contradiction | Intros A' a']. -Simpl; Destruct 1; Intros e1 e2. -Intros C; Induction 1; Intros a ea; Elim (e1 a); Intros a' ea'; Exists a'. -Apply EQ_tran with (f a); Assumption. -Destruct 1; Hnf; Constructor 1. -Qed. - -Hints Resolve EQ_sym EQ_refl EQ_INC : zfc. - -Theorem INC_EQ : (E,E':Ens)(INC E E')->(INC E' E)->(EQ E E'). -Induction E ; [Intros A f r | Intros A a] ; Induction E' ; - [Intros A' f' r' | Auto | Auto | Auto]. -Unfold INC; Simpl; Intros I1 I2; Split. -Intros a; Apply I1; Exists a; Apply EQ_refl. -Intros a'; Cut (EXType A [x:A](EQ (f' a')(f x))). -Induction 1; Intros a ea; Exists a; Apply EQ_sym; Exact ea. -Apply I2; Exists a'; Apply EQ_refl. -Qed. - -Hints Resolve INC_EQ : zfc. - -(* Membership is extentional (i.e. is stable w.r.t. EQ) *) - -Theorem IN_sound_left : - (E,E',E'':Ens) - (EQ E E')->(IN E E'')->(IN E' E''). -Induction E''; [Intros A'' f'' r'' e | Intros A'' a'' e]; Simpl. -Induction 1; Intros a'' p; Exists a''; Apply EQ_tran with E; - [Apply EQ_sym; Assumption | Assumption]. - -Intro; Assumption. -Qed. - -Theorem IN_sound_right : - (E,E',E'':Ens) - (EQ E' E'')->(IN E E')->(IN E E''). -Induction E'; [Intros A' f' r' | Intros A' a']; Induction E''; - [Intros A'' f'' r'' | Intros A'' a'' | Intros A'' f'' r'' | Intros A'' a'']; - Simpl. -Induction 1; Intros e1 e2; Induction 1; Intros a' e'; Elim (e1 a'); - Intros a'' e''; Exists a''; Apply EQ_tran with (f' a'); Assumption. -Intros; Assumption. -Intros; Elim H. -Intros; Assumption. -Qed. - -(* Inclusion is reflexive, transitive, extentional *) - -Theorem INC_refl : (E:Ens)(INC E E). -Induction E; Auto with zfc. -Qed. - -Theorem INC_tran : (E,E',E'':Ens)(INC E E')->(INC E' E'')->(INC E E''). -Induction E; Induction E'; Induction E''; Simpl; - Auto Orelse Contradiction Orelse (Intros; Elim H0; Assumption). -Qed. - -Theorem INC_sound_left : - (E,E',E'':Ens) - (EQ E E')->(INC E E'')->(INC E' E''). -Induction E; [Intros A f r | Intros A a]; Induction E'; - [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a']; - Induction E''; [Intros A'' f'' r'' | Contradiction | Contradiction | - Contradiction | Contradiction | Contradiction | Contradiction | - Intros A'' a'']. -Unfold INC; Intros; Apply H0; Apply IN_sound_right with (sup A' f'); - Auto with zfc. -Destruct 1; Auto. -Qed. - -Theorem INC_sound_right : - (E,E',E'':Ens) - (EQ E' E'')->(INC E E')->(INC E E''). -Induction E; [Intros A f r | Intros A a]; Induction E'; - [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a']; - Induction E''; [Intros A'' f'' r'' | Contradiction | Contradiction | - Contradiction | Contradiction | Contradiction | Contradiction | - Intros A'' a'']. -Unfold INC; Intros; Apply IN_sound_right with (sup A' f'); - [Assumption | Apply H0; Assumption]. -Destruct 1; Auto. -Qed. - -(******************************************************************************) -(* THE EMPTY SET *) -(******************************************************************************) - -(* The empty set (vide = french for empty) *) -Definition Vide : Ens := - (sup F [f:F]Cases f of end). - -Theorem Vide_est_vide : (E:Ens)(IN E Vide)->F. -Unfold Vide; Simpl; Intros E H; Cut False. -Induction 1. -Elim H; Intros x; Elim x. -Qed. - -(* CSC: This is different from Werner *) -Theorem tout_vide_est_Vide : - (A:Type)(f:A->Ens)((E':Ens)(IN E' (sup A f))->F)->(EQ (sup A f) Vide). -Intros; Hnf; Split. -Intro; Cut F. -Destruct 1. -Apply H with (f x); Unfold IN; Exists x; Apply EQ_refl. -Destruct y. -Qed. - -(******************************************************************************) -(* PAIRE *) -(******************************************************************************) - -Definition Paire : Ens -> Ens -> Ens := - [E1,E2:Ens] (sup bool [b:bool]Cases b of true => E1 | false => E2 end). - -(* The pair construction is extentional *) - -Theorem Paire_sound_left : (A,A',B:Ens) - (EQ A A')->(EQ (Paire A B)(Paire A' B)). -Unfold Paire . -Simpl. -(Intros; Split). -Induction x. -(Exists true; Auto with zfc). - -(Exists false; Auto with zfc). - -(Induction y; Simpl). -(Exists true; Auto with zfc). - -(Exists false; Auto with zfc). -Qed. - -Theorem Paire_sound_right : (A,B,B':Ens) - (EQ B B')->(EQ (Paire A B)(Paire A B')). -Unfold Paire; Simpl; Intros; Split. -Induction x. -(Exists true; Auto with zfc). -Exists false; Auto with zfc. -Induction y. -(Exists true; Auto with zfc). -Exists false; Auto with zfc. -Qed. - -Hints Resolve Paire_sound_right Paire_sound_left : zfc. - -Theorem IN_Paire_left : (E,E':Ens)(IN E (Paire E E')). -Unfold Paire; Exists true; Apply EQ_refl. -Qed. - -Theorem IN_Paire_right : (E,E':Ens)(IN E' (Paire E E')). -Unfold Paire; Exists false; Apply EQ_refl. -Qed. - -Theorem Paire_IN : (E,E',A:Ens)(IN A (Paire E E'))->(EQ A E)\/(EQ A E'). -Unfold Paire; Simpl. -Induction 1; Intros b; Elim b; Auto with zfc. -Save. - -Hints Resolve IN_Paire_left IN_Paire_right Vide_est_vide : zfc. - -(******************************************************************************) -(* SINGLETON *) -(******************************************************************************) - -(* CSC: This is different from Benjamin only because I like it more; *) -(* theorems are also simpler *) -(* In Benjamin's encoding (Sing E) was defined as (Paire E E) *) -Definition Sing : Ens -> Ens := - [E:Ens] (sup Un [x:Un]Cases x of void => E end). - -Theorem IN_Sing : (E:Ens)(IN E (Sing E)). -Simpl; Exists void; Apply EQ_refl. -Qed. - -Theorem IN_Sing_EQ : (E,E':Ens)(IN E (Sing E'))->(EQ E E'). -Simpl; Intros; Elim H; Destruct x; Trivial. -Qed. - -Hints Resolve IN_Sing IN_Sing_EQ : zfc. - -Theorem Sing_sound : (A,A':Ens)(EQ A A')->(EQ (Sing A)(Sing A')). -Intros; Hnf; Split; [Destruct x | Destruct y]; Exists void; Assumption. -Qed. - -Hints Resolve Sing_sound : zfc. - -Theorem EQ_Sing_EQ : (E1,E2:Ens)(EQ (Sing E1)(Sing E2))->(EQ E1 E2). -Intros; Hnf in H; Elim H; Intros; Elim (H0 void); Destruct x; Trivial. -Qed. - -Hints Resolve EQ_Sing_EQ : zfc. - -(******************************************************************************) -(* COMPREHENSION (OR SEPARATION) *) -(******************************************************************************) - -Definition Comp: Ens -> (Ens -> Prop) -> Ens. -Induction 1. -Intros A f fr P. -Apply (sup {x:A|(P (f x))}). -Induction 1; Intros x p; Exact (f x). -Intros. Exact X. -Qed. - -Transparent Comp. - -Theorem Comp_INC : (E:Ens)(P:Ens->Prop)(INC (Comp E P) E). -Destruct E. -Intros A f P; Simpl; Destruct E0; [Intros A' f' H | Intros A' a' H]; - Elim H; Destruct x; Intros x0 p eq; Exists x0; Exact eq. -Auto with zfc. -Qed. - -Theorem IN_Comp_P : - (E,A:Ens) - (P:Ens->Prop)((w1,w2:Ens)(P w1)->(EQ w1 w2)->(P w2))-> - (IN A (Comp E P))->(P A). -Induction E. -Simpl; Intros B f Hr A P H i; Elim i; Destruct x; Simpl; Intro b; Intros; - Apply H with (f b); Auto with zfc. -Contradiction. -Qed. - -Theorem IN_P_Comp : - (E,A:Ens) - (P:Ens ->Prop)((w1,w2:Ens)(P w1)->(EQ w1 w2)->(P w2))-> - (IN A E)->(P A)->(IN A (Comp E P)). -Induction E. -Simpl; Intros B f HR A P H i; Elim i; Simpl; Intros; Cut (P (f x)). -Intros Pf. -Exists (exist B [x:B](P (f x)) x Pf); Simpl; Auto with zfc. -Apply H with A; Auto with zfc. -Contradiction. -Qed. - -(* Again, extentionality is not stated, but easy *) - -(******************************************************************************) -(* UNION *) -(******************************************************************************) - -(* Projections of a set: *) -(* 1: its base type, F for atoms *) - -Definition pi1: Ens -> Type. -Induction 1. -Intros A f r. -Exact A. -Intros. -Exact F. -Save. - -Transparent pi1. - -(* 2: the function, [_:F]Vide for atoms *) - -Definition pi2 : (E:Ens)(pi1 E)->Ens. -Induction E. -Intros A f r. -Exact f. -Intros. -Exact Vide. -Save. - -Transparent pi2. - -Definition Union : (E:Ens)Ens. -Induction 1. -Intros A f r. -Apply (sup (depprod A [x:A](pi1 (f x)))). -Induction 1; Intros a b. -Exact (pi2 (f a) b). -Intros. -Exact Vide. -Save. - -Transparent Union. - -Theorem EQ_EXType : (E,E':Ens) - (EQ E E') - ->(a:(pi1 E)) - (EXType (pi1 E') [b:(pi1 E')](EQ (pi2 E a) (pi2 E' b))). -Induction E; [Intros A f r | Intros A a]; Induction E'; - [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a']. -Simpl; Destruct 1; Intros e1 e2 a; Apply e1. -Contradiction. -Contradiction. -Simpl; Destruct 2. -Qed. - -Transparent EQ_EXType. - -Theorem IN_EXType: (E,E':Ens)(IN E' E)-> - (EXType (pi1 E) [a:(pi1 E)](EQ E' (pi2 E a))). -Induction E. -Simpl; Intros A f r; Induction 1; Intros; Exists x; Assumption. -Destruct 1. -Qed. - -Theorem IN_Union : (E,E',E'':Ens) - (IN E' E)->(IN E'' E')->(IN E'' (Union E)). -Induction E. -2: Destruct 1. -Intros A f r. -Intros; Simpl. -Elim (IN_EXType (sup A f) E' H). -Intros x e. -Cut (EQ (pi2 (sup A f) x) E'). -2: Auto with zfc v62. -Intros e1. -Cut (IN E'' (pi2 (sup A f) x)). -Intros i1. -Elim (IN_EXType ? ? i1). -Intros x0 e2. -Simpl in x0. -Exists (dep_i A [x:A](pi1 (f x)) x x0). -Simpl. -Exact e2. -Apply IN_sound_right with E'; Assumption. -Qed. - -(* CSC: This is different from Benjamin *) -Theorem IN_INC_Union : - (A:Type)(f:A->Ens)(E:Ens)(IN (sup A f) E)->(INC (sup A f) (Union E)). -Induction E. -Intros A f r H; Hnf; Hnf in H; Intros; Elim H; Intros x e. -Cut (IN E0 (f0 x)). -Intro in_E0_f0x; Apply IN_Union with (f0 x). -Hnf; Split with x; Auto with zfc. - -Auto with zfc. -Apply IN_sound_right with (sup A f); Trivial. - -(Simpl; Destruct 2; Destruct x). -Qed. - -Theorem Union_IN : (E,E':Ens)(IN E' (Union E))-> - (EXType ? [E1:Ens](IN E1 E)/\(IN E' E1)). -Induction E. -2: (Simpl; Destruct 2; Destruct x). -Unfold Union ; Simpl; Intros A f r. -Induction 1. -Induction x. -(Intros a b; Simpl). -Intros. -Exists (f a). -Split. -(Exists a; Auto with zfc v62). - -(Apply IN_sound_left with (pi2 (f a) b); Auto with zfc v62). -Simpl. -(Generalize b ; Elim (f a); Simpl). -Intros. -(Exists b0; Auto with zfc v62). - -Destruct 2. -Qed. - -(* extentionality of union *) - -Theorem Union_sound - : (E,E':Ens)(EQ E E')->(EQ (Union E) (Union E')). -Unfold Union. -Induction E ; [Intros A f r | Intros A a] ; Induction E' ; - [Intros A' f' r' | Intros A' a' | Intros A' f' r' | Intros A' a']. - -Simpl; Induction 1; Intros e1 e2; Split. -Intros x; Elim x; Intros a aa; Elim (e1 a); Intros a' ea. -Elim (EQ_EXType (f a)(f' a') ea aa); Intros aa' eaa. -Exists (dep_i A' [x:A'](pi1 (f' x)) a' aa'); Simpl; Auto with zfc v62. -Intros c'; Elim c'; Intros a' aa'; Elim (e2 a'); Intros a ea. -Cut (EQ (f' a')(f a)). -2 : Auto with zfc v62. -Intros ea'; Elim (EQ_EXType (f' a')(f a) ea' aa'); Intros aa eaa. -Exists (dep_i A [x:A](pi1 (f x)) a aa); Auto with zfc v62. - -Contradiction. -Contradiction. -Destruct 1; Apply EQ_refl. -Qed. - -(* The union construction is monotone w.r.t. inclusion *) - -Theorem Union_mon : (E,E':Ens)(INC E E')->(INC (Union E)(Union E')). -Induction E ; [Intros A f r | Intros A a] ; Induction E'; - [Intros A' f' r' | Contradiction | Contradiction | Intros A' a']. -2: Auto with zfc. -Intro; Cut (E:Ens)(IN E (sup A f))->(IN E (sup A' f')). -2: Auto. -Intro XXX; Cut ((E:Ens)(IN E (Union (sup A f)))->(IN E (Union (sup A' f')))) - ->(INC (Union (sup A f)) (Union (sup A' f'))). -2: Auto. -Intros X; Apply X; Intros E0 Y; (Elim (Union_IN (sup A f) E0); Auto with zfc). -Destruct 1; Intros; Cut (IN x (sup A' f')). -2: Auto. -Intro; (Apply IN_Union with x; Auto). -Qed. - -(******************************************************************************) -(* INTERSECTION *) -(******************************************************************************) - -Definition Inter : (E:Ens)Ens := -[E:Ens] - Cases E of - (sup A f) => - (sup ? - [c:(depprod A - [a:A](depprod ? [b:(pi1 (f a))](x:A)(IN (pi2 (f a) b)(f x))) - ) - ] - Cases c of - (dep_i a (dep_i b p)) => (pi2 (f a) b) - end - ) - | (atom A a) => Vide - end. - -Theorem IN_Inter_all : (E,E':Ens) - (IN E' (Inter E))-> - (E'':Ens)(IN E'' E)->(IN E' E''). -Induction E; [Intros A f r | Contradiction]; Intros E'. -Induction 1; Intros c; Elim c; Intros a ca; Elim ca; Intros aa paa. -Intros e E'' e''. -Elim e''; Intros a1 ea1. -Apply IN_sound_right with (f a1); Auto with zfc v62. -Apply IN_sound_left with (pi2 (f a) aa); Auto with zfc v62. -Qed. - -Theorem all_IN_Inter : (E,E',E'':Ens) - (IN E'' E)-> - ((E'':Ens)(IN E'' E)->(IN E' E''))-> - (IN E' (Inter E)). -(Induction E; [Intros A f r | Contradiction]). -Intros E' E'' i H. -Elim (IN_EXType (sup A f) E'' i). -(Intros a e; Simpl in a). -Simpl in e. -(Cut (IN E' E''); Auto with zfc v62). -Intros i'. -(Cut (IN E' (f a)); Auto with zfc v62). -Intros i0. -Elim (IN_EXType (f a) E' i0). -Intros b e'. -Simpl. -Cut (x:A)(IN (pi2 (f a) b) (f x)). -Intros. -Exists (dep_i A - [a:A] - (depprod (pi1 (f a)) - [b:(pi1 (f a))](x:A)(IN (pi2 (f a) b) (f x))) - a - (dep_i (pi1 (f a)) - [b:(pi1 (f a))](x:A)(IN (pi2 (f a) b) (f x)) b H0)). -Simpl. -Auto with zfc v62. -Auto with zfc v62. -Intros. -Apply IN_sound_left with E'. -Auto with zfc v62. -Apply H. -Auto with zfc v62. -Simpl. -(Exists x; Auto with zfc v62). -(Apply IN_sound_right with E''; Auto with zfc v62). -Qed. - -(******************************************************************************) -(* POWERSET *) -(******************************************************************************) - -Definition Power : Ens -> Ens := -[E:Ens] - Cases E of - (sup A f) => - (sup ? - [P:A->Prop] - (sup ? - [c:(depprod A [a:A](P a))] - Cases c of - (dep_i a p) => (f a) - end - ) - ) - | (atom A a) => (Sing (atom A a)) (* ??? or Vide? *) - end. - -Theorem IN_Power_INC : (E,E':Ens)(IN E' (Power E))->(INC E' E). -Induction E. -Intros A f r; Unfold INC ; Simpl. -Intros E'; Induction 1; Intros P. -Elim E'. -Simpl. -Intros A' f' r'. -Induction 1; Intros HA HB. -Intros E''; Induction 1; Intros a' e. -Elim (HA a'). -Induction x; Intros a p. -Intros; Exists a. -Apply EQ_tran with (f' a'); Auto with zfc v62. -Contradiction. -Auto with zfc. -Qed. - -(* CSC: This is different from Benjamin *) -Theorem INC_IN_Power : (E,E':Ens)(INC E' E)->(IN E' (Power E)). -Induction E. -2: Induction E'. -2: Contradiction. -2: (Destruct 1; Unfold Power; Auto with zfc). -Intros A f r; Unfold INC; Simpl; Induction E'. -2: Contradiction. -Intros A' f' r' i. -Exists [a:A](IN (f a) (sup A' f')). -Simpl. -Split. -Intros. -Elim (i (f' x)). -Intros a e. -(Cut (EQ (f a) (f' x)); Auto with zfc v62). -Intros e1. -Exists (dep_i A [a:A](EXType A' [y:A'](EQ (f a) (f' y))) a - (EXTypei A' [y:A'](EQ (f a) (f' y)) x e1)). -Auto with zfc v62. -Simpl. -(Exists x; Auto with zfc v62). -Induction y; Induction 1; Intros. -(Exists x0; Auto with zfc v62). -Qed. - -Theorem Power_mon : (E,E':Ens)(INC E E')->(INC (Power E)(Power E')). -Induction E; [Intros A f r | Intros A a]; Induction E'; - [Intros A' f' r' | Contradiction | Contradiction | Destruct 1; Auto with zfc]. -Intro. -Hnf in H. -Cut ((E:Ens)(IN E (Power (sup A f)))->(IN E (Power (sup A' f')))) - ->(INC (Power (sup A f)) (Power (sup A' f'))). -2: Auto. -Intros. -Apply H0. -Intros. -Cut (INC E0 (sup A f)). -2: (Apply IN_Power_INC; Auto). -Intro. -Cut (INC E0 (sup A' f')). -Intro. -Apply INC_IN_Power. -Assumption. - -Generalize H2. -Elim E0. -Unfold INC. -Auto with zfc. - -Auto with zfc. -Qed. - -Theorem Power_sound : (E,E':Ens)(EQ E E')->(EQ (Power E)(Power E')). -Induction E; [Intros A f r | Intros A a]; Induction E'; - [Intros A' f' r' | Contradiction | Contradiction | Destruct 1; Auto with zfc]. -Intro. -Apply INC_EQ. -Cut ((E:Ens)(IN E (Power (sup A f)))->(IN E (Power (sup A' f')))) - ->(INC (Power (sup A f)) (Power (sup A' f'))). -2: Auto. -Intros; Apply H0; Clear H0; Intros; Cut (INC E0 (sup A f)). -2: (Apply IN_Power_INC; Auto with zfc). -Clear H0; Intro; Apply INC_IN_Power. -(Apply INC_sound_right with (sup A f); Auto). - -(* Using simmetry *) -Cut ((E:Ens)(IN E (Power (sup A' f')))->(IN E (Power (sup A f)))) - ->(INC (Power (sup A' f')) (Power (sup A f))). -2: Auto. -Intros; Apply H0; Clear H0; Intros; Cut (INC E0 (sup A' f')). -2: (Apply IN_Power_INC; Auto with zfc). -Clear H0; Intro; Apply INC_IN_Power. -(Apply INC_sound_right with (sup A' f'); Auto with zfc). -Qed. - -(******************************************************************************) -(* ORDERED COUPLES *) -(******************************************************************************) - -(* small lemmas *) - -Theorem not_EQ_Sing_Vide : (E:Ens)(EQ (Sing E) Vide)->F. -Intros E e; Cut False. -Induction 1. -Cut (IN E Vide). -Simpl; Induction 1; Intros xx; Elim xx; Induction 1. -Apply IN_sound_right with (Sing E); Auto with zfc v62. -Qed. - -Theorem not_EQ_Vide_Sing : (E:Ens)(EQ Vide (Sing E))->F. -Intros E e; Cut False. -Induction 1. -Cut (IN E Vide). -Simpl; Induction 1; Intros xx; Elim xx; Induction 1. -Apply IN_sound_right with (Sing E); Auto with zfc v62. -Qed. - -(* This definition of the ordered pair is slightly different from *) -(* the usual one, since we want it to work in an intuisionistic *) -(* setting. Works the same, neitherless. The soundness proofs are *) -(* unpleasant. *) - -Definition Couple := [E,E': Ens](Paire (Sing E) (Paire Vide (Sing E'))). - -Theorem Couple_inj_left : (A,A',B,B':Ens) - (EQ (Couple A A')(Couple B B'))->(EQ A B). -(Unfold Couple; Simpl); Induction 1; (Intros HA HB; Elim (HA true)). -(Intros x; Elim x; Simpl; Induction 1; Intros H3 H4; Elim (H3 void); - Simpl; Destruct x0). -Trivial. - -Elim (H4 false); Destruct x1; Intros; Cut (EQ (Sing B') Vide). -Simpl; Induction 1; Intros yy; Elim (yy void); Destruct x2. - -Apply EQ_tran with A. -Auto with zfc. - -Assumption. - -Intros; Cut (EQ (Sing B') Vide). -Simpl; Induction 1; Intros yy; Elim (yy void); Destruct x1. - -Apply EQ_tran with A. -Auto with zfc. - -Elim (H4 true); Destruct x1; Trivial. -Qed. - -Theorem Couple_inj_right : (A,A',B,B':Ens) - (EQ (Couple A A')(Couple B B'))->(EQ A' B'). -Unfold Couple; Simpl. -Induction 1; Intros H1 H2. -Elim (H1 false). -Intros bb1; Elim bb1. -Intros HF. -Change (EQ (Paire Vide (Sing A'))(Sing B)) in HF. -Cut F. -Induction 1. -Apply (not_EQ_Vide_Sing A'). -Apply EQ_tran with B. -Apply IN_Sing_EQ; Apply IN_sound_right with (Paire Vide (Sing A')); - Auto with zfc v62. -Apply EQ_sym; Apply IN_Sing_EQ; - Apply IN_sound_right with (Paire Vide (Sing A')); Auto with zfc v62. -Change (EQ (Paire Vide (Sing A'))(Paire Vide (Sing B')))->(EQ A' B'). -Intros HP; Cut (EQ (Sing A') (Sing B')). -Intros; Auto with zfc v62. -Cut (IN (Sing A')(Paire Vide (Sing B'))). -Intros HI; Elim (Paire_IN Vide (Sing B')(Sing A') HI). -Intros; Cut F. -Induction 1. -Apply not_EQ_Sing_Vide with A'; Assumption. -Trivial with zfc v62. -Apply IN_sound_right with (Paire Vide (Sing A')); Auto with zfc v62. -Qed. - -(******************************************************************************) -(* POWERSET *) -(******************************************************************************) - -(* Here we cheat. It is easier to define the cartesian product using *) -(* the type theoretical product, i.e. we here use non set-theoretical *) -(* constructions. We could however use the usual definitions. *) - -Definition Prod : Ens -> Ens -> Ens := -[E,E':Ens] - Cases E E' of - (sup A f) (sup A' f') => - (sup ? - [c:(prod_t A A')] - Cases c of - (pair_t a a') => (Couple (f a) (f' a')) - end - ) - | _ _ => Vide - end. - -Hints Resolve Paire_sound_left Paire_sound_right : zfc. - -Theorem Couple_sound_left : - (A,A',B:Ens)(EQ A A')->(EQ (Couple A B)(Couple A' B)). - Unfold Couple;Intros; Auto with zfc v62. -Save. - -Theorem Couple_sound_right: - (A,B,B':Ens)(EQ B B')->(EQ (Couple A B)(Couple A B')). - Unfold Couple;Intros; Auto with zfc v62. -Save. - -Theorem Couple_IN_Prod : (E1,E2,E1',E2':Ens) - (IN E1' E1)->(IN E2' E2)-> - (IN (Couple E1' E2')(Prod E1 E2)). -Induction E1; [Intros A1 f1 r1 | Contradiction]. -Induction E2; [Intros A2 f2 r2 | Contradiction]. -Intros E1' E2' i1 i2. -Elim (IN_EXType (sup A1 f1) E1'). -(Intros x e1; Simpl in x). -Elim (IN_EXType (sup A2 f2) E2'). -(Intros x0 e2; Simpl in x). -Apply IN_sound_left with (Couple (pi2 (sup A1 f1) x) (pi2 (sup A2 f2) x0)). -Apply EQ_tran with (Couple (pi2 (sup A1 f1) x) E2'). -Apply Couple_sound_right. -Auto with zfc v62. - -(Apply Couple_sound_left; Auto with zfc v62). - -Simpl. -Exists (pair_t ? ? x x0). -Simpl. -Split. - -Induction x1. -Exists true; Auto with zfc. -Exists false; Auto with zfc. - -Induction y. -Exists true; Auto with zfc. -Exists false; Auto with zfc. -Assumption. -Assumption. -Qed. - -Theorem Couple_Prod_IN : (E1,E2,E1',E2':Ens) - (IN (Couple E1' E2')(Prod E1 E2))-> - (IN E1' E1)/\(IN E2' E2). -Induction E1; [Intros A1 f1 r1 | Destruct 1; Destruct x]. -Induction E2; [Intros A2 f2 r2 | Destruct 1; Destruct x]. -Intros E1' E2' i. -Elim (IN_EXType (Prod (sup A1 f1) (sup A2 f2)) (Couple E1' E2') i). -Destruct x; Intros a1 a2 e. -Change (EQ (Couple E1' E2') (Couple (f1 a1) (f2 a2))) in e. -Cut (EQ E1' (f1 a1)). -Cut (EQ E2' (f2 a2)). -Intros e1 e2. -Split. -Apply IN_sound_left with (f1 a1); Auto with zfc v62; Simpl; Exists a1; - Auto with zfc v62. -Apply IN_sound_left with (f2 a2); Auto with zfc v62; Simpl; Exists a2; - Auto with zfc v62. -Apply Couple_inj_right with A:=E1' B:=(f1 a1); Auto with zfc v62. -Apply Couple_inj_left with E2' (f2 a2); Auto with zfc v62. -Qed. - -Theorem IN_Prod_EXType : (E,E',E'':Ens)(IN E'' (Prod E E'))-> - (EXType ? [A:Ens](EXType ? [B:Ens](EQ (Couple A B) E''))). -Induction E ; [Intros A f r | Destruct 1; Destruct x]. -Induction E'; [Intros A' f' r' | Destruct 1; Destruct x]. -Intros; Elim (IN_EXType (Prod (sup A f) (sup A' f')) E''). -Induction x. -Intros; Exists (f y); Exists (f' y0); Auto with zfc v62. -Auto with zfc v62. -Qed. - -(******************************************************************************) -(* ORDINALS *) -(******************************************************************************) - -Definition Succ := [E:Ens](Union (Paire E (Sing E))). - -Inductive Ord : Ens -> Prop := - Oo : (Ord Vide) -| So : (E:Ens)(Ord E)->(Ord (Succ E)) -| Lo : (E:Ens)((e:Ens)(IN e E)->(Ord e))->(Ord (Union E)) -| Eo : (E,E':Ens)(Ord E)->(EQ E E')->(Ord E'). - -Hints Resolve Oo So Lo : zfc. - -Definition Nat : nat ->Ens. -Induction 1; Intros. -Exact Vide. -Exact (Succ X). -Save. - -Transparent Nat. - -Theorem Nat_Ord : (n:nat)(Ord (Nat n)). -Induction n; Simpl; Auto with zfc v62. -Save. - -Definition Omega : Ens := - (sup nat Nat). - -Theorem IN_Succ : (E:Ens)(IN E (Succ E)). -Intros E; Unfold Succ; Apply IN_Union with (Sing E); Auto with zfc v62. -Qed. - -(* CSC: This is different from Werner *) -Theorem INC_Succ : (A:Type)(f:A->Ens)(INC (sup A f) (Succ (sup A f))). -Intros; Cut ((E:Ens)(IN E (sup A f))->(IN E (Succ (sup A f)))) - ->(INC (sup A f) (Succ (sup A f))). -Intros; Apply H; Unfold Succ; Intros. -Apply IN_Union with (sup A f); Auto with zfc. - -Intros; Exact H. -Qed. - -Hints Resolve IN_Succ INC_Succ : zfc. - -Theorem IN_Succ_or : (E,E':Ens)(IN E' (Succ E))->(EQ E E')\/(IN E' E). -Intros E E' i. -Unfold Succ in i. -Elim (Union_IN (Paire E (Sing E)) E' i). -Intros E1; Induction 1; Intros i1 i2. -Elim (Paire_IN E (Sing E) E1 i1). -Intros; Right; Apply IN_sound_right with E1; Auto with zfc v62. -Intros; Left; Cut (IN E' (Sing E)). -Auto with zfc v62. -Apply IN_sound_right with E1; Auto with zfc v62. -Qed. - -Theorem E_not_IN_E : (E:Ens)(IN E E)->F. -Induction E. -Intros A f r i. -Cut False. -Induction 1. -Elim (IN_EXType (sup A f) (sup A f) i); Intros a e. - -Simpl in a. -Change (EQ (sup A f) (f a)) in e. -Elim (r a). -Apply IN_sound_right with (sup A f); Auto with zfc v62. -Exists a; Auto with zfc v62. -Intros; Cut False; Contradiction. -Qed. - -Theorem Nat_IN_Omega : (n:nat)(IN (Nat n) Omega). -Intros; Simpl; Exists n; Auto with zfc v62. -Qed. -Hints Resolve Nat_IN_Omega : zfc. - -Theorem IN_Omega_EXType : (E:Ens)(IN E Omega)->(EXType ? [n:nat](EQ (Nat n) E)). -(Simpl; Induction 1). -Intros n e. -(Exists n; Auto with zfc v62). -Qed. - -Theorem IN_Nat_EXType : (n:nat)(E:Ens)(IN E (Nat n))->(EXType ? [p:nat](EQ E (Nat p))). -Induction n. -Simpl. -Induction 1. -Induction x. - -Intros. -Change (IN E (Succ (Nat n0))) in H0. -Elim (IN_Succ_or (Nat n0) E H0). -(Intros; Exists n0). -Auto with zfc v62. - -Intros. -(Elim (H E); Auto with zfc v62). -Qed. - -Theorem Omega_EQ_Union : (EQ Omega (Union Omega)). -Apply INC_EQ. -Cut ((E:Ens)(IN E Omega)->(IN E (Union Omega))) - ->(INC Omega (Union Omega)). -Intros; Apply H. -Clear H. -Intros. -Elim (IN_Omega_EXType E H). -Intros n e. -Apply IN_Union with (Nat (S n)). -Auto with zfc v62. - -Apply IN_sound_left with (Nat n). -Auto with zfc v62. - -(Change (IN (Nat n) (Succ (Nat n))); Auto with zfc v62). - -Intros. -Exact H. - -Cut ((E:Ens)(IN E (Union Omega))->(IN E Omega)) - ->(INC (Union Omega) Omega). -Intros; Apply H; Clear H. -Intros. -Elim (Union_IN Omega E H). -Intros e h. -Elim h. -Intros i1 i2. -Elim (IN_Omega_EXType e i1). -Intros n e1. -Cut (IN E (Nat n)). -Intros. -(Elim (IN_Nat_EXType n E H0); Intros). -(Apply IN_sound_left with (Nat x); Auto with zfc v62). - -(Apply IN_sound_right with e; Auto with zfc v62). - -Intros. -Exact H. -Qed. - -Theorem Omega_Ord : (Ord Omega). -Apply Eo with (Union Omega). -Apply Lo. -Intros. -Elim (IN_Omega_EXType e H). -Intros n ee. -Apply Eo with (Nat n); Auto with zfc v62. -Elim n. -Auto with zfc v62. -Auto with zfc v62. -Intros. -Change (Ord (Succ (Nat n0))); Auto with zfc v62. -Apply EQ_sym; Auto with zfc v62. -Apply Omega_EQ_Union. -Qed. - -Definition Alpha : Ens->Ens. -Induction 1. -Intros A f r. -Apply Union. -Apply (sup A). -Intros a. -Exact (Power (r a)). -Intros A a; Exact (atom A a). (* ??? or Vide? *) -Save. - -Transparent Alpha. - -(******************************************************************************) -(* AXIOM OF CHOICE *) -(******************************************************************************) - -(* A Type-theoretical axiom of choice gives us the collection axiom *) - -Definition collection := - (P:Ens->Ens->Prop) - ((x,x',y:Ens)(EQ x x')->(P x y)->(P x' y))-> - ((E:Ens)(EXType ? (P E)))-> - (E:Ens)(EXType ? [A:Ens](x:Ens)(IN x E)-> - (EXType ? [y:Ens](IN y A)/\(P x y))). - - -Definition choice := - (A,B:Type)(P:A->B->Prop) - ((a:A)(EXType ? [b:B](P a b)))-> - (EXType ? [f:A->B]((a:A)(P a (f a)))). - -Theorem Choice_Collection : choice -> collection. -Intro; Unfold collection; Intros P comp G E; - Cut (EXType ? [f:(Ens->Ens)](B:Ens)(P B (f B))). -Induction 1; Intros f Pf; Elim E. -Intros A g hr; Split with (sup A [a:A](f (g a))). -Simpl; Intros X i; Elim i; Intros a ea; Split with (f (g a)). -Split. -Exists a; Auto with zfc. - -Apply comp with (g a); Auto with zfc. - -Auto with zfc. - -Intros; Split with Vide; Contradiction. - -Unfold choice in H; Apply H; Intros; Elim (G a); Intros b hb; Exists b; - Assumption. -Qed. - -(* If we also assume the excluded middle, we can derive *) -(* the usual replacement schemata. *) - -Definition functional := - [P:Ens->Ens->Prop](x,y,y':Ens) - (P x y)->(P x y')->(EQ y y'). -Definition replacement := - (P:Ens->Ens->Prop) - (functional P)-> - ((x,y,y':Ens)(EQ y y')->(P x y)->(P x y'))-> - ((x,x',y:Ens)(EQ x x')->(P x y)->(P x' y))-> - (X:Ens)(EXType ? [Y:Ens](y:Ens) - (((IN y Y)->(EXType ? [x:Ens](IN x X)/\(P x y))) - /\((EXType ? [x:Ens](IN x X)/\(P x y))->(IN y Y)))). - -Theorem classical_Collection_Replacement : - ((S:Prop)S\/(S->False))-> - collection -> - replacement. -Unfold replacement; Intros EM Collection P fp comp_r comp_l X. -Cut (EXType ? [Y:Ens](y:Ens)((EXType ? [x:Ens](IN x X)/\(P x y))->(IN y Y))). -Induction 1; Intros Y HY. -Exists (Comp Y [y:Ens](EXType ? [x:Ens](IN x X)/\(P x y))). -Intros y; Split. -Intros HC. -Apply (IN_Comp_P Y y [y0:Ens](EXType Ens [x:Ens](IN x X)/\(P x y0))); Auto with zfc v62. -Intros w1 w2; Induction 1; Intros x; Induction 1; Intros Ix Px e. -Exists x; Split; Auto with zfc v62. -Apply comp_r with w1; Auto with zfc v62. -Intros He. -Apply IN_P_Comp. - -Intros w1 w2; Induction 1; Intros x; Induction 1; Intros Ix Px e. -Exists x; Split; Auto with zfc v62. -Apply comp_r with w1; Auto with zfc v62. -Apply HY; Auto with zfc v62. -Auto with zfc v62. - -Elim (Collection [x,y:Ens]((P x y)\/(((y':Ens)(P x y')->False)/\(EQ y Vide)))) - with X. -Intros Y HY. -Elim (EM (EXType ? [x:Ens](IN x X)/\(P x Vide))). -Intros Hvide; Elim Hvide; Intros xv Hxv; Exists Y. -Intros y; Induction 1; Intros x; Induction 1; Intros Hx1 Hx2. -Elim (HY x Hx1). -Intros y'; Induction 1; Intros Hy'1 Hy'2. -Elim Hy'2. -Intros Hy'3; Apply IN_sound_left with y'; Auto with zfc v62. -Apply fp with x; Auto with zfc v62. -Induction 1; Intros Hy'3 Hy'4. -Elim (Hy'3 y Hx2). -Intros HP; Exists (Comp Y [y:Ens]((EQ y Vide)->False)). -Intros y; Induction 1; Intros x; Induction 1; Intros Hx1 Hx2. -Apply IN_P_Comp. -Intros w1 w2 Hw1 Hw Hw2; Apply Hw1; Apply EQ_tran with w2; Auto with zfc v62. -Elim (HY x). -Intros y'; Induction 1; Intros Hy'1 Hy'2. -Elim Hy'2; Intros Hy'3. -Apply IN_sound_left with y'; Auto with zfc v62. -Apply fp with x; Auto with zfc v62. -Elim Hy'3; Intros Hy'4 Hy'5. -Elim (Hy'4 y); Auto with zfc v62. -Assumption. -Intros e; Apply HP; Exists x; Split; Auto with zfc v62; - Apply comp_r with y; Auto with zfc v62; Apply fp; Auto with zfc v62. -Intros x x' y e Hx; Elim Hx; Intros Hx1. -Left; Apply comp_l with x; Auto with zfc v62. -Right; Elim Hx1; Intros Hx2 Hx3; Split. -2 : Assumption. -Intros y' Hy'; Apply (Hx2 y'); Apply comp_l with x'; Auto with zfc v62. -Intros x; Elim (EM (EXType ? [y:Ens](P x y))); Intros Hx. -Elim Hx; Intros x0 Hx0; Exists x0; Left; Assumption. -Exists Vide; Right; Split; Auto with zfc v62. -Intros y Hy; Elim Hx; Exists y; Auto with zfc v62. -Qed. - -(******************************************************************************) -(* SMALL SETS AND THE BIG SET OF SMALL SETS *) -(******************************************************************************) - -(* Some definitions replicated on another type level *) - -Inductive EXType' [P:Type; Q:P->Prop]: Prop := - EXTypei' : (x:P)(Q x)->(EXType' P Q). - -Inductive prod_t' [A,B:Type] : Type := - pair_t' : A->B->(prod_t' A B). - -Inductive depprod'' [A:Type; P : A->Type] : Type := - dep_i'' : (x:A)(P x)->(depprod'' A P). - -(* The small sets *) -Inductive Ens' : Type := - sup' : (A:Type)(A->Ens')->Ens' - | atom' : (A:Type)A->Ens'. - -(* Equality on small sets *) -Definition EQ' : Ens' -> Ens' -> Prop. -Induction 1. -Intros A f eq1. -Induction 1. -Intros B g eq2. -Apply and. -Exact (x:A) - (EXType' ? [y:B](eq1 x (g y))). -Exact (y:B) - (EXType' ? [x:A](eq1 x (g y))). - -Intros A' a'. -Exact False. - -Intros A a. -Induction 1. -Intros A' f eq1. -Exact False. - -Intros. -(*Exact (X == X0).*) -Exact (eq_depT Type [A:Type]A A a A0 y). -Save. - -Transparent EQ'. - -(* small sets can be injected into big sets *) -Definition inj : Ens'->Ens. -Induction 1; [Intros A f fr ; Exact (sup A fr) | Intros A a ; Exact (atom A a)]. -Qed. - -Transparent inj. - -Theorem inj_sound : (E1,E2:Ens')(EQ' E1 E2)->(EQ (inj E1)(inj E2)). -Induction E1; [Intros A1 f1 r1 | Intros A a] ; Induction E2; - [Intros A2 f2 r2 | Contradiction | Contradiction | Intros A' a']. -(Induction 1; Intros HR1 HR2; Split). -(Intros a1; Elim (HR1 a1); Intros a2 Ha2; Exists a2; Auto with zfc v62). -(Intros a2; Elim (HR2 a2); Intros a1 Ha1; Exists a1; Auto with zfc v62). - -Auto with zfc. -Qed. - -Definition Sing' : Ens' -> Ens' := - [E:Ens'] (sup' Un [x:Un]Cases x of void => E end). - -Definition Power' : Ens' -> Ens' := -[E:Ens'] - Cases E of - (sup' A f) => - (sup' ? - [P:A->Prop] - (sup' ? - [c:(depprod'' A [a:A](P a))] - Cases c of - (dep_i'' a p) => (f a) - end - ) - ) - | (atom' A a) => (Sing' (atom' A a)) (* ??? or Vide? *) - end. - -Theorem Power_sound_inj : (E:Ens')(EQ (inj (Power' E))(Power (inj E))). -Induction E; [Intros A f HR | Intros A a]. -Simpl; Split. -Intros P; Exists P; Split. -Intros c; Elim c; Intros a p. -Exists (dep_i A [a0:A](P a0) a p); Simpl; Auto with zfc v62. -Intros c; Elim c; Intros a p. -Exists (dep_i'' A [a0:A](P a0) a p); Simpl; Auto with zfc v62. -Intros P; Exists P; Split. -Intros c; Elim c; Intros a p. -Exists (dep_i A [a0:A](P a0) a p); Simpl; Auto with zfc v62. -Intros c; Elim c; Intros a p. -Exists (dep_i'' A [a0:A](P a0) a p); Simpl; Auto with zfc v62. - -Simpl; Split. -Destruct x; Exists void; Auto with zfc. -Destruct y; Exists void; Auto with zfc. -Qed. - -(* The set of small sets *) -Definition Big := (sup Ens' inj). - -Theorem Big_is_big : (E:Ens')(IN (inj E) Big). -Intros E; Unfold Big; Simpl; Exists E; Auto with zfc. -Qed. - -Theorem IN_Big_small : (E:Ens)(IN E Big)->(EXType' ? [E':Ens'](EQ E (inj E'))). -Unfold Big; Simpl; Induction 1; Intros E' HE'; Exists E'; Assumption. -Qed. - -Theorem IN_small_small : (E:Ens)(E':Ens')(IN E (inj E'))-> - (EXType' ? [E1:Ens'](EQ E (inj E1))). -Induction E'; [Intros A' f' HR' | Contradiction]; Simpl; - Induction 1; Intros a' e'; Exists (f' a'); Assumption. -Qed. - -Theorem Big_closed_for_power : (E:Ens)(IN E Big)->(IN (Power E) Big). -Unfold Big; Simpl; Intros E; Induction 1; Intros E' HE'; Exists (Power' E'). -Apply EQ_tran with (Power (inj E')). -Apply Power_sound; Assumption. -Apply EQ_sym; Apply Power_sound_inj. -Qed. - -(******************************************************************************) -(* NO SET OF ALL SETS *) -(******************************************************************************) - -(* Just for fun : a proof that there is no set of all sets, using *) -(* Russell's paradox construction *) -(* There, of course, are other proofs (foundation, etc) *) - -Theorem Russell : (E:Ens)((E':Ens)(IN E' E))->False. -Intros U HU. -Cut ([x:Ens](IN x x)->False (Comp U [x:Ens](IN x x)->False)). -Intros HR. -Apply HR. -(Apply IN_P_Comp; Auto with zfc v62). -(Intros w1 w2 HF e i; Apply HF; Apply IN_sound_left with w2; Auto with zfc v62; - Apply IN_sound_right with w2; Auto with zfc v62). -Intros H. -Cut (IN (Comp U [x:Ens](IN x x)->False) (Comp U [x:Ens](IN x x)->False)). -Change ([x:Ens](IN x x)->False (Comp U [x:Ens](IN x x)->False)). -Cut (w1,w2:Ens)((IN w1 w1)->False)->(EQ w1 w2)->(IN w2 w2)->False. -Intros ww. -Exact (IN_Comp_P U (Comp U [x:Ens](IN x x)->False) - [x:Ens](IN x x)->False ww H). -(Intros w1 w2 HF e i; Apply HF; Apply IN_sound_left with w2; Auto with zfc v62; - Apply IN_sound_right with w2; Auto with zfc v62). -Assumption. -Qed. - -(******************************************************************************) -(* SOME AXIOMS AND STRANGE THINGS ;-( *) -(* *) -(* The need for axioms is due to the usage of dependent equality, or to my *) -(* ignorance about it ;-) *) -(* *) -(******************************************************************************) - -Axiom a_de_pi2 : - (T:Type)(n,m:T)(existT Type [A:Type]A T n)==(existT Type [A:Type]A T m)->n==m. - -(* The main consequence of the previous axiom *) -Theorem a_pi2 : (T:Type)(n,m:T)(atom T n)==(atom T m)->n==m. -Intros; Inversion H; Apply a_de_pi2; Assumption. -Qed. - -(* This theorem is really strange: I can prove this in general, but I can't *) -(* prove any of it's instance: for example I can't prove *) -(* ~(nat==bool)->~(atom nat O)==(atom bool true) due to an internal error of *) -(* Coq *) -Theorem a_npi1 : (T1,T2:Type)(t1:T1)(t2:T2)~T1==T2->~(atom T1 t1)==(atom T2 t2). -Unfold not; Intros; Apply H; Inversion H0; Reflexivity. -Qed. - -(******************************************************************************) -(* MAPPING A TYPE TO THE SET OF IT'S ELEMENTS *) -(******************************************************************************) - -(* (Ens_of_t T t) is thought as the coercion from an element (t:T) to a set *) -Definition Ens_of_t : (T:Type)T->Ens := - [T:Type][t:T](atom T t). - -(* (Ens_of_T T) is thought as the set of the elements of type T ... *) -Definition Ens_of_T : Type -> Ens := - [T:Type] (sup T [t:T](Ens_of_t T t)). - -(* ... and (Prop_on_Ens_of_Prop T P) is thought as the proposition on Ens *) -(* that is true only for (atom T t) where (t:T) and (P t) is true. *) -Inductive Prop_on_Ens_of_Prop [T:Type; P:T->Prop] : Ens->Prop := - cons : (t:T)(P t)->(Prop_on_Ens_of_Prop T P (atom T t)). - -Theorem Prop_on_Ens_of_Prop_atom_Prop : - (T:Type; P:(T->Prop); t:T)(Prop_on_Ens_of_Prop T P (atom T t))->(P t). -Intros; Inversion H; Replace t with t0. -Assumption. - -Apply a_de_pi2; Assumption. -Qed. - -Theorem Prop_on_Ens_of_Prop_t : - (T:Type; P:(T->Prop); E:Ens) - (Prop_on_Ens_of_Prop T P E) - ->(EXType T [t:T]E==(atom T t)/\(P t)). -Intros. -Inversion H. -Split with t. -Auto. -Qed. - -Lemma EQ_atom: (T:Type)(t:T)(E:Ens)(EQ (atom T t) E)->(atom T t)==E. -Destruct E. -Contradiction. - -Intros. -Inversion H. -Reflexivity. -Qed. - - -Theorem Prop_on_Ens_of_Prop_sound : - (E1,E2:Ens)(T:Type)(P:T->Prop) - (EQ E1 E2) - -> (Prop_on_Ens_of_Prop T P E1) - -> (Prop_on_Ens_of_Prop T P E2). -Intros. -Cut (EXType ? [t:T]E1==(atom T t)/\(P t)). -Destruct 1; Destruct 1. -Intros. -Rewrite H3 in H. -Cut (atom T x)==E2. -Intros. -Rewrite <- H5. -Constructor 1. -Assumption. - -Apply EQ_atom. -Assumption. - -Apply Prop_on_Ens_of_Prop_t. -Assumption. -Qed. - - -(******************************************************************************) -(* EXAMPLES OF USAGE *) -(******************************************************************************) - -(* We could define an implicit coercion from nat to Ens using Ens_of_t *) -Coercion Ens_of_nat := [n:nat](Ens_of_t nat n). - -(* CNat is the set of the natural numbers of Coq ... *) -Definition CNat : Ens := - (Ens_of_T nat). - -Mutual Inductive - is_even : nat->Prop := - is_even_O : (is_even O) - | is_even_S : (n:nat)(is_odd n)->(is_even (S n)) -with - is_odd : nat->Prop := - id_ood_S : (n:nat)(is_even n)->(is_odd (S n)). - -Lemma not_even_odd: (n:nat)(is_even n)->(is_odd n)->False. -Induction n. -Intros; Inversion H0. - -Intros; Apply H; [Inversion H1 | Inversion H0]; Assumption. -Qed. - -Definition Cis_even : Ens -> Prop := - (Prop_on_Ens_of_Prop nat is_even). - -Definition Cis_odd : Ens -> Prop := - (Prop_on_Ens_of_Prop nat is_odd). - -(* ... and CEven and COdd are the sets of even/odd natural numbers of Coq *) - -Definition CEven := (Comp CNat Cis_even). - -Definition COdd := (Comp CNat Cis_odd). - -(* And now an easy fact: the intersection of CEven with COdd is empty *) -Fact COdd_Inter_CEven_EQ_Vide: (EQ (Inter (Paire CEven COdd)) Vide). -Apply INC_EQ. -Cut (E:Ens)(IN E (Inter (Paire CEven COdd)))->(IN E Vide). -Auto. - -Intros. -Cut False. -Contradiction. - -Cut (IN E CEven)/\(IN E COdd). -Destruct 1. -Intros. -Unfold CEven in H1. -Cut (Cis_even E). -Unfold COdd in H2. -Cut (Cis_odd E). -Intros. -Inversion H3. -Inversion H4. -Rewrite <- H6 in H8. -Cut t0==t. -Intro. -Rewrite H9 in H7. -Apply not_even_odd with t; Assumption. - -Apply a_pi2; Assumption. - -Apply IN_Comp_P with CNat. -Intros. -Unfold Cis_odd. -Apply Prop_on_Ens_of_Prop_sound with w1; Assumption. - -Assumption. - -Apply IN_Comp_P with CNat. -Intros. -Unfold Cis_even. -Apply Prop_on_Ens_of_Prop_sound with w1; Assumption. - -Assumption. - -Split. -Apply IN_Inter_all with (Paire CEven COdd). -Assumption. - -Auto with zfc. - -Apply IN_Inter_all with (Paire CEven COdd). -Assumption. - -Auto with zfc. - -Simpl. -Destruct 1. -Destruct x. -Qed. - -(* Another easy fact: O is not in COdd *) -Fact O_not_IN_COdd : ~(IN O COdd). -Unfold not; Intro. -Cut (Cis_odd O). -Intro. -Inversion H0. -Simpl in H1. -Cut t==O. -Intro. -Rewrite H3 in H2. -Inversion H2. - -Apply a_de_pi2. -Assumption. - -Unfold COdd in H. -Apply IN_Comp_P with CNat. -Intros. -Unfold Cis_odd. -Apply Prop_on_Ens_of_Prop_sound with w1. -Assumption. - -Exact H0. - -Assumption. -Qed. diff --git a/helm/EXPORT/exportcsczfc/exporttheories.sh b/helm/EXPORT/exportcsczfc/exporttheories.sh deleted file mode 100755 index 419e33d53..000000000 --- a/helm/EXPORT/exportcsczfc/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in csc_eqdep.v csc_zfc.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "csczfc/$basename" > \ - examples/csczfc/$1/$basename.theory.xml - done diff --git a/helm/EXPORT/exportcsczfc/provacsczfc.v b/helm/EXPORT/exportcsczfc/provacsczfc.v deleted file mode 100644 index 81737d5a9..000000000 --- a/helm/EXPORT/exportcsczfc/provacsczfc.v +++ /dev/null @@ -1,6 +0,0 @@ -Require Xml. -Require csc_eqdep. -Require csc_zfc. - -Print XML Dir Disk "examples/csczfc" csc_eqdep. -Print XML Dir Disk "examples/csczfc" csc_zfc. diff --git a/helm/EXPORT/exportprove/Makefile b/helm/EXPORT/exportprove/Makefile deleted file mode 100644 index 4bd3a33e4..000000000 --- a/helm/EXPORT/exportprove/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -all: objects theories - -objects: - coqc -R prove Bologna.prove prove/*.v - echo "Load Verbose provaStruct." | coqtop.byte -R prove Bologna.prove - echo "Load Verbose provaFeIota." | coqtop.byte -R prove Bologna.prove - echo "Load Verbose provaCofix." | coqtop.byte -R prove Bologna.prove - echo "Load Verbose prova." | coqtop.byte -R prove Bologna.prove - -theories: - ./exporttheories.sh - -clean: - rm -f *.vo prove/*.vo diff --git a/helm/EXPORT/exportprove/exporttheories.sh b/helm/EXPORT/exportprove/exporttheories.sh deleted file mode 100755 index 0b609bf56..000000000 --- a/helm/EXPORT/exportprove/exporttheories.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -echo "Exporting theory $1"; - -for i in prove/*.v - do - basename=$(basename $i | sed s/\\.v//) - cat $i | ../mktheory.pl "prove/$basename" > \ - examples/Bologna/prove/$1/$basename.theory.xml - done diff --git a/helm/EXPORT/exportprove/prova.v b/helm/EXPORT/exportprove/prova.v deleted file mode 100644 index 0d98e5769..000000000 --- a/helm/EXPORT/exportprove/prova.v +++ /dev/null @@ -1,34 +0,0 @@ -Require Export Xml. - -Section prova. - -Inductive - tree : Set := node : forest -> tree -with - forest : Set := leaf : forest | cons : tree -> forest -> forest. - -Fixpoint tree_size [t:tree] : nat := - Cases t of (node f) => (S (forest_size f)) end -with forest_size [f:forest] : nat := - Cases f of leaf => (S O) | (cons t f') => (plus (tree_size t) (forest_size f')) - end. - -Theorem a_ab_b: (A,B:Prop)A->(A->B)->B. -Auto. -Qed. - -Axiom dummy_axiom: (n,m:nat)(le n m)\/(gt n m). - -End prova. - -Print XML Section Disk "examples/prove" prova. - -Theorem ab_ac_abc: (A,B,C:Prop)(A->B)->(A->C)->A->B/\C. -Intros A B C AB AC A1. -Split. - -Show XML File "examples/ab_ac_abc.xml" Proof. - -Auto. -Auto. -Qed. diff --git a/helm/EXPORT/exportprove/provaCofix.v b/helm/EXPORT/exportprove/provaCofix.v deleted file mode 100644 index d0f97294b..000000000 --- a/helm/EXPORT/exportprove/provaCofix.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Xml. -Require provacofix. - -Print XML Module Disk "examples" provacofix. diff --git a/helm/EXPORT/exportprove/provaFeIota.v b/helm/EXPORT/exportprove/provaFeIota.v deleted file mode 100644 index bc5b2c022..000000000 --- a/helm/EXPORT/exportprove/provaFeIota.v +++ /dev/null @@ -1,6 +0,0 @@ -Require Xml. -Require provaF. -Require provaIota. - -Print XML Module Disk "examples" provaF. -Print XML Module Disk "examples" provaIota. diff --git a/helm/EXPORT/exportprove/provaStruct.v b/helm/EXPORT/exportprove/provaStruct.v deleted file mode 100644 index 06c952970..000000000 --- a/helm/EXPORT/exportprove/provaStruct.v +++ /dev/null @@ -1,16 +0,0 @@ -Require Export Xml. - -Require provastruct. -Print XML Module Disk "examples" provastruct. - -Require provastruct2. -Print XML Module Disk "examples" provastruct2. - -Require provastruct3. -Print XML Module Disk "examples" provastruct3. - -Require provastruct4. -Print XML Module Disk "examples" provastruct4. - -Require provastruct5. -Print XML Module Disk "examples" provastruct5. diff --git a/helm/EXPORT/exportprove/prove/.cvsignore b/helm/EXPORT/exportprove/prove/.cvsignore deleted file mode 100644 index 419956872..000000000 --- a/helm/EXPORT/exportprove/prove/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.vo diff --git a/helm/EXPORT/exportprove/prove/provaF.v b/helm/EXPORT/exportprove/prove/provaF.v deleted file mode 100644 index 072010f0c..000000000 --- a/helm/EXPORT/exportprove/prove/provaF.v +++ /dev/null @@ -1,33 +0,0 @@ -Definition int := (A:Prop)(A->A)->A->A. - -Definition O := [A:Prop][s:A->A][o:A]o. - -Definition S := [n:int][A:Prop][s:A->A][o:A](s (n A s o)). - -Definition Uno := [A:Prop][s:A->A][o:A](s o). - -Definition Due := [A:Prop][s:A->A][o:A](s (s o)). - -Definition Tre := [A:Prop][s:A->A][o:A](s (s (s o))). - -Definition id := [A:Prop][x:A]x. - -Definition id_Due := (id int Due). - -Definition difficult := ((S Due) (int -> int) (id (int -> int)) (id int)). - -Definition is_Zero := [n:int](n int [_:int]Uno O). - -Definition couple := [A:Prop][x:A][y:A][z:A->A->A](z x y). - -Definition Couple := [A:Prop](z:A->A->A)A. - -Definition fst := [A:Prop][x:A][y:A]x. - -Definition snd := [A:Prop][x:A][y:A]y. - -Definition next : (Couple int) -> (Couple int) := [x:(Couple int)](couple int (x (snd int)) (S (x (snd int)))). - -Definition pred := [n:int]((n (Couple int) next (couple int O O))(fst int)). - -Definition test := (((pred Tre) (int -> int))(id (int->int)) (id int)). diff --git a/helm/EXPORT/exportprove/prove/provaIota.v b/helm/EXPORT/exportprove/prove/provaIota.v deleted file mode 100644 index 74a510b5d..000000000 --- a/helm/EXPORT/exportprove/prove/provaIota.v +++ /dev/null @@ -1,53 +0,0 @@ -Inductive bool : Set := true : bool | false : bool. -Inductive nat : Set := O : nat | S : nat -> nat. - -Fixpoint plus [n:nat] : nat -> nat := - [m:nat] - Cases n of - O => m - | (S n) => (S (plus n m)) - end. - -Fixpoint mult [n:nat] : nat -> nat := - [m:nat] - Cases n of - O => O - | (S n) => (plus m (mult n m)) - end. - -Fixpoint fact [n:nat] : nat := - Cases n of - O => (S O) - | (S n) => (mult (S n) (fact n)) - end. - -Definition bnot := - [b:bool] - Cases b of - true => false - | false => true - end. - -Fixpoint is_even [n:nat] : bool := - Cases n of - O => true - | (S n) => (bnot (bnot (is_odd n))) - end -with is_odd [n:nat] : bool := - Cases n of - O => false - | (S n) => (bnot (bnot (is_even n))) - end -. - -Fixpoint idn [n:nat] : nat := - Cases n of - O => O - | (S n) => (S (idn n)) - end. - -Definition test1 := (is_even (S (S O))). -Definition test2 := (is_even (S (S (S O)))). -Definition test3 := (idn (idn (S O))). -Definition test4 := (is_odd (fact (S (S (O))))). -Definition test5 := (is_odd (fact (S (S (S (S (S (S O)))))))). diff --git a/helm/EXPORT/exportprove/prove/provacofix.v b/helm/EXPORT/exportprove/prove/provacofix.v deleted file mode 100644 index 199cadeb6..000000000 --- a/helm/EXPORT/exportprove/prove/provacofix.v +++ /dev/null @@ -1,45 +0,0 @@ -(* Let's define an infinite tree whose nodes are made of natural value and an *) -(* infinite forest of infinite trees whose nodes ... *) - -(* (obbrobrio_tree n) is used to build such a tree whose root value is n and *) -(* root forest is made of the corecursively defined tress whose roots values *) -(* are (n+1), (n+2), ... *) - -(* To finish, we provide also some destructors and a funny (?!?) theorem *) - -CoInductive tree : Set := - node : nat -> forest -> tree -with forest : Set := - nil : forest - | cons : tree -> forest -> forest. - -CoFixpoint obbrobrio_tree : nat -> tree := - [n:nat] - (node n (obbrobrio_forest (S n) nil)) -with obbrobrio_forest : nat -> forest -> forest := - [n:nat][f:forest] - (cons (obbrobrio_tree n) (obbrobrio_forest (S n) f)). - -Definition root_value : tree -> nat := - [t:tree] - Cases t of - (node n _) => n - end. - -Definition root_forest : tree -> forest := - [t:tree] - Cases t of - (node _ f) => f - end. - -Definition root_tree : forest -> tree := - [f:forest] - Cases f of - nil => (obbrobrio_tree (S (S (S O)))) - | (cons t _) => t - end. - -Theorem easy : (root_value (root_tree (root_forest (obbrobrio_tree O))))=(S O). -Proof. - Trivial. -Qed. diff --git a/helm/EXPORT/exportprove/prove/provastruct.v b/helm/EXPORT/exportprove/prove/provastruct.v deleted file mode 100644 index 503c7e0ac..000000000 --- a/helm/EXPORT/exportprove/prove/provastruct.v +++ /dev/null @@ -1,22 +0,0 @@ -Require Export Xml. - -Section a. - Variable A:Prop. - Section b1. - Variable B:Prop. - Axiom axiom: A -> (A -> B) ->B. - Theorem th1: A -> (A -> B) -> A/\B. - Intros A' H. - Split. - Assumption. - Apply axiom; Assumption. - Qed. - End b1. - Section b2. - Variable B:Set. - Axiom axiom': (A:Prop)A->A. - End b2. - Theorem th1': (A:Prop)A->A. - Auto. - Qed. -End a. diff --git a/helm/EXPORT/exportprove/prove/provastruct2.v b/helm/EXPORT/exportprove/prove/provastruct2.v deleted file mode 100644 index 0784e9794..000000000 --- a/helm/EXPORT/exportprove/prove/provastruct2.v +++ /dev/null @@ -1,42 +0,0 @@ -Section init. -Section a. - Section a1. - Section a11. - Section a111. - Local uno := (S O). - End a111. - Section a112. - End a112. - Section a113. - End a113. - End a11. - Local uno := (S O). - End a1. - Section a2. - Section a21. - Local uno := (S O). - End a21. - Section a22. - Section a221. - End a221. - End a22. - Section a23. - Section a231. - Section a2311. - Local uno := (S O). - End a2311. - Section a2312. - End a2312. - Section a2313. - End a2313. - End a231. - Section a232. - Section a2321. - End a2321. - End a232. - End a23. - Local uno := (S O). - End a2. - Definition uno := (S O). -End a. -End init. diff --git a/helm/EXPORT/exportprove/prove/provastruct3.v b/helm/EXPORT/exportprove/prove/provastruct3.v deleted file mode 100644 index d18933010..000000000 --- a/helm/EXPORT/exportprove/prove/provastruct3.v +++ /dev/null @@ -1,11 +0,0 @@ -Section a. - Section a1. - Variable A : Prop. - Variable B : Prop. - Inductive t1 : Set := k1 : A -> t1. - End a1. - - Inductive t2 [B:Set] : Set := k2 : (t2 B). - - Variable A : Prop. -End a. diff --git a/helm/EXPORT/exportprove/prove/provastruct4.v b/helm/EXPORT/exportprove/prove/provastruct4.v deleted file mode 100644 index 1307f46e5..000000000 --- a/helm/EXPORT/exportprove/prove/provastruct4.v +++ /dev/null @@ -1,8 +0,0 @@ -Section a. - Variables N,M:nat. - Section b. - Variable P:Prop. - Local SN := (S N). - Axiom A : N = M. - End b. -End a. diff --git a/helm/EXPORT/exportprove/prove/provastruct5.v b/helm/EXPORT/exportprove/prove/provastruct5.v deleted file mode 100644 index 952c9d21a..000000000 --- a/helm/EXPORT/exportprove/prove/provastruct5.v +++ /dev/null @@ -1,11 +0,0 @@ -Section a. - Variable A:Prop. - Theorem easy:(B:Prop)B->B. - Exact ([H:Prop][B:Prop][b:B]b A). - Qed. - Section b. - Theorem easy':(B:Prop)B->B. - Exact easy. - Qed. - End b. -End a. diff --git a/helm/EXPORT/mktheory.pl b/helm/EXPORT/mktheory.pl deleted file mode 100755 index 2be018e98..000000000 --- a/helm/EXPORT/mktheory.pl +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/perl - -# Assumptions: -# Comments on one line are stripped -# Comments on many lines: -# nothing after *) (end of command) -# Commands could be nested (but see previous assumption) -# Commands don't span on several lines -# If a line is commented, the comment must begin at the begin of line and end -# at the end of line -# In a line, before a command only spaces are allowed - -$curi = $ARGV[0]; -$with_types = ($ARGV[1] ? ".types" : ""); -$ident = " "; -$cid = 1; -$opencom = 0; -$openscheme = 0; -$openfix = 0; -$opengoal = 0; - -print < - - - -EOT - -while () { - chomp; - if ($opencom > 0) { - $opencom-- if (/\*\)/ && !/\(\*.*\*\)/); - } else { - if (/\(\*.*\*\)/) { # (* comment *) - s/\(\*.*\*\)//; - } elsif (/\(\*/) { - # (* comment - $opencom++; - $_ = ""; - } - - if (/Require /) { - s/ *Require *(.*)\..*/$1/; - print "$ident\n"; - } elsif (/Goal /) { - $opengoal = 1; - } elsif (/Section /) { - s/ *Section *(.*)\..*/$1/; - print "$ident
\n"; - $ident = $ident." "; - } elsif (/Chapter /) { - s/ *Chapter *(.*)\..*/$1/; - print "$ident
\n"; - $ident = $ident." "; - } elsif (/End /) { - chop($ident); - print "$ident
\n"; - } elsif (/Variable(s?) /) { - s/ *Variable(s?) *([^:]*):.*/$2/; - s/ //g; - @vl = split /,/; - foreach (@vl) { - print "$ident\n"; - } - } elsif (/Hypothesis /) { - s/ *Hypothesis *([^ :]*)( |:).*/$1/; - @vl = split /,/; - foreach (@vl) { - print "$ident\n"; - } - } elsif (/^ *Inductive /) { - if (/ *Inductive *[^ :]+ ([^ :]*) :=/) { - s/ *Inductive *[^ :]+ ([^ :]*) *:=.*/$1/; - } elsif (/ *Inductive *[^ :]*( |:)/) { - s/ *Inductive *([^ :\[]*)( |:|\[).*/$1/; - } - print "$ident\n"; - } elsif (/ *CoInductive /) { - if (/ *CoInductive *[^ :]+ ([^ :]*) *:=/) { - s/ *CoInductive *[^ :]+ ([^ :]*) *:=.*/$1/; - } elsif (/ *CoInductive *[^ :]*( |:)/) { - s/ *CoInductive *([^ :]*)( |:).*/$1/; - } - print "$ident\n"; - } elsif (/^ *Fixpoint /) { - s/ *Fixpoint *([^ \[]*)( |\[).*/$1/; - print "$ident\n"; - $openfix = 1; - } elsif (/ *CoFixpoint /) { - s/ *CoFixpoint *([^ \[]*)( |\[).*/$1/; - print "$ident\n"; - $openfix = 1; - } elsif (/^ *Definition /) { - s/ *Definition *([^ :]*)( |:)?.*/$1/; - print "$ident\n"; - } elsif (/Local /) { - s/ *Local *([^ :]*)( |:)?.*/$1/; - print "$ident\n"; - } elsif (/Lemma /) { - s/ *Lemma *([^ :]*)( |:)?.*/$1/; - print "$ident\n"; - $cid++; - } elsif (/Theorem /) { - s/ *Theorem *([^ :]+)( |:)?.*/$1/; - print "$ident\n"; - $cid++; - } elsif (/Remark /) { - s/ *Remark *([^ :]*)( |:)?.*/$1/; - print "$ident\n"; - $cid++; - } elsif (/Scheme /) { - s/ *Scheme *([^ :]*)( |:)?.*/$1/; - print "$ident\n"; - $cid++; - $openscheme = 1; - } elsif (/Save / && $opengoal) { - s/ *Save *([^ \.]*)( |\.).*/$1/; - print "$ident\n"; - $cid++; - } elsif (/with / && $openscheme) { - s/ *with *([^ :]*)( |:).*/$1/; - print "$ident\n"; - $cid++; - } elsif (/with / && $openfix) { - s/ *with *([^ :]*)( |:).*/$1/; - print "$ident\n"; - $cid++; - } elsif (/Axiom /) { - s/ *Axiom *([^ :]*)( |:).*/$1/; - print "$ident\n"; - $cid++; - } elsif (/Parameter /) { - s/ *Parameter *([^ :]*)( |:).*/$1/; - print "$ident\n"; - $cid++; - } elsif (/Record /) { - s/ *Record *([^ :]*)( |:).*/$1/; - print "$ident\n"; - $cid++; - } - - if ($openscheme && (/\./)) { - $openscheme = 0; - } elsif ($openfix && (/\./)) { - $openfix = 0; - } - - } -} - -print "\n"; diff --git a/helm/Makefile b/helm/Makefile deleted file mode 100644 index ffab1984d..000000000 --- a/helm/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -DIRS = ocaml gTopLevel searchEngine mathql_test hxp - -DIRS_BYTE = $(patsubst %,%.byte,$(DIRS)) -DIRS_OPT = $(patsubst %,%.opt,$(DIRS)) -DIRS_CLEAN = $(patsubst %,%.clean,$(DIRS)) -all: byte -byte: $(DIRS_BYTE) -opt: $(DIRS_OPT) -world: byte opt -clean: $(DIRS_CLEAN) -%.byte: - $(MAKE) -C $*/ all -%.opt: - $(MAKE) -C $*/ opt -%.clean: - $(MAKE) -C $*/ clean -.PHONY: all byte opt world clean diff --git a/helm/annotationHelper/.cvsignore b/helm/annotationHelper/.cvsignore deleted file mode 100644 index b79ea367a..000000000 --- a/helm/annotationHelper/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iox] *.o cicAnnotationHelper cicAnnotationHelper.opt diff --git a/helm/annotationHelper/.depend b/helm/annotationHelper/.depend deleted file mode 100644 index 699b8de3a..000000000 --- a/helm/annotationHelper/.depend +++ /dev/null @@ -1,4 +0,0 @@ -cicAnnotationHinter.cmo: cicAnnotationHinter.cmi -cicAnnotationHinter.cmx: cicAnnotationHinter.cmi -cicAnnotationHelper.cmo: cicAnnotationHinter.cmi -cicAnnotationHelper.cmx: cicAnnotationHinter.cmx diff --git a/helm/annotationHelper/Makefile b/helm/annotationHelper/Makefile deleted file mode 100644 index 272ac3eba..000000000 --- a/helm/annotationHelper/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -BIN_DIR = /usr/local/bin -REQUIRES = lablgtkmathview helm-cic_annotations_cache -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) -OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) -OCAMLDEP = ocamldep - -LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) -LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) - -all: cicAnnotationHelper -opt: cicAnnotationHelper.opt - -DEPOBJS = cicAnnotationHinter.mli cicAnnotationHinter.ml cicAnnotationHelper.ml - -CICANNOTATIONHELPEROBJS = cicAnnotationHinter.cmo cicAnnotationHelper.cmo - -depend: - $(OCAMLDEP) $(DEPOBJS) > .depend - -cicAnnotationHelper: $(CICANNOTATIONHELPEROBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o cicAnnotationHelper $(CICANNOTATIONHELPEROBJS) - -cicAnnotationHelper.opt: $(CICANNOTATIONHELPEROBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o cicAnnotationHelper.opt $(CICANNOTATIONHELPEROBJS:.cmo=.cmx) - -.SUFFIXES: .ml .mli .cmo .cmi .cmx -.ml.cmo: $(LIBRARIES) - $(OCAMLC) -c $< -.mli.cmi: $(LIBRARIES) - $(OCAMLC) -c $< -.ml.cmx: $(LIBRARIES_OPT) - $(OCAMLOPT) -c $< - -clean: - rm -f *.cm[iox] *.o cicAnnotationHelper cicAnnotationHelper.opt - -install: - cp cicAnnotationHelper cicAnnotationHelper.opt $(BIN_DIR) - -uninstall: - rm -f $(BIN_DIR)/cicAnnotationHelper $(BIN_DIR)/cicAnnotationHelper.opt - -.PHONY: install uninstall clean - -include .depend diff --git a/helm/annotationHelper/cicAnnotationHelper.ml b/helm/annotationHelper/cicAnnotationHelper.ml deleted file mode 100644 index 5ed1fa26d..000000000 --- a/helm/annotationHelper/cicAnnotationHelper.ml +++ /dev/null @@ -1,594 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 03/04/2001 *) -(* *) -(* This is a simple gtk interface to the Coq-like pretty printer cicPp for *) -(* cic terms exported in xml. It uses directly the modules cicPp and *) -(* cicCcache and indirectly all the other modules (cicParser, cicParser2, *) -(* cicParser3, getter). *) -(* The syntax is "gtkInterface[.opt] filename1 ... filenamen" where *) -(* filenamei is the path-name of an xml file describing a cic term. *) -(* The terms are loaded in cache and then pretty-printed one at a time and *) -(* only once, when the user wants to look at it: if the user wants to look at *) -(* a term again, then the pretty-printed term is showed again, but not *) -(* recomputed *) -(* *) -(******************************************************************************) - -(* GLOBAL REFERENCES (USED BY CALLBACKS) *) - -let annotated_obj = ref None;; (* reference to a triple option where *) - (* the first component is the current *) - (* annotated object, the second is the *) - (* map from ids to annotated targets and *) - (* the third is the map from ids to *) - (* annotations. *) -let current_id = ref None;; (* id of the element to annotate *) -let radio_some_status = ref false;; (* is the radio_some button selected? *) -let current_url = ref "";; - -(* GLOBAL CONSTANTS *) - -let helmns = Gdome.domString "http://www.cs.unibo.it/helm";; - -(* MISC FUNCTIONS *) - -let pathname_of_annuri uristring = - Configuration.annotations_dir ^ - Str.replace_first (Str.regexp "^cic:") "" uristring -;; - -let make_dirs dirpath = - ignore (Unix.system ("mkdir -p " ^ dirpath)) -;; - -module UrlManipulator = - struct - exception No_param_dot_CICURI_or_param_dot_annotations_found_in of string;; - exception No_param_found_in of string * string;; - exception Bad_formed_url of string;; - - let uri_from_url url = - let module N = Neturl in - let founduri = ref None in - let foundann = ref None in - let rec find_uri = - function - [] -> raise (No_param_dot_CICURI_or_param_dot_annotations_found_in url) - | he::tl -> - match Str.split (Str.regexp "=") he with - ["param.CICURI";uri] -> - if !founduri <> None then - raise (Bad_formed_url url) - else - begin - founduri := Some uri ; - if !foundann = None then - find_uri tl - end - | ["param.annotations";ann] -> - if !foundann <> None then - raise (Bad_formed_url url) - else - begin - foundann := - Some - (match ann with - "yes" -> ".ann" - | "no" -> "" - | _ -> raise (Bad_formed_url url) - ) ; - if !founduri = None then - find_uri tl - end - | _ -> find_uri tl - in - find_uri - (Str.split (Str.regexp "&") - (N.url_query ~encoded:true (N.url_of_string N.ip_url_syntax url))) ; - match !founduri,!foundann with - (Some uri),(Some ann) -> uri ^ ann - | _ , _ -> - raise (No_param_dot_CICURI_or_param_dot_annotations_found_in url) - ;; - - let extractParam param url = - let module N = Neturl in - let rec find_param = - function - [] -> raise (No_param_found_in (param,url)) - | he::tl -> - match Str.split (Str.regexp "=") he with - [name;value] when name = param -> value - | _ -> find_param tl - in - find_param - (Str.split (Str.regexp "&") - (N.url_query ~encoded:true (N.url_of_string N.ip_url_syntax url))) - ;; - - let set_annotations_to_yes query url = - let found =ref false in - let rec aux = - function - [] -> - if !found then "" - else raise (No_param_found_in ("param.annotations",url)) - | he::tl -> - match Str.split (Str.regexp "=") he with - ["param.annotations" as s ; ann] -> - found := true ; - let auxtl = aux tl in - s ^ "=yes" ^ - (if auxtl = "" then "" else "&" ^ auxtl) - | [name ; value] -> - let auxtl = aux tl in - name ^ "=" ^ value ^ - (if auxtl = "" then "" else "&" ^ auxtl) - | [name] -> - let auxtl = aux tl in - name ^ "=" ^ - (if auxtl = "" then "" else "&" ^ auxtl) - | _ -> raise (Bad_formed_url url) - in - aux (Str.split (Str.regexp "&") query) - ;; - - let annurl_of_url url = - let module N = Neturl in - let nurl = N.url_of_string N.ip_url_syntax url in - let query = N.url_query ~encoded:true nurl in - let newquery = set_annotations_to_yes query url in - N.string_of_url (N.modify_url ~encoded:true ~query:newquery nurl) - ;; -end - -let get_current_uri () = - UriManager.uri_of_string (UrlManipulator.uri_from_url !current_url) -;; - -(* CALLBACKS *) - -let get_annotated_obj () = - match !annotated_obj with - None -> - let annobj = - let (annobj,ids_to_annotations) = - match CicCache.get_annobj (get_current_uri ()) with - (annobj,None) -> annobj, Hashtbl.create 503 - | (annobj, Some ids_to_annotations) -> (annobj,ids_to_annotations) - in - let ids_to_targets = CicXPath.get_ids_to_targets annobj in - (annobj,ids_to_targets,ids_to_annotations) - in - annotated_obj := Some annobj ; - annobj - | Some annobj -> annobj -;; - -let update_output rendering_window url = - rendering_window#label#set_text (UrlManipulator.uri_from_url url) ; - rendering_window#output#load url -;; - -let choose_selection rendering_window (element : Gdome.element option) = - let module G = Gdome in - let rec aux element = - if element#hasAttributeNS - ~namespaceURI:helmns - ~localName:(G.domString "xref") - then - rendering_window#output#set_selection (Some element) - else - match element#get_parentNode with - None -> assert false - (*CSC: OCAML DIVERGES! - | Some p -> aux (new G.element_of_node p) - *) - | Some p -> aux (new Gdome.element_of_node p) - in - match element with - Some x -> aux x - | None -> rendering_window#output#set_selection None -;; - -let annotateb_pressed rendering_window annotation_window () = - let module G = Gdome in - match rendering_window#output#get_selection with - Some element -> - let xpath = - ((element : Gdome.element)#getAttributeNS - (*CSC: OCAML DIVERGE - ((element : G.element)#getAttributeNS - *) - ~namespaceURI:helmns - ~localName:(G.domString "xref"))#to_string - in - if xpath = "" then - rendering_window#label#set_text ("ERROR: No xref found!!!\n") - else - let annobj = get_annotated_obj () in - let (anno, ids_to_targets, ids_to_annotations) = annobj in - let annotation = (annotation_window#annotation : GEdit.text) in - let id = xpath in - current_id := Some id ; - let ann = CicXPath.get_annotation ids_to_annotations id in - CicAnnotationHinter.create_hints annotation_window ids_to_targets - xpath ; - annotation#delete_text 0 annotation#length ; - begin - match ann with - None -> - annotation#misc#set_sensitive false ; - annotation_window#radio_none#set_active true ; - radio_some_status := false - | Some ann' -> - annotation#insert ann' ; - annotation#misc#set_sensitive true ; - annotation_window#radio_some#set_active true ; - radio_some_status := true - end ; - GMain.Grab.add (annotation_window#window_to_annotate#coerce) ; - annotation_window#show () ; - | None -> rendering_window#label#set_text ("ERROR: No selection!!!\n") -;; - -let change_annotation ids_to_annotations id ann = - begin - try - Hashtbl.remove ids_to_annotations id - with - Not_found -> () - end ; - match ann with - None -> () - | Some ann' -> Hashtbl.add ids_to_annotations id ann' -;; - -(* called when the annotation is confirmed *) -let save_annotation (annotation : GEdit.text) = - let module S = Str in - let module U = UriManager in - let (annobj,ids_to_annotations) = - match !annotated_obj with - None -> assert false - | Some (annobj,_,ids_to_annotations) -> annobj,ids_to_annotations - in - change_annotation ids_to_annotations - (match !current_id with - Some id -> id - | None -> assert false - ) - (if !radio_some_status then - Some (annotation#get_chars 0 annotation#length) - else - None - ) ; - let uri = get_current_uri () in - let annxml = - CicAnnotation2Xml.pp_annotation annobj ids_to_annotations uri - in - make_dirs - (pathname_of_annuri (U.buri_of_uri uri)) ; - Xml.pp ~quiet:true annxml - (Some - (pathname_of_annuri (U.string_of_uri (U.annuri_of_uri uri)) ^ - ".xml" - ) - ) -;; - -(* STUFF TO BUILD THE GTK INTERFACE *) - -(* Stuff for the widget settings *) - -let export_to_postscript (output : GMathView.math_view) () = - output#export_to_postscript ~filename:"output.ps" (); -;; - -let activate_t1 (output : GMathView.math_view) - button_set_anti_aliasing button_set_kerning - button_set_transparency button_export_to_postscript button_t1 () -= - let is_set = button_t1#active in - output#set_font_manager_type - (if is_set then `font_manager_t1 else `font_manager_gtk) ; - if is_set then - begin - button_set_anti_aliasing#misc#set_sensitive true ; - button_set_kerning#misc#set_sensitive true ; - button_set_transparency#misc#set_sensitive true ; - button_export_to_postscript#misc#set_sensitive true ; - end - else - begin - button_set_anti_aliasing#misc#set_sensitive false ; - button_set_kerning#misc#set_sensitive false ; - button_set_transparency#misc#set_sensitive false ; - button_export_to_postscript#misc#set_sensitive false ; - end -;; - -let set_anti_aliasing output button_set_anti_aliasing () = - output#set_anti_aliasing button_set_anti_aliasing#active -;; - -let set_kerning output button_set_kerning () = - output#set_kerning button_set_kerning#active -;; - -let set_transparency output button_set_transparency () = - output#set_transparency button_set_transparency#active -;; - -let changefont output font_size_spinb () = - output#set_font_size font_size_spinb#value_as_int -;; - -let set_log_verbosity output log_verbosity_spinb () = - output#set_log_verbosity log_verbosity_spinb#value_as_int -;; - -class settings_window (output : GMathView.math_view) - sw button_export_to_postscript selection_changed_callback -= - let settings_window = GWindow.window ~title:"GtkMathView settings" () in - let vbox = - GPack.vbox ~packing:settings_window#add () in - let table = - GPack.table - ~rows:1 ~columns:3 ~homogeneous:false ~row_spacings:5 ~col_spacings:5 - ~border_width:5 ~packing:vbox#add () in - let button_t1 = - GButton.toggle_button ~label:"activate t1 fonts" - ~packing:(table#attach ~left:0 ~top:0) () in - let button_set_anti_aliasing = - GButton.toggle_button ~label:"set_anti_aliasing" - ~packing:(table#attach ~left:0 ~top:1) () in - let button_set_kerning = - GButton.toggle_button ~label:"set_kerning" - ~packing:(table#attach ~left:1 ~top:1) () in - let button_set_transparency = - GButton.toggle_button ~label:"set_transparency" - ~packing:(table#attach ~left:2 ~top:1) () in - let table = - GPack.table - ~rows:2 ~columns:2 ~homogeneous:false ~row_spacings:5 ~col_spacings:5 - ~border_width:5 ~packing:vbox#add () in - let font_size_label = - GMisc.label ~text:"font size:" - ~packing:(table#attach ~left:0 ~top:0 ~expand:`NONE) () in - let font_size_spinb = - let sadj = - GData.adjustment ~value:14.0 ~lower:5.0 ~upper:50.0 ~step_incr:1.0 () - in - GEdit.spin_button - ~adjustment:sadj ~packing:(table#attach ~left:1 ~top:0 ~fill:`NONE) () in - let log_verbosity_label = - GMisc.label ~text:"log verbosity:" - ~packing:(table#attach ~left:0 ~top:1) () in - let log_verbosity_spinb = - let sadj = - GData.adjustment ~value:0.0 ~lower:0.0 ~upper:3.0 ~step_incr:1.0 () - in - GEdit.spin_button - ~adjustment:sadj ~packing:(table#attach ~left:1 ~top:1) () in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let closeb = - GButton.button ~label:"Close" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in -object(self) - method show = settings_window#show - initializer - button_set_anti_aliasing#misc#set_sensitive false ; - button_set_kerning#misc#set_sensitive false ; - button_set_transparency#misc#set_sensitive false ; - (* Signals connection *) - ignore(button_t1#connect#clicked - ~callback:(activate_t1 output button_set_anti_aliasing button_set_kerning - button_set_transparency button_export_to_postscript button_t1)) ; - ignore(font_size_spinb#connect#changed (changefont output font_size_spinb)) ; - ignore(button_set_anti_aliasing#connect#toggled - (set_anti_aliasing output button_set_anti_aliasing)); - ignore(button_set_kerning#connect#toggled - (set_kerning output button_set_kerning)) ; - ignore(button_set_transparency#connect#toggled - (set_transparency output button_set_transparency)) ; - ignore(log_verbosity_spinb#connect#changed - (set_log_verbosity output log_verbosity_spinb)) ; - ignore(closeb#connect#clicked ~callback:settings_window#misc#hide) -end;; - -(* Main windows *) - -class annotation_window output label = - let window_to_annotate = - GWindow.window ~title:"Annotating environment" ~border_width:2 () in - let hbox1 = - GPack.hbox ~packing:window_to_annotate#add () in - let vbox1 = - GPack.vbox ~packing:(hbox1#pack ~padding:5) () in - let hbox2 = - GPack.hbox ~packing:(vbox1#pack ~expand:false ~fill:false ~padding:5) () in - let radio_some = GButton.radio_button ~label:"Annotation below" - ~packing:(hbox2#pack ~expand:false ~fill:false ~padding:5) () in - let radio_none = GButton.radio_button ~label:"No annotation" - ~group:radio_some#group - ~packing:(hbox2#pack ~expand:false ~fill:false ~padding:5) - ~active:true () in - let annotation = GEdit.text ~editable:true ~width:400 ~height:180 - ~packing:(vbox1#pack ~padding:5) () in - let table = - GPack.table ~rows:3 ~columns:3 ~packing:(vbox1#pack ~padding:5) () in - let annotation_hints = - Array.init 9 - (function i -> - GButton.button ~label:("Hint " ^ string_of_int i) - ~packing:(table#attach ~left:(i mod 3) ~top:(i / 3)) () - ) in - let vbox2 = - GPack.vbox ~packing:(hbox1#pack ~expand:false ~fill:false ~padding:5) () in - let confirmb = - GButton.button ~label:"O.K." - ~packing:(vbox2#pack ~expand:false ~fill:false ~padding:5) () in - let abortb = - GButton.button ~label:"Abort" - ~packing:(vbox2#pack ~expand:false ~fill:false ~padding:5) () in -object (self) - method window_to_annotate = window_to_annotate - method annotation = annotation - method radio_some = radio_some - method radio_none = radio_none - method annotation_hints = annotation_hints - method output = (output : GMathView.math_view) - method show () = window_to_annotate#show () - initializer - (* signal handlers here *) - ignore (window_to_annotate#event#connect#delete - (fun _ -> - window_to_annotate#misc#hide () ; - GMain.Grab.remove (window_to_annotate#coerce) ; - true - )) ; - ignore (confirmb#connect#clicked - ~callback:(fun () -> - window_to_annotate#misc#hide () ; - save_annotation annotation ; - GMain.Grab.remove (window_to_annotate#coerce) ; - let new_current_uri = UriManager.annuri_of_uri (get_current_uri ()) in - Getter.register new_current_uri - (Configuration.annotations_url ^ - Str.replace_first (Str.regexp "^cic:") "" - (UriManager.string_of_uri new_current_uri) ^ ".xml" - ) ; - let new_current_url = UrlManipulator.annurl_of_url !current_url in - current_url := new_current_url ; - label#set_text (UriManager.string_of_uri new_current_uri) ; - output#load new_current_url - )) ; - ignore (abortb#connect#clicked - ~callback:(fun () -> - window_to_annotate#misc#hide () ; - GMain.Grab.remove (window_to_annotate#coerce) - )); - ignore (radio_some#connect#clicked - ~callback:(fun () -> annotation#misc#set_sensitive true ; radio_some_status := true)) ; - ignore (radio_none #connect#clicked - ~callback:(fun () -> - annotation#misc#set_sensitive false; - radio_some_status := false) - ) -end;; - -class rendering_window annotation_window output (label : GMisc.label) = - let window = - GWindow.window ~title:"MathML viewer" ~border_width:2 () in - let vbox = - GPack.vbox ~packing:window#add () in - let _ = vbox#pack ~expand:false ~fill:false ~padding:5 label#coerce in - let scrolled_window0 = - GBin.scrolled_window ~border_width:10 - ~packing:(vbox#pack ~expand:true ~padding:5) () in - let _ = scrolled_window0#add output#coerce in - let hbox = - GPack.hbox ~packing:(vbox#pack ~expand:false ~fill:false ~padding:5) () in - let annotateb = - GButton.button ~label:"Annotate" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let settingsb = - GButton.button ~label:"Settings" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let button_export_to_postscript = - GButton.button ~label:"export_to_postscript" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in - let closeb = - GButton.button ~label:"Close" - ~packing:(hbox#pack ~expand:false ~fill:false ~padding:5) () in -object(self) - method label = label - method output = (output : GMathView.math_view) - method show () = window#show () - initializer - button_export_to_postscript#misc#set_sensitive false ; - - (* signal handlers here *) - ignore(output#connect#selection_changed (choose_selection self)) ; - ignore(closeb#connect#clicked ~callback:(fun _ -> GMain.Main.quit ())) ; - ignore(annotateb#connect#clicked - ~callback:(annotateb_pressed self annotation_window)) ; - let settings_window = new settings_window output scrolled_window0 - button_export_to_postscript (choose_selection self) in - ignore(settingsb#connect#clicked ~callback:settings_window#show) ; - ignore(button_export_to_postscript#connect#clicked ~callback:(export_to_postscript output)) ; - ignore(window#event#connect#delete (fun _ -> GMain.Main.quit () ; true )) -end;; - -(* MAIN *) - -let initialize_everything tmpfile url = - let module U = Unix in - let output = GMathView.math_view ~width:400 ~height:380 () - and label = GMisc.label ~text:"???" () in - let annotation_window = new annotation_window output label in - let rendering_window = - new rendering_window annotation_window output label - in - rendering_window#show () ; - rendering_window#label#set_text (UrlManipulator.uri_from_url url) ; - rendering_window#output#load tmpfile ; - GMain.Main.main () -;; - -let _ = - let filename = ref "" in - let usage_msg = - "\nusage: annotationHelper[.opt] file url\n\n List of options:" - in - Arg.parse [] - (fun x -> - if x = "" then raise (Arg.Bad "Empty filename or URL not allowed") ; - if !filename = "" then - filename := x - else if !current_url = "" then - current_url := x - else - begin - prerr_string "More than two arguments provided\n" ; - Arg.usage [] usage_msg ; - exit (-1) - end - ) usage_msg ; - Getter.getter_url := - Netencoding.Url.decode - (UrlManipulator.extractParam "param.getterURL" !current_url) ; - initialize_everything !filename !current_url -;; diff --git a/helm/annotationHelper/cicAnnotationHinter.ml b/helm/annotationHelper/cicAnnotationHinter.ml deleted file mode 100644 index 7cf3cddbb..000000000 --- a/helm/annotationHelper/cicAnnotationHinter.ml +++ /dev/null @@ -1,393 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 14/06/2000 *) -(* *) -(* *) -(******************************************************************************) - -let deactivate_hints_from annotation_window n = - let annotation_hints = annotation_window#annotation_hints in - for i = n to Array.length annotation_hints - 1 do - annotation_hints.(i)#misc#hide () - done -;; - -(* CSC: orripilante *) -(* the list of the signal ids *) -let sig_ids = ref ([] : GtkSignal.id list);; - -let disconnect_hint annotation_window buttonno = - match !sig_ids with - id::ids -> - annotation_window#annotation_hints.(buttonno)#misc#disconnect id ; - sig_ids := ids - | _ -> assert false -;; - -(* link_hint annotation_window n label hint *) -(* set the label of the nth hint button of annotation_window to label *) -(* and the correspondent hint to hint *) -let link_hint annotation_window buttonno label hint = - let button = annotation_window#annotation_hints.(buttonno) in - sig_ids := - (button#connect#clicked - ~callback:(fun () -> (annotation_window#annotation : GEdit.text)#insert hint) - ) :: !sig_ids ; - button#misc#show () ; - match button#children with - [labelw] -> (GMisc.label_cast labelw)#set_text label - | _ -> assert false -;; - -exception TooManyHints;; - -let link_hints annotation_window a = - if Array.length a > Array.length annotation_window#annotation_hints then - raise TooManyHints ; - for i = List.length !sig_ids - 1 downto 0 do - disconnect_hint annotation_window i - done ; - Array.iteri - (fun i (label,hint) -> link_hint annotation_window i label hint) a ; - deactivate_hints_from annotation_window (Array.length a) -;; - -let list_mapi f = - let rec aux n = - function - [] -> [] - | he::tl -> (f n he)::(aux (n + 1) tl) - in - aux 0 -;; - -let get_id annterm = - let module C = Cic in - match annterm with - C.ARel (id,_,_) - | C.AVar (id,_) - | C.AMeta (id,_,_) - | C.ASort (id,_) - | C.AImplicit id - | C.ACast (id,_,_) - | C.AProd (id,_,_,_) - | C.ALambda (id,_,_,_) - | C.ALetIn (id,_,_,_) - | C.AAppl (id,_) - | C.AConst (id,_,_) - | C.AMutInd (id,_,_,_) - | C.AMutConstruct (id,_,_,_,_) - | C.AMutCase (id,_,_,_,_,_,_) - | C.AFix (id,_,_) - | C.ACoFix (id,_,_) -> id -;; - -let create_hint_from_term annotation_window annterm = - let module C = Cic in - match annterm with - C.ARel (id,_,_) -> - link_hints annotation_window - [| "Binder", "" |] - | C.AVar (id,_) -> - link_hints annotation_window - [| "relURI???", "" |] - | C.AMeta (id,_,subst) -> - let res = - Array.append - [| "Number", "" |] - (Array.mapi - (fun i s -> - match s with - None -> - "Argument " ^ string_of_int i, "_" - | Some t -> - "Argument " ^ string_of_int i, "" - ) (Array.of_list subst) - ) - in - link_hints annotation_window res - | C.ASort (id,_) -> - link_hints annotation_window - [| "Value", "" |] - | C.AImplicit id -> - link_hints annotation_window [| |] - | C.ACast (id,bo,ty) -> - let boid = get_id bo - and tyid = get_id ty in - link_hints annotation_window - [| "Body", "" ; - "Type", "" - |] - | C.AProd (id,_,ty,bo) -> - let boid = get_id bo - and tyid = get_id ty in - link_hints annotation_window - [| "Binder", - "" ; - "Body", "" ; - "Type", "" - |] - | C.ALambda (id,_,ty,bo) -> - let boid = get_id bo - and tyid = get_id ty in - link_hints annotation_window - [| "Binder", - "" ; - "Body", "" ; - "Type", "" - |] - | C.ALetIn (id,_,ty,bo) -> - let boid = get_id bo - and tyid = get_id ty in - link_hints annotation_window - [| "Binder", - "" ; - "Term", "" ; - "Target", "" - |] - | C.AAppl (id,args) -> - let argsid = - Array.mapi - (fun i te -> "Argument " ^ string_of_int i, "") - (Array.of_list args) - in - link_hints annotation_window argsid - | C.AConst (id,_,_) -> - link_hints annotation_window - [| "Uri???", "" |] - | C.AMutInd (id,_,_,_) -> - link_hints annotation_window - [| "Uri???", "" |] - | C.AMutConstruct (id,_,_,_,_) -> - link_hints annotation_window - [| "Uri???", "" |] - | C.AMutCase (id,_,_,_,outty,te,pl) -> - let outtyid = get_id outty - and teid = get_id te - and plid = - Array.mapi - (fun i te -> "Pattern " ^ string_of_int i, "") - (Array.of_list pl) - in - link_hints annotation_window - (Array.append - [| "Uri???", "" ; - "Case Type", "" ; - "Term", "" ; - |] - plid) - | C.AFix (id,_,funl) -> - let funtylid = - Array.mapi - (fun i (_,_,ty,_) -> - "Type " ^ string_of_int i, "") - (Array.of_list funl) - and funbolid = - Array.mapi - (fun i (_,_,_,bo) -> - "Body " ^ string_of_int i, "") - (Array.of_list funl) - and funnamel = - Array.mapi - (fun i (_,_,_,_) -> - "Name " ^ string_of_int i, "") - (Array.of_list funl) - and funrecindexl = - Array.mapi - (fun i (_,_,_,_) -> - "Recursive Index??? " ^ string_of_int i, "") - (Array.of_list funl) - in - link_hints annotation_window - (Array.concat - [ funtylid ; - funbolid ; - funnamel ; - funrecindexl ; - [| "NoFun???", "" |] - ] - ) - | C.ACoFix (id,_,funl) -> - let funtylid = - Array.mapi - (fun i (_,ty,_) -> - "Type " ^ string_of_int i, "") - (Array.of_list funl) - and funbolid = - Array.mapi - (fun i (_,_,bo) -> - "Body " ^ string_of_int i, "") - (Array.of_list funl) - and funnamel = - Array.mapi - (fun i (_,_,_) -> - "Name " ^ string_of_int i, "") - (Array.of_list funl) - in - link_hints annotation_window - (Array.concat - [ funtylid ; - funbolid ; - funnamel ; - [| "NoFun???", "" |] - ] - ) -;; - -(*CSC: da riscrivere completamente eliminando il paciugo degli array - liste *) -let create_hint_from_obj annotation_window annobj = - let module C = Cic in - match annobj with - C.ADefinition (id,_,bo,ty,_) -> - let boid = get_id bo - and tyid = get_id ty in - link_hints annotation_window - [| "Name", "" ; - "Ingredients", "" ; - "Body", "" ; - "Type", "" - |] - | C.AAxiom (id,_,ty,_) -> - let tyid = get_id ty in - link_hints annotation_window - [| "Name", "" ; - "Ingredients", "" ; - "Type", "" - |] - | C.AVariable (id,_,bo,ty) -> - let tyid = get_id ty in - link_hints annotation_window - (match bo with - None -> - [| "Name", "" ; - "Type", "" - |] - | Some bo -> - let boid = get_id bo in - [| "Name", "" ; - "Body", "" ; - "Type", "" - |] - ) - | C.ACurrentProof (id,_,conjs,bo,ty) -> - let boid = get_id bo - and tyid = get_id ty - and conjsid = List.map (fun (id,_,_,_) -> id) conjs in - link_hints annotation_window -(*CSC: never tested since the introduction of the new Metas *) - (Array.append - [| "Name", "" ; - "Ingredients", "" ; - "Body", "" ; - "Type", "" - |] - (Array.mapi - (fun i id -> - "Conjecture " ^ string_of_int i, "" - ) (Array.of_list conjsid) - ) - ) - | C.AInductiveDefinition (id,itl,_,_) -> - let itlids = - List.map - (fun (_,_,arity,cons) -> - get_id arity, - List.map (fun (_,ty,_) -> get_id ty) cons - ) itl - in - link_hints annotation_window - (Array.concat - [ - [| "Ingredients","" |]; - (Array.mapi - (fun i _ -> - "Type Name " ^ string_of_int i, - "" - ) (Array.of_list itlids) - ) ; - (Array.mapi - (fun i (id,_) -> - "Type " ^ string_of_int i, "" - ) (Array.of_list itlids) - ) ; - (Array.concat - (list_mapi - (fun i (_,consid) -> - (Array.mapi - (fun j _ -> - "Constructor Name " ^ string_of_int i ^ " " ^ string_of_int j, - "" - ) (Array.of_list consid) - ) ; - ) itlids - ) - ) ; - (Array.concat - (list_mapi - (fun i (_,consid) -> - (Array.mapi - (fun j id -> - "Constructor " ^ string_of_int i ^ " " ^ string_of_int j, - "" - ) (Array.of_list consid) - ) ; - ) itlids - ) - ) - ] - ) -;; - -exception IdUnknown of string;; - -let create_hints annotation_window ids_to_targets xpath = - try - match Hashtbl.find ids_to_targets xpath with - Cic.Object annobj -> create_hint_from_obj annotation_window annobj - | Cic.Term annterm -> create_hint_from_term annotation_window annterm -(*CSC: never tested since the introduction of the new Metas *) - | Cic.Hypothesis _ - | Cic.Conjecture _ -> assert false - with - Not_found -> raise (IdUnknown xpath) -;; diff --git a/helm/annotationHelper/cicAnnotationHinter.mli b/helm/annotationHelper/cicAnnotationHinter.mli deleted file mode 100644 index 8cfc04c22..000000000 --- a/helm/annotationHelper/cicAnnotationHinter.mli +++ /dev/null @@ -1,46 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 29/11/2000 *) -(* *) -(* *) -(******************************************************************************) - -val create_hints : - < annotation : GEdit.text; - annotation_hints : < children : < as_widget : 'a Gtk.obj; .. > list; - connect : < clicked : callback:(unit -> unit) -> GtkSignal.id; - .. >; - misc : < disconnect : GtkSignal.id -> 'b; - hide : unit -> 'c; show : unit -> 'd; .. >; - .. > - array; - .. > -> - (Cic.id, Cic.anntarget) Hashtbl.t -> string -> unit diff --git a/helm/cgi/mkcontrol.pl b/helm/cgi/mkcontrol.pl deleted file mode 100755 index e314aa778..000000000 --- a/helm/cgi/mkcontrol.pl +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/perl - -# First of all, let's load HELM configuration -use Env; -my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"}; -# this should be the only fixed constant -my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm"; -if (defined ($HELM_LIB_DIR)) { - $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl"; -} else { - $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl"; -} - -# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm -require $HELM_LIB_PATH; - -use CGI; - -$cgi = new CGI($ENV{"REQUEST_URL"}); -$mode = $cgi->param('mode'); -$cicuri = $cgi->param('cicuri'); -$theoryuri = $cgi->param('theoryuri'); -$topurl = $cgi->param('topurl'); -$processorURL = $cgi->param('processorURL'); -$getterURL = $cgi->param('getterURL'); -($mode1,$mode2,$mode3,$mode4,$mode5) = split(/,/, $mode); -$natural = "checked" if ($mode4 eq "yes"); -$annotations = "checked" if ($mode5 eq "yes"); -if ($mode1 eq "raw") { - $format_raw = "selected"; -} else { - $format_processed = "selected"; -} - -print < - - -Control panel - - - -
- - - - - - - - - - - -
- Format: - - - - - Reload
- (do it also before attempting to take a link to the current page) - -
-  Natural Language -  Annotations - - Configuration panel -
-
- - -EOT diff --git a/helm/cgi/mkheader.pl b/helm/cgi/mkheader.pl deleted file mode 100755 index b3db1cfa3..000000000 --- a/helm/cgi/mkheader.pl +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/perl - -# First of all, let's load HELM configuration -use Env; -my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"}; -# this should be the only fixed constant -my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm"; -if (defined ($HELM_LIB_DIR)) { - $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl"; -} else { - $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl"; -} - -# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm -require $HELM_LIB_PATH; - -use CGI; - -$cgi = new CGI($ENV{"REQUEST_URL"}); -$uri = $cgi->param('uri'); - -print < - - -Control panel - - - - - - - -
- Index of $uri -
-
- - -EOT diff --git a/helm/cgi/mkindex.pl b/helm/cgi/mkindex.pl deleted file mode 100755 index 955d6d8b0..000000000 --- a/helm/cgi/mkindex.pl +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/perl - -# First of all, let's load HELM configuration -use Env; -my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"}; -# this should be the only fixed constant -my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm"; -if (defined ($HELM_LIB_DIR)) { - $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl"; -} else { - $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl"; -} - -# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm -require $HELM_LIB_PATH; - -#use URI::Escape; -use CGI; - -$cgi = new CGI($ENV{"REQUEST_URL"}); - -$mode = $cgi->param('mode'); -$cicuri = $cgi->param('cicuri'); -$theoryuri = $cgi->param('theoryuri'); -$processorURL = $cgi->param('processorURL'); -$getterURL = $cgi->param('getterURL'); -$topurl = $cgi->url(); - -print < - - - Index of $cicuri and $theoryuri - - - - - - - - - - - - - - - -EOT diff --git a/helm/cgi/mkindexcic.pl b/helm/cgi/mkindexcic.pl deleted file mode 100755 index a31f5ecfb..000000000 --- a/helm/cgi/mkindexcic.pl +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/perl - -# First of all, let's load HELM configuration -use Env; -my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"}; -# this should be the only fixed constant -my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm"; -if (defined ($HELM_LIB_DIR)) { - $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl"; -} else { - $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl"; -} - -# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm -require $HELM_LIB_PATH; - -use URI::Escape; -use LWP::UserAgent; -use CGI; - -my $cgi = new CGI($ENV{"REQUEST_URL"}); -$uri = $cgi->param('cicuri'); -$getterURL = $cgi->param('getterURL'); -$uri =~ s/(.*)\/$/$1/; # Remove a final slash if present -$uri .= "/"; # Put a final slash -$myurl = $cgi->url(); - -$cont = ""; # modified by side-effect by &callback -my $ua = LWP::UserAgent->new; -my $request = HTTP::Request->new(GET => $getterURL."ls?format=txt&baseuri=".$uri); -my $response = $ua->request($request, \&callback); - -@filenames = split(/\n/, $cont); - -my $uridotdot = $uri; -$uridotdot =~ s/(.*)\/.+/$1/; -if ($uri ne "cic:/") { - # Let's print the link to the parent directory - $output = < -[BACK] -
Parent Directory - -EOT -} - -foreach $i (@filenames) { - my ($type,$name,$flags) = split(/, /, $i); - my ($flagscic, $flagstypes) = split(/,/, $flags); - $flagscic =~ s/^<(.*)/$1/; - $flagstypes =~ s/(.*)>$/$1/; - if ($type eq "dir") { - $output .= < -[DIR] -$name - - -EOT - } elsif ($type eq "object") { - if ($name =~ /\.(con|var|ind)$/) { - # cic file - $output .= < -[DIR] -$name - -EOT - } else { - $output .= < -[DIR] -$name - -EOT - } - } else { - $output .= < -[DIR] -$name - -EOT - } -} - -print < - - -Index of $uri - - - - -$output -
-
- - -EOT - -#================================ - -sub callback -{ - my ($data) = @_; - $cont .= $data; -} diff --git a/helm/cgi/mkindextheory.pl b/helm/cgi/mkindextheory.pl deleted file mode 100755 index 424f688ff..000000000 --- a/helm/cgi/mkindextheory.pl +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/perl - -# First of all, let's load HELM configuration -use Env; -my $HELM_LIB_DIR = $ENV{"HELM_LIB_DIR"}; -# this should be the only fixed constant -my $DEFAULT_HELM_LIB_DIR = "/projects/helm/on-line/local/lib/helm"; -if (defined ($HELM_LIB_DIR)) { - $HELM_LIB_PATH = $HELM_LIB_DIR."/configuration.pl"; -} else { - $HELM_LIB_PATH = $DEFAULT_HELM_LIB_DIR."/configuration.pl"; -} - -# next require defines: $helm_dir, $html_link, $dtd_dir, $uris_dbm -require $HELM_LIB_PATH; - -use URI::Escape; -use LWP::UserAgent; -use CGI; - -my $cgi = new CGI($ENV{"REQUEST_URL"}); -$uri = $cgi->param('theoryuri'); -$getterURL = $cgi->param('getterURL'); -$uri =~ s/(.*)\/$/$1/; # Remove a final slash if present -$uri .= "/"; # Put a final slash -$myurl = $cgi->url(); - -$cont = ""; # modified by side-effect by &callback -my $ua = LWP::UserAgent->new; -my $request = HTTP::Request->new(GET => $getterURL."ls?format=txt&baseuri=".$uri); -my $response = $ua->request($request, \&callback); - -@filenames = split(/\n/, $cont); - -my $uridotdot = $uri; -$uridotdot =~ s/(.*)\/.+/$1/; -if ($uri ne "theory:/") { - # Let's print the link to the parent directory - $output = < -[BACK] -Parent Directory - -EOT -} - -foreach $i (@filenames) { - my ($type,$name,$flags) = split(/, /, $i); - my ($flagscic, $flagstypes) = split(/,/, $flags); - $flagscic =~ s/^<(.*)/$1/; - $flagstypes =~ s/(.*)>$/$1/; - if ($type eq "dir") { - $output .= < -[DIR] -$name - -EOT - } elsif ($type eq "object") { - if ($name =~ /\.theory$/) { - # theory file - $output .= < -[DIR] -$name - -EOT - } else { - $output .= < -[DIR] -$name - -EOT - } - } else { - $output .= < -[DIR] -$name - -EOT - } -} - -print < - - -Index of $uri - - - - -$output -
-
- - -EOT - -#================================ - -sub callback -{ - my ($data) = @_; - $cont .= $data; -} diff --git a/helm/configuration/.cvsignore b/helm/configuration/.cvsignore deleted file mode 100644 index d8a7ecb4a..000000000 --- a/helm/configuration/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile configure config.log config.cache config.status -helm-config -helm_configuration.spec diff --git a/helm/configuration/AUTHORS b/helm/configuration/AUTHORS deleted file mode 100644 index 0ceb16fd5..000000000 --- a/helm/configuration/AUTHORS +++ /dev/null @@ -1,4 +0,0 @@ -Andrea Asperti -Luca Padovani -Claudio Sacerdoti Coen -Irene Schena diff --git a/helm/configuration/COPYING b/helm/configuration/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/helm/configuration/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/helm/configuration/ChangeLog b/helm/configuration/ChangeLog deleted file mode 100644 index 20c36b475..000000000 --- a/helm/configuration/ChangeLog +++ /dev/null @@ -1 +0,0 @@ -28/12/2000: First alpha release diff --git a/helm/configuration/Makefile.in b/helm/configuration/Makefile.in deleted file mode 100644 index 00c3893dc..000000000 --- a/helm/configuration/Makefile.in +++ /dev/null @@ -1,47 +0,0 @@ - -HELM_BIN_DIR=@HELM_BIN_DIR@ -HELM_LIB_DIR=@HELM_LIB_DIR@ -HELM_ETC_DIR=@HELM_ETC_DIR@ -HELM_SHARE_DIR=@HELM_SHARE_DIR@ -HELM_VAR_DIR=@HELM_VAR_DIR@ -HELM_DTD_DIR=@HELM_DTD_DIR@ -HELM_STYLE_DIR=@HELM_STYLE_DIR@ -HELM_LIBRARY_DIR=@HELM_LIBRARY_DIR@ - -all: - -install: - mkdir -p $(HELM_BIN_DIR) - cp helm-config $(HELM_BIN_DIR) - mkdir -p $(HELM_LIB_DIR) - mkdir -p $(HELM_ETC_DIR) - mkdir -p $(HELM_SHARE_DIR) - mkdir -p $(HELM_VAR_DIR) - chmod 777 $(HELM_VAR_DIR) - mkdir -p $(HELM_LIBRARY_DIR) - chmod 777 $(HELM_LIBRARY_DIR) - mkdir -p $(HELM_DTD_DIR) - mkdir -p $(HELM_STYLE_DIR) - cp lib/configuration.pl $(HELM_LIB_DIR) - cp etc/configuration.dtd etc/configuration.xml etc/helm-dictionary.xml \ - etc/helm-font-configuration.xml etc/helm-math-engine-configuration.xml\ - $(HELM_ETC_DIR) - cp library/servers.txt library/urls_of_uris.db $(HELM_VAR_DIR) - chmod 666 $(HELM_VAR_DIR)/servers.txt \ - $(HELM_VAR_DIR)/urls_of_uris.db - -clean: - -distclean: - rm -f Makefile configure config.log config.cache config.status \ - etc/configuration.xml etc/helm-math-engine-configuration.xml \ - lib/configuration.pl helm-config helm_configuration.spec - -dist: clean - rm -rf ../@PACKAGE@-@VERSION@ - mkdir ../@PACKAGE@-@VERSION@ - cp -r * ../@PACKAGE@-@VERSION@ - (cd .. ; tar cvfz @PACKAGE@-@VERSION@.tar.gz @PACKAGE@-@VERSION@ ; rm -rf @PACKAGE@-@VERSION@) - -.PHONY: all install distclean - diff --git a/helm/configuration/NEWS b/helm/configuration/NEWS deleted file mode 100644 index 20c36b475..000000000 --- a/helm/configuration/NEWS +++ /dev/null @@ -1 +0,0 @@ -28/12/2000: First alpha release diff --git a/helm/configuration/README b/helm/configuration/README deleted file mode 100644 index 9f6eb3534..000000000 --- a/helm/configuration/README +++ /dev/null @@ -1,8 +0,0 @@ -NOTE: This is the first alpha release of project HELM. - -HELM (Hypertextual Electronic Library of Mathematics) is a project aimed -at the creation of tools for the development and exploitation of a huge -distributed library of formal mathematical knowledge. This package holds -the configuration files shared by all this tools. - -For more information see http://www.cs.unibo.it/helm diff --git a/helm/configuration/config.cache.pkg b/helm/configuration/config.cache.pkg deleted file mode 100644 index 434e570a2..000000000 --- a/helm/configuration/config.cache.pkg +++ /dev/null @@ -1,15 +0,0 @@ -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -helm_cv_HELM_VAR_DIR=${helm_cv_HELM_VAR_DIR='/var/local/helm'} diff --git a/helm/configuration/configure.in b/helm/configuration/configure.in deleted file mode 100644 index 03c923e9d..000000000 --- a/helm/configuration/configure.in +++ /dev/null @@ -1,186 +0,0 @@ -AC_INIT(etc/configuration.xml.in) - -PACKAGE=helm_configuration - -HELM_MAJOR_VERSION=0 -HELM_MINOR_VERSION=0 -HELM_MICRO_VERSION=2 -HELM_VERSION=$HELM_MAJOR_VERSION.$HELM_MINOR_VERSION.$HELM_MICRO_VERSION -VERSION=$HELM_VERSION - -DEFAULT_HELM_VAR_DIR=/var/local/helm -DEFAULT_HELM_TMP_DIR=/tmp - -AC_ARG_ENABLE( - defaults, - [ --enable-defaults[=ARG] if yes then use defaults (don't ask user) [default=auto]], - USE_DEFAULTS=$enableval, - USE_DEFAULTS=auto -) - -if test "x$prefix" != xNONE; then - RESOLVED_PREFIX=$prefix -else - RESOLVED_PREFIX=$ac_default_prefix -fi - -if test "x$exec_prefix" != xNONE; then - RESOLVED_EXEC_PREFIX=$exec_prefix -else - RESOLVED_EXEC_PREFIX=$RESOLVED_PREFIX -fi - -dnl General -HELM_BIN_DIR=$RESOLVED_EXEC_PREFIX/bin -HELM_LIB_DIR=$RESOLVED_EXEC_PREFIX/lib/helm -HELM_ETC_DIR=$RESOLVED_PREFIX/etc/helm -HELM_SHARE_DIR=$RESOLVED_PREFIX/share/helm - -dnl Checking for the variable directory -if test $USE_DEFAULTS != yes; then - echo - echo "Now you have to choose a suitable directory for variable files." - echo "Normally, this directory would be something like /var/local/helm, you" - echo "have to be sure that the directory (and the subdirectories in it)" - echo "is world-writable." - echo - echo -n "[[$DEFAULT_HELM_VAR_DIR]] ? " - read HELM_VAR_DIR - echo - if test x$HELM_VAR_DIR = x; then - HELM_VAR_DIR="/var/local/helm" - fi -else - HELM_VAR_DIR=$DEFAULT_HELM_VAR_DIR -fi - -AC_MSG_CHECKING(for HELM variable dir) -AC_MSG_RESULT($HELM_VAR_DIR) - -dnl Checking for the /tmp directory -DEFAULTS=$USE_DEFAULTS -if test $DEFAULTS = auto; then - if test -d $DEFAULT_HELM_TMP_DIR ; then - HELM_TMP_DIR=$DEFAULT_HELM_TMP_DIR - else - DEFAULTS=no - fi -fi - -if test $DEFAULTS = no; then - echo - echo "Please, tell me the name of a directory which can be used to store" - echo "temporary files (normally it is something like /tmp)" - echo - echo -n "[[$DEFAULT_HELM_TMP_DIR]]" - read HELM_TMP_DIR - echo - if test x$HELM_TMP_DIR = x; then - HELM_TMP_DIR=$DEFAULT_HELM_TMP_DIR - fi -else - HELM_TMP_DIR=$DEFAULT_HELM_TMP_DIR -fi - -AC_MSG_CHECKING(for $HELM_TMP_DIR) -if test ! -d $HELM_TMP_DIR; then - AC_MSG_RESULT(no) - AC_MSG_ERROR(please check your installation) -fi -AC_MSG_RESULT(ok) - -dnl Checks for GtkMathView -AC_CHECK_PROG(HAVE_GTKMATHVIEW_CONFIG, gtkmathview-config, yes, no) -if test $HAVE_GTKMATHVIEW_CONFIG = no; then - AC_MSG_ERROR(Could not find gtkmathview-config) -fi -GTKMATHVIEW_PREFIX=`gtkmathview-config --prefix` - -AC_CACHE_CHECK( - for dictionary.xml, - helm_cv_GTKMATHVIEW_DICTIONARY_PATH, - helm_cv_GTKMATHVIEW_DICTIONARY_PATH=$GTKMATHVIEW_PREFIX/share/gtkmathview/dictionary.xml - if test ! -f $helm_cv_GTKMATHVIEW_DICTIONARY_PATH; then - read helm_cv_GTKMATHVIEW_DICTIONARY_PATH - fi -) -GTKMATHVIEW_DICTIONARY_PATH=$helm_cv_GTKMATHVIEW_DICTIONARY_PATH - -AC_CACHE_CHECK( - for font-configuration.xml, - helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH, - helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH=$GTKMATHVIEW_PREFIX/share/gtkmathview/font-configuration.xml - if test ! -f $helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH; then - read helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH - fi -) -GTKMATHVIEW_FONT_CONFIGURATION_PATH=$helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH - -AC_CACHE_CHECK( - for t1lib configuration file, - helm_cv_GTKMATHVIEW_T1_CONFIG_FILE, - helm_cv_GTKMATHVIEW_T1_CONFIG_FILE=$GTKMATHVIEW_PREFIX/share/gtkmathview/t1.config - if test ! -f $helm_cv_GTKMATHVIEW_T1_CONFIG_FILE; then - read GTKMATHVIEW_T1_CONFIG_FILE - fi -) -GTKMATHVIEW_T1_CONFIG_FILE=$helm_cv_GTKMATHVIEW_T1_CONFIG_FILE - -HELM_DICTIONARY_PATH=$HELM_ETC_DIR/helm-dictionary.xml -HELM_FONT_CONFIGURATION_PATH=$HELM_ETC_DIR/helm-font-configuration.xml - -dnl Only for HELM XML configuration -HELM_LIBRARY_DIR=$HELM_VAR_DIR/library -HELM_SERVERS_FILE=$HELM_VAR_DIR/servers.txt -HELM_URIS_DBM=$HELM_VAR_DIR/urls_of_uris.db - -dnl CSC: FIXME: getters should download the DTDs -HELM_DTD_DIR=$HELM_SHARE_DIR/dtd -HELM_STYLE_DIR=$HELM_SHARE_DIR/style - -dnl HELM prefixes -AC_SUBST(RESOLVED_PREFIX) -AC_SUBST(RESOLVED_EXEC_PREFIX) - -dnl HELM version -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) - -dnl HELM directories -AC_SUBST(HELM_BIN_DIR) -AC_SUBST(HELM_LIB_DIR) -AC_SUBST(HELM_ETC_DIR) -AC_SUBST(HELM_SHARE_DIR) -AC_SUBST(HELM_VAR_DIR) -AC_SUBST(HELM_TMP_DIR) - -dnl HELM download directory -AC_SUBST(HELM_LIBRARY_DIR) - -dnl HELM servers -AC_SUBST(HELM_SERVERS_FILE) - -dnl HELM URIS data-base -AC_SUBST(HELM_URIS_DBM) - -dnl HELM DTDs -AC_SUBST(HELM_DTD_DIR) - -dnl HELM stylesheets -AC_SUBST(HELM_STYLE_DIR) - -dnl HELM customized GtkMathView configuration -AC_SUBST(HELM_DICTIONARY_PATH) -AC_SUBST(HELM_FONT_CONFIGURATION_PATH) -AC_SUBST(GTKMATHVIEW_DICTIONARY_PATH) -AC_SUBST(GTKMATHVIEW_FONT_CONFIGURATION_PATH) -AC_SUBST(GTKMATHVIEW_T1_CONFIG_FILE) - -AC_OUTPUT( -[ Makefile - helm-config - lib/configuration.pl - etc/helm-math-engine-configuration.xml - etc/configuration.xml - helm_configuration.spec -], chmod +x helm-config) diff --git a/helm/configuration/etc/.cvsignore b/helm/configuration/etc/.cvsignore deleted file mode 100644 index c85a7bd9b..000000000 --- a/helm/configuration/etc/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -helm-math-engine-configuration.xml configuration.xml diff --git a/helm/configuration/etc/configuration.dtd b/helm/configuration/etc/configuration.dtd deleted file mode 100644 index 8fc5612a8..000000000 --- a/helm/configuration/etc/configuration.dtd +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/configuration/etc/configuration.xml.in b/helm/configuration/etc/configuration.xml.in deleted file mode 100644 index db034369d..000000000 --- a/helm/configuration/etc/configuration.xml.in +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @HELM_LIBRARY_DIR@ - - @HELM_DTD_DIR@ - @HELM_STYLE_DIR@ - - @HELM_SERVERS_FILE@ - @HELM_URIS_DBM@ - - index.txt - @HELM_TMP_DIR@ - - /home/lpadovan/helm/PARSER/examples - http://localhost/really_very_local/helm/header/getheader.xml - http://localhost/really_very_local/helm/style/ - http://localhost/cgi-bin/helm/webeq.pl - http://localhost/cgi-bin/helm/webeqp.pl - http://localhost/cgi-bin/helm/use_webeqp.pl - ?baseurl=&stylesheet1=rootcontent.xsl&stylesheet2=content_to_html.xsl&xmluri= - http://localhost:8081/ - http://localhost:8080/helm/servlet/uwobo/ - diff --git a/helm/configuration/etc/helm-dictionary.xml b/helm/configuration/etc/helm-dictionary.xml deleted file mode 100644 index 6d1caf722..000000000 --- a/helm/configuration/etc/helm-dictionary.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/configuration/etc/helm-font-configuration.xml b/helm/configuration/etc/helm-font-configuration.xml deleted file mode 100644 index b5a9f7cf5..000000000 --- a/helm/configuration/etc/helm-font-configuration.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/configuration/etc/helm-math-engine-configuration.xml.in b/helm/configuration/etc/helm-math-engine-configuration.xml.in deleted file mode 100644 index 96839778f..000000000 --- a/helm/configuration/etc/helm-math-engine-configuration.xml.in +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @HELM_DICTIONARY_PATH@ - @GTKMATHVIEW_DICTIONARY_PATH@ - @HELM_FONT_CONFIGURATION_PATH@ - @GTKMATHVIEW_FONT_CONFIGURATION_PATH@ - @GTKMATHVIEW_T1_CONFIG_FILE@ - - - - - diff --git a/helm/configuration/helm-config.in b/helm/configuration/helm-config.in deleted file mode 100644 index 3b569dec9..000000000 --- a/helm/configuration/helm-config.in +++ /dev/null @@ -1,84 +0,0 @@ - -usage() -{ - cat <&2 -fi - -while test $# -gt 0; do - case "$1" in - -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - case $1 in - --version) - echo @VERSION@ - ;; - --prefix) - echo @RESOLVED_PREFIX@ - ;; - --exec-prefix) - echo @RESOLVED_EXEC_PREFIX@ - ;; - --bin-dir) - echo @HELM_BIN_DIR@ - ;; - --lib-dir) - echo @HELM_LIB_DIR@ - ;; - --etc-dir) - echo @HELM_ETC_DIR@ - ;; - --share-dir) - echo @HELM_SHARE_DIR@ - ;; - --var-dir) - echo @HELM_VAR_DIR@ - ;; - --tmp-dir) - echo @HELM_TMP_DIR@ - ;; - --library-dir) - echo @HELM_LIBRARY_DIR@ - ;; - --servers) - echo @HELM_SERVERS_FILE@ - ;; - --uris-dbm) - echo @HELM_URIS_DBM@ - ;; - --dtd-dir) - echo @HELM_DTD_DIR@ - ;; - --style-dir) - echo @HELM_STYLE_DIR@ - ;; - *) - usage 1 1>&2 - ;; - esac - shift -done - diff --git a/helm/configuration/helm_configuration.spec.in b/helm/configuration/helm_configuration.spec.in deleted file mode 100644 index 56695c263..000000000 --- a/helm/configuration/helm_configuration.spec.in +++ /dev/null @@ -1,43 +0,0 @@ -Summary: The configuration files shared by all the tools of project HELM -Name: @PACKAGE@ -Version: @VERSION@ -Release: 1 -Copyright: GPL -URL: http://www.cs.unibo.it/helm -Packager: Claudio Sacerdoti Coen -Group: Applications/Publishing -Source: www.cs.unibo.it:/helm/@PACKAGE@-@VERSION@.tar.gz -%description -HELM (Hypertextual Electronic Library of Mathematics) is a project aimed -at the creation of tools for the development and exploitation of a huge -distributed library of formal mathematical knowledge. This package holds -the configuration files shared by all this tools. -For more information see http://www.cs.unibo.it/helm - -%prep -%setup - -%build -cp config.cache.pkg config.cache -./configure --enable-defaults -make - -%install -make install - -%files -%doc AUTHORS COPYING ChangeLog NEWS README - -/usr/local/bin/helm-config -/usr/local/lib/helm/configuration.pl -/usr/local/etc/helm/configuration.dtd -/usr/local/etc/helm/helm-font-configuration.xml -/usr/local/etc/helm/configuration.xml -/usr/local/etc/helm/helm-math-engine-configuration.xml -/usr/local/etc/helm/helm-dictionary.xml -%attr(666,root,root) /var/local/helm/servers.txt -%attr(666,root,root) /var/local/helm/urls_of_uris.db - -%dir /var/local/helm/library -%dir /usr/local/share/helm/dtd -%dir /usr/local/share/helm/style diff --git a/helm/configuration/lib/.cvsignore b/helm/configuration/lib/.cvsignore deleted file mode 100644 index ff6af6814..000000000 --- a/helm/configuration/lib/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -configuration.pl diff --git a/helm/configuration/lib/configuration.pl.in b/helm/configuration/lib/configuration.pl.in deleted file mode 100644 index 6540b800e..000000000 --- a/helm/configuration/lib/configuration.pl.in +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright (C) 2000, HELM Team. -# -# This file is part of HELM, an Hypertextual, Electronic -# Library of Mathematics, developed at the Computer Science -# Department, University of Bologna, Italy. -# -# HELM is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# HELM is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with HELM; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# For details, see the HELM World-Wide-Web page, -# http://cs.unibo.it/helm/. - -use XML::Parser; - -use Env; -my $HELM_CONFIGURATION_DIR = $ENV{"HELM_CONFIGURATION_DIR"}; -my $DEFAULT_HELM_CONFIGURATION_DIR = "@HELM_ETC_DIR@"; -# this should be the only fixed constant -if (defined ($HELM_CONFIGURATION_DIR)) { - $configuration_file = $HELM_CONFIGURATION_DIR."/configuration.xml"; -} else { - $configuration_file = $DEFAULT_HELM_CONFIGURATION_DIR."/configuration.xml"; -} - -$parser = new XML::Parser(Handlers => {Start => \&handle_start, - End => \&handle_end, - Char => \&handle_char}); - - -$parser->parsefile($configuration_file, ErrorContext => 3); - - -sub handle_start -{ - if ($_[1] eq "value-of") { - $$varname .= ${$_[3]}; - } elsif ($_[1] ne "configuration") { - $varname = $_[1]; - } -} - -sub handle_end -{ - if ($_[1] ne "value-of" && $_[1] ne "configuration") { - # Next line for debugging only: - # print "OK: #$_[1]# := #$$varname#\n"; - $varname = undef; - } -} - -sub handle_char -{ - $$varname .= $_[1]; -} diff --git a/helm/configuration/library/servers.txt b/helm/configuration/library/servers.txt deleted file mode 100644 index 5a172e462..000000000 --- a/helm/configuration/library/servers.txt +++ /dev/null @@ -1 +0,0 @@ -http://www.cs.unibo.it/~sacerdot/examples diff --git a/helm/configuration/library/urls_of_uris.db b/helm/configuration/library/urls_of_uris.db deleted file mode 100644 index 9f01b7ae5..000000000 Binary files a/helm/configuration/library/urls_of_uris.db and /dev/null differ diff --git a/helm/dtd/annotations.dtd b/helm/dtd/annotations.dtd deleted file mode 100644 index 518541049..000000000 --- a/helm/dtd/annotations.dtd +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/backward.dtd b/helm/dtd/backward.dtd deleted file mode 100644 index 60c27c4a7..000000000 --- a/helm/dtd/backward.dtd +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/cic.dtd b/helm/dtd/cic.dtd deleted file mode 100644 index 97e6cd6b1..000000000 --- a/helm/dtd/cic.dtd +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/cicobject.dtd b/helm/dtd/cicobject.dtd deleted file mode 100644 index 10f001df6..000000000 --- a/helm/dtd/cicobject.dtd +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%mathml; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/cictypes.dtd b/helm/dtd/cictypes.dtd deleted file mode 100644 index c5e199658..000000000 --- a/helm/dtd/cictypes.dtd +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%cicdtd; - - - - - - - - - - diff --git a/helm/dtd/forward.dtd b/helm/dtd/forward.dtd deleted file mode 100644 index 4fd7ea419..000000000 --- a/helm/dtd/forward.dtd +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isoamsa.ent b/helm/dtd/isoamsa.ent deleted file mode 100644 index 5ecf4db21..000000000 --- a/helm/dtd/isoamsa.ent +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isoamsb.ent b/helm/dtd/isoamsb.ent deleted file mode 100644 index 08e646c2b..000000000 --- a/helm/dtd/isoamsb.ent +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isoamsc.ent b/helm/dtd/isoamsc.ent deleted file mode 100644 index cce399cf9..000000000 --- a/helm/dtd/isoamsc.ent +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isoamsn.ent b/helm/dtd/isoamsn.ent deleted file mode 100644 index cddeba066..000000000 --- a/helm/dtd/isoamsn.ent +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isoamso.ent b/helm/dtd/isoamso.ent deleted file mode 100644 index 8ac4bdb61..000000000 --- a/helm/dtd/isoamso.ent +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isoamsr.ent b/helm/dtd/isoamsr.ent deleted file mode 100644 index 7fec58255..000000000 --- a/helm/dtd/isoamsr.ent +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isobox.ent b/helm/dtd/isobox.ent deleted file mode 100644 index 630edc559..000000000 --- a/helm/dtd/isobox.ent +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isocyr1.ent b/helm/dtd/isocyr1.ent deleted file mode 100644 index 4bcc9e416..000000000 --- a/helm/dtd/isocyr1.ent +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isocyr2.ent b/helm/dtd/isocyr2.ent deleted file mode 100644 index 67c477b24..000000000 --- a/helm/dtd/isocyr2.ent +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isodia.ent b/helm/dtd/isodia.ent deleted file mode 100644 index ba6496300..000000000 --- a/helm/dtd/isodia.ent +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isogrk3.ent b/helm/dtd/isogrk3.ent deleted file mode 100644 index fa0335504..000000000 --- a/helm/dtd/isogrk3.ent +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isolat1.ent b/helm/dtd/isolat1.ent deleted file mode 100644 index 849d360ae..000000000 --- a/helm/dtd/isolat1.ent +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isolat2.ent b/helm/dtd/isolat2.ent deleted file mode 100644 index 3049be7f1..000000000 --- a/helm/dtd/isolat2.ent +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isomfrk.ent b/helm/dtd/isomfrk.ent deleted file mode 100644 index d3d92aaee..000000000 --- a/helm/dtd/isomfrk.ent +++ /dev/null @@ -1,79 +0,0 @@ - - - -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > diff --git a/helm/dtd/isomopf.ent b/helm/dtd/isomopf.ent deleted file mode 100644 index 6b5e01f79..000000000 --- a/helm/dtd/isomopf.ent +++ /dev/null @@ -1,53 +0,0 @@ - - - -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > diff --git a/helm/dtd/isomscr.ent b/helm/dtd/isomscr.ent deleted file mode 100644 index 75d3bc5df..000000000 --- a/helm/dtd/isomscr.ent +++ /dev/null @@ -1,79 +0,0 @@ - - - -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > -" > diff --git a/helm/dtd/isonum.ent b/helm/dtd/isonum.ent deleted file mode 100644 index d6d346169..000000000 --- a/helm/dtd/isonum.ent +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isopub.ent b/helm/dtd/isopub.ent deleted file mode 100644 index 5591fc390..000000000 --- a/helm/dtd/isopub.ent +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/isotech.ent b/helm/dtd/isotech.ent deleted file mode 100644 index 8b30af833..000000000 --- a/helm/dtd/isotech.ent +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/ls.dtd b/helm/dtd/ls.dtd deleted file mode 100644 index 93997e72a..000000000 --- a/helm/dtd/ls.dtd +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/helm/dtd/mathml2-qname-1.mod b/helm/dtd/mathml2-qname-1.mod deleted file mode 100644 index 4dea63a00..000000000 --- a/helm/dtd/mathml2-qname-1.mod +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - -]]> - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/mathml2.dtd b/helm/dtd/mathml2.dtd deleted file mode 100644 index a9b7bf1ac..000000000 --- a/helm/dtd/mathml2.dtd +++ /dev/null @@ -1,1948 +0,0 @@ - - - - - - - - - -%mathml-qname.mod;]]> - - ---> - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%ent-isoamsa; - - -%ent-isoamsb; - - -%ent-isoamsc; - - -%ent-isoamsn; - - -%ent-isoamso; - - -%ent-isoamsr; - - -%ent-isogrk3; - - -%ent-isomfrk; - - -%ent-isomopf; - - -%ent-isomscr; - - -%ent-isotech; - - - - -%ent-isobox; - - -%ent-isocyr1; - - -%ent-isocyr2; - - -%ent-isodia; - - -%ent-isolat1; - - -%ent-isolat2; - - -%ent-isonum; - - -%ent-isopub; - - - - -%ent-mmlextra; - - - - -%ent-mmlalias; - -]]> - - - - - - diff --git a/helm/dtd/maththeory.dtd b/helm/dtd/maththeory.dtd deleted file mode 100644 index 7158611ed..000000000 --- a/helm/dtd/maththeory.dtd +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - typesetting ( paragraph | inline ) paragraph - - heading ( true | false ) true - - uri_base ( true | false ) true - - notation ( true | false ) false - - params ( true | false ) false - - Params ( true | false ) true - - type ( true | false ) true - - body ( true | false ) true > - - - - - - - - - - -(*CSC: In the case of a set of mutual (Co)Inductive DEFINITIONS, *) -(*CSC: all the entries inside ht:MUTUAL have the same URI ;-| *) - diff --git a/helm/dtd/mmlalias.ent b/helm/dtd/mmlalias.ent deleted file mode 100644 index f5901b384..000000000 --- a/helm/dtd/mmlalias.ent +++ /dev/null @@ -1,529 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/mmlextra.ent b/helm/dtd/mmlextra.ent deleted file mode 100644 index e76de448c..000000000 --- a/helm/dtd/mmlextra.ent +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/theoryobject.dtd b/helm/dtd/theoryobject.dtd deleted file mode 100644 index 1a8cb131d..000000000 --- a/helm/dtd/theoryobject.dtd +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%cicobj; - - - - - - - - - - - - - - - - typesetting ( paragraph | inline ) paragraph - - heading ( true | false ) true - - uri_base ( true | false ) true - - notation ( true | false ) false - - params ( true | false ) false - - Params ( true | false ) true - - type ( true | false ) true - - body ( true | false ) true > - - - - - - diff --git a/helm/dtd/xhtml-lat1.ent b/helm/dtd/xhtml-lat1.ent deleted file mode 100644 index ffee223eb..000000000 --- a/helm/dtd/xhtml-lat1.ent +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/xhtml-special.ent b/helm/dtd/xhtml-special.ent deleted file mode 100644 index ca358b2fe..000000000 --- a/helm/dtd/xhtml-special.ent +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/dtd/xhtml-symbol.ent b/helm/dtd/xhtml-symbol.ent deleted file mode 100644 index 63c2abfa6..000000000 --- a/helm/dtd/xhtml-symbol.ent +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/fix_params/.cvsignore b/helm/fix_params/.cvsignore deleted file mode 100644 index 7335d1661..000000000 --- a/helm/fix_params/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.cm[iox] *.o fix_params fix_params.opt diff --git a/helm/fix_params/.depend b/helm/fix_params/.depend deleted file mode 100644 index 152053f35..000000000 --- a/helm/fix_params/.depend +++ /dev/null @@ -1,2 +0,0 @@ -fix_params.cmo: cicFindParameters.cmo -fix_params.cmx: cicFindParameters.cmx diff --git a/helm/fix_params/Makefile b/helm/fix_params/Makefile deleted file mode 100644 index 92ac930bc..000000000 --- a/helm/fix_params/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -REQUIRES = helm-getter helm-cic_cache helm-xml -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -pp camlp4o -OCAMLDEP = ocamldep -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLOPTIONS) -OCAMLOPT = $(OCAMLFIND) ocamlopt $(OCAMLOPTIONS) - -LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) -LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) - -all: fix_params -opt: fix_params.opt - -DEPOBJS = cic2Xml.ml cicFindParameters.ml fix_params.ml - -FIXPARAMSOBJS = cic2Xml.cmo cicFindParameters.cmo fix_params.cmo - -depend: - $(OCAMLDEP) $(DEPOBJS) > .depend - -fix_params: $(FIXPARAMSOBJS) $(LIBRARIES) - $(OCAMLC) -linkpkg -o fix_params $(FIXPARAMSOBJS) - -fix_params.opt: $(FIXPARAMSOBJS:.cmo=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o fix_params.opt $(FIXPARAMSOBJS:.cmo=.cmx) - -.SUFFIXES: .ml .mli .cmo .cmi .cmx -.ml.cmo: $(LIBRARIES) - $(OCAMLC) -c $< -.mli.cmi: $(LIBRARIES) - $(OCAMLC) -c $< -.ml.cmx: $(LIBRARIES_OPT) - $(OCAMLOPT) -c $< - -clean: - rm -f *.cm[iox] *.o fix_params fix_params.opt - -.PHONY: clean - -include .depend diff --git a/helm/fix_params/cic2Xml.ml b/helm/fix_params/cic2Xml.ml deleted file mode 100644 index 0d433d64a..000000000 --- a/helm/fix_params/cic2Xml.ml +++ /dev/null @@ -1,251 +0,0 @@ - -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(*CSC codice cut & paste da cicPp e xmlcommand *) - -exception ImpossiblePossible;; -exception NotImplemented;; -let dtdname = "http://localhost:8081/getdtd?url=cic.dtd";; - -(*CSC ottimizzazione: al posto di curi cdepth (vedi codice) *) -let print_term curi = - let rec aux = - let module C = Cic in - let module X = Xml in - let module U = UriManager in - function - C.ARel (id,n,b) -> - X.xml_empty "REL" ["value",(string_of_int n);"binder",b;"id",id] - | C.AVar (id,uri) -> - let vdepth = U.depth_of_uri uri - and cdepth = U.depth_of_uri curi in - X.xml_empty "VAR" - ["relUri",(string_of_int (cdepth - vdepth)) ^ "," ^ - (U.name_of_uri uri) ; - "id",id] - | C.AMeta (id,n) -> - X.xml_empty "META" ["no",(string_of_int n) ; "id",id] - | C.ASort (id,s) -> - let string_of_sort = - function - C.Prop -> "Prop" - | C.Set -> "Set" - | C.Type -> "Type" - in - X.xml_empty "SORT" ["value",(string_of_sort s) ; "id",id] - | C.AImplicit _ -> raise NotImplemented - | C.AProd (id,C.Anonimous,s,t) -> - X.xml_nempty "PROD" ["id",id] - [< X.xml_nempty "source" [] (aux s) ; - X.xml_nempty "target" [] (aux t) - >] - | C.AProd (xid,C.Name id,s,t) -> - X.xml_nempty "PROD" ["id",xid] - [< X.xml_nempty "source" [] (aux s) ; - X.xml_nempty "target" ["binder",id] (aux t) - >] - | C.ACast (id,v,t) -> - X.xml_nempty "CAST" ["id",id] - [< X.xml_nempty "term" [] (aux v) ; - X.xml_nempty "type" [] (aux t) - >] - | C.ALambda (id,C.Anonimous,s,t) -> - X.xml_nempty "LAMBDA" ["id",id] - [< X.xml_nempty "source" [] (aux s) ; - X.xml_nempty "target" [] (aux t) - >] - | C.ALambda (xid,C.Name id,s,t) -> - X.xml_nempty "LAMBDA" ["id",xid] - [< X.xml_nempty "source" [] (aux s) ; - X.xml_nempty "target" ["binder",id] (aux t) - >] - | C.ALetIn (xid,C.Anonimous,s,t) -> - assert false (*CSC: significa che e' sbagliato il tipo di LetIn!!!*) - | C.ALetIn (xid,C.Name id,s,t) -> - X.xml_nempty "LETIN" ["id",xid] - [< X.xml_nempty "term" [] (aux s) ; - X.xml_nempty "letintarget" ["binder",id] (aux t) - >] - | C.AAppl (id,li) -> - X.xml_nempty "APPLY" ["id",id] - [< (List.fold_right (fun x i -> [< (aux x) ; i >]) li [<>]) - >] - | C.AConst (id,uri,_) -> - X.xml_empty "CONST" ["uri", (U.string_of_uri uri) ; "id",id] - | C.AMutInd (id,uri,_,i) -> - X.xml_empty "MUTIND" - ["uri", (U.string_of_uri uri) ; - "noType",(string_of_int i) ; - "id",id] - | C.AMutConstruct (id,uri,_,i,j) -> - X.xml_empty "MUTCONSTRUCT" - ["uri", (U.string_of_uri uri) ; - "noType",(string_of_int i) ; "noConstr",(string_of_int j) ; - "id",id] - | C.AMutCase (id,uri,_,typeno,ty,te,patterns) -> - X.xml_nempty "MUTCASE" - ["uriType",(U.string_of_uri uri) ; - "noType", (string_of_int typeno) ; - "id", id] - [< X.xml_nempty "patternsType" [] [< (aux ty) >] ; - X.xml_nempty "inductiveTerm" [] [< (aux te) >] ; - List.fold_right - (fun x i -> [< X.xml_nempty "pattern" [] [< aux x >] ; i>]) - patterns [<>] - >] - | C.AFix (id, no, funs) -> - X.xml_nempty "FIX" ["noFun", (string_of_int no) ; "id",id] - [< List.fold_right - (fun (fi,ai,ti,bi) i -> - [< X.xml_nempty "FixFunction" - ["name", fi; "recIndex", (string_of_int ai)] - [< X.xml_nempty "type" [] [< aux ti >] ; - X.xml_nempty "body" [] [< aux bi >] - >] ; - i - >] - ) funs [<>] - >] - | C.ACoFix (id,no,funs) -> - X.xml_nempty "COFIX" ["noFun", (string_of_int no) ; "id",id] - [< List.fold_right - (fun (fi,ti,bi) i -> - [< X.xml_nempty "CofixFunction" ["name", fi] - [< X.xml_nempty "type" [] [< aux ti >] ; - X.xml_nempty "body" [] [< aux bi >] - >] ; - i - >] - ) funs [<>] - >] - in - aux -;; - -let encode params = - List.fold_right - (fun (n,l) i -> - match l with - [] -> i - | _ -> - string_of_int n ^ ": " ^ - String.concat " " (List.map UriManager.name_of_uri l) ^ - i - ) params "" -;; - -let print_mutual_inductive_type curi (typename,inductive,arity,constructors) = - let module C = Cic in - let module X = Xml in - [< X.xml_nempty "InductiveType" - ["name",typename ; - "inductive",(string_of_bool inductive) - ] - [< X.xml_nempty "arity" [] (print_term curi arity) ; - (List.fold_right - (fun (name,ty,_) i -> - [< X.xml_nempty "Constructor" ["name",name] - (print_term curi ty) ; - i - >]) - constructors - [<>] - ) - >] - >] -;; - -let pp obj curi = - let module C = Cic in - let module X = Xml in - match obj with - C.ADefinition (xid, id, te, ty, params) -> - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n\n") ; - X.xml_nempty "Definition" - (["name", id ; "id",xid] @ - match params with - C.Possible _ -> raise ImpossiblePossible - (*CSC params are kept in inverted order in the internal *) - (* representation (the order of application) *) - | C.Actual fv' -> ["params",(encode (List.rev fv'))]) - [< X.xml_nempty "body" [] (print_term curi te) ; - X.xml_nempty "type" [] (print_term curi ty) >] - >] - | C.AAxiom (xid, id, ty, params) -> - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n\n") ; - X.xml_nempty "Axiom" - (*CSC params are kept in inverted order in the internal *) - (* representation (the order of application) *) - ["name",id ; "params",(encode (List.rev params)) ; "id",xid] - [< X.xml_nempty "type" [] (print_term curi ty) >] - >] - | C.AVariable (xid, name, bo, ty) -> - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n\n") ; - X.xml_nempty "Variable" ["name",name ; "id",xid] - [< (match bo with - None -> [<>] - | Some bo -> X.xml_nempty "body" [] (print_term curi bo) - ) ; - X.xml_nempty "type" [] (print_term curi ty) - >] - >] - | C.ACurrentProof (xid, name, conjs, bo, ty) -> - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n\n"); - X.xml_nempty "CurrentProof" ["name",name ; "id",xid] - [< List.fold_right - (fun (j,t) i -> - [< X.xml_nempty "Conjecture" ["no",(string_of_int j)] - [< print_term curi t >] ; i >]) - conjs [<>] ; - X.xml_nempty "body" [] [< print_term curi bo >] ; - X.xml_nempty "type" [] [< print_term curi ty >] - >] - >] - | C.AInductiveDefinition (xid, tys, params, paramsno) -> - let names = - List.map - (fun (typename,_,_,_) -> typename) - tys - in - [< X.xml_cdata "\n" ; - X.xml_cdata ("\n\n") ; - X.xml_nempty "InductiveDefinition" - (*CSC params are kept in inverted order in the internal *) - (* representation (the order of application) *) - ["noParams",string_of_int paramsno ; - "params",(encode (List.rev params)) ; - "id",xid] - [< List.fold_right - (fun x i -> [< print_mutual_inductive_type curi x ; i >]) - tys [< >] - >] - >] -;; diff --git a/helm/fix_params/cicFindParameters.ml b/helm/fix_params/cicFindParameters.ml deleted file mode 100644 index c78d8d219..000000000 --- a/helm/fix_params/cicFindParameters.ml +++ /dev/null @@ -1,158 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -exception WrongUriToConstant;; -exception WrongUriToInductiveDefinition;; -exception CircularDependency of string;; - -module OrderedUris = - struct - type t = UriManager.uri - let compare (s1 : t) (s2 : t) = - (* library function for = *) - compare s1 s2 - (*if s1 = s2 then 0 else if s1 < s2 then (-1) else 1*) - end -;; - -let filename_of_uri uri = - let uri' = UriManager.string_of_uri uri in - let fn = Str.replace_first (Str.regexp "cic:") Configuration.helm_dir uri' in - fn ^ ".xml" -;; - -(* quite inefficient coding of a set of strings: the only operations *) -(* performed are mem O(log n), and union O(n * log n?) *) -(* Perhaps a better implementation would be an array of bits or a map *) -(* from uri to booleans *) -module SetOfUris = Set.Make(OrderedUris);; - -let (@@) = SetOfUris.union;; - -let rec parameters_of te ty pparams= - let module S = SetOfUris in - let module C = Cic in - let rec aux = - function - C.Rel _ -> S.empty - | C.Var uri -> S.singleton uri - | C.Meta _ -> S.empty - | C.Sort _ -> S.empty - | C.Implicit -> S.empty - | C.Cast (te, ty) -> aux te @@ aux ty - | C.Prod (_, s, t) -> aux s @@ aux t - | C.Lambda (_, s, t) -> aux s @@ aux t - | C.LetIn (_, s, t) -> aux s @@ aux t - | C.Appl l -> List.fold_right (fun x i -> aux x @@ i) l S.empty - | C.Const (uri,_) -> - (* the parameters could be not exact but only possible *) - fix_params uri (Some (filename_of_uri uri)) ; - (* now the parameters are surely possible *) - (match CicCache.get_obj uri with - C.Definition (_, _, _, params) -> - List.fold_right - (fun (_,l) i -> - List.fold_right - (fun x i -> S.singleton x @@ i) l i - ) params S.empty - | C.Axiom (_, _, params) -> - List.fold_right - (fun (_,l) i -> - List.fold_right - (fun x i -> S.singleton x @@ i) l i - ) params S.empty - | C.CurrentProof _ -> S.empty (*CSC wrong *) - | _ -> raise WrongUriToConstant - ) - | C.MutInd (uri,_,_) -> - (match CicCache.get_obj uri with - C.InductiveDefinition (_, params, _) -> - List.fold_right - (fun (_,l) i -> - List.fold_right - (fun x i -> S.singleton x @@ i) l i - ) params S.empty - | _ -> raise WrongUriToInductiveDefinition - ) - | C.MutConstruct (uri,_,_,_) -> - (match CicCache.get_obj uri with - C.InductiveDefinition (_, params, _) -> - List.fold_right - (fun (_,l) i -> - List.fold_right - (fun x i -> S.singleton x @@ i) l i - ) params S.empty - | _ -> raise WrongUriToInductiveDefinition - ) - | C.MutCase (uri,_,_,outtype,term,patterns) -> - (*CSC cosa basta? Ci vuole anche uri? *) - (match CicCache.get_obj uri with - C.InductiveDefinition (_, params, _) -> - List.fold_right - (fun (_,l) i -> - List.fold_right - (fun x i -> S.singleton x @@ i) l i - ) params S.empty - | _ -> raise WrongUriToInductiveDefinition - ) @@ aux outtype @@ aux term @@ - List.fold_right (fun x i -> aux x @@ i) patterns S.empty - | C.Fix (_,fl) -> - List.fold_right - (fun (_,_,ty,bo) i -> aux ty @@ aux bo @@ i) - fl S.empty - | C.CoFix (_,fl) -> - List.fold_right - (fun (_,ty,bo) i -> aux ty @@ aux bo @@ i) - fl S.empty - in - let actual_params = aux te @@ aux ty in - (* sort_actual_params wants in input the ordered list of possible params *) - let rec sort_actual_params2 = - function - [] -> [] - | he::tl when S.mem he actual_params -> he::(sort_actual_params2 tl) - | _::tl -> sort_actual_params2 tl - in - let rec sort_actual_params = - function - [] -> [] - | (n,l)::tl -> (n, sort_actual_params2 l)::(sort_actual_params tl) - in - sort_actual_params pparams - -and fix_params uri filename = - let module C = Cic in - let ann = CicCache.get_annobj uri in - match ann with - C.ADefinition (xid, id, te, ty, C.Possible pparams) -> - let te' = Deannotate.deannotate_term te in - let ty' = Deannotate.deannotate_term ty in - let real_params = parameters_of te' ty' pparams in - let fixed = - C.ADefinition (xid,id,te,ty,C.Actual real_params) - in - Xml.pp (Cic2Xml.pp fixed uri) filename ; - | _ -> () -;; diff --git a/helm/fix_params/fix_params.ml b/helm/fix_params/fix_params.ml deleted file mode 100644 index f1edf091a..000000000 --- a/helm/fix_params/fix_params.ml +++ /dev/null @@ -1,74 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -let read_from_stdin = ref false;; - -let uri_of_filename fn = - let uri = - Str.replace_first (Str.regexp (Str.quote Configuration.helm_dir)) "cic:" fn - in - let uri' = Str.replace_first (Str.regexp "\.xml$") "" uri in - UriManager.uri_of_string uri' -;; - -let main() = - Deannotate.expect_possible_parameters := true ; - let files = ref [] in - Arg.parse - ["-stdin", Arg.Set read_from_stdin, "Read from stdin"] - (fun x -> files := (x, uri_of_filename x) :: !files) - " -usage: experiment file ... - -List of options:"; - if !read_from_stdin then - begin - try - while true do - let l = Str.split (Str.regexp " ") (read_line ()) in - List.iter (fun x -> files := (x, uri_of_filename x) :: !files) l - done - with - End_of_file -> () - end ; - files := List.rev !files; - Getter.update () ; - print_endline "ATTENTION: have you changed servers.txt so that you'll try \ - to repair your own objs instead of others'?" ; - flush stdout ; - List.iter - (function (fn, uri) -> - print_string (UriManager.string_of_uri uri) ; - flush stdout ; - (try - CicFindParameters.fix_params uri (Some fn) - with - e -> print_newline () ; flush stdout ; raise e ) ; - print_endline " OK!" ; - flush stdout - ) !files -;; - -main();; diff --git a/helm/graphs/jsmenu/HM_Arrays.js b/helm/graphs/jsmenu/HM_Arrays.js deleted file mode 100644 index 467506c3d..000000000 --- a/helm/graphs/jsmenu/HM_Arrays.js +++ /dev/null @@ -1,250 +0,0 @@ - -HM_Array1 = [ -[150,,, -,,,,,,,,,,,,,,,, -1,true], -["Experts","http://www.webreference.com/experts/",1,0,1], -["Contents","http://www.webreference.com/index2.html",1,0,0], -["Services","http://www.webreference.com/index2.html",1,0,1], -["About","http://www.webreference.com/about.html",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,1] -] - -HM_Array1_1 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,1], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array1_3 = [ -[], -["Features","http://www.webreference.com/articles.html",1,0,0], -["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], -["How-to","http://www.webreference.com/dev/",1,0,0], -["New","http://www.webreference.com/headlines/",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,0] -] - -HM_Array1_5 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,1], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array1_1_6 = [ -[], -["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], -["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], -["Links","http://www.webreference.com/dhtml/links/",1,0,0] -] - -HM_Array2 = [ -[100, // menu width -"HM_f_CenterMenu('HM_Menu2')", // left_position -90, // top_position -"red", // font_color -"yellow", // mouseover_font_color -"yellow", // background_color -"black", // mouseover_background_color -"blue", // border_color -"green", // separator_color -1, // top_is_permanent -1, // top_is_horizontal -0, // tree_is_horizontal -1, // position_under -1, // top_more_images_visible -1, // tree_more_images_visible -"null", // evaluate_upon_tree_show -"null", // evaluate_upon_tree_hide -, // right_to_left -1], // display_on_click -["Experts","http://www.webreference.com/experts/",1,0,1], -["Contents","http://www.webreference.com/index2.html",1,0,0], -["Services","http://www.webreference.com/index2.html",1,0,1], -["About","http://www.webreference.com/about.html",1,0,1] -] - -HM_Array2_1 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,0], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array2_3 = [ -[], -["Features","http://www.webreference.com/articles.html",1,0,0], -["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], -["How-to","http://www.webreference.com/dev/",1,0,0], -["New","http://www.webreference.com/headlines/",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,0] -] - -HM_Array2_4 = [ -[], -["Features","http://www.webreference.com/articles.html",1,0,0], -["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], -["How-to","http://www.webreference.com/dev/",1,0,0], -["New","http://www.webreference.com/headlines/",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,0] -] - -HM_Array2_1_6 = [ -[], -["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], -["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], -["Links","http://www.webreference.com/dhtml/links/",1,0,0] -] - -HM_Array3 = [ -[120, // menu width -200, // left_position -300, // top_position -"black", // font_color -"white", // mouseover_font_color -"white", // background_color -"black", // mouseover_background_color -"black", // border_color -"gray", // separator_color -0, // top_is_permanent -0, // top_is_horizontal -0, // tree_is_horizontal -1, // position_under -1, // top_more_images_visible -1, // tree_more_images_visible -"null", // evaluate_upon_tree_show -"null", // evaluate_upon_tree_hide -, // right_to_left -], // display_on_click -["Experts","http://www.webreference.com/experts/",1,0,1], -["Contents","http://www.webreference.com/index2.html",1,0,0], -["Services","http://www.webreference.com/index2.html",1,0,1], -["About","http://www.webreference.com/about.html",1,0,0] -] - -HM_Array3_1 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,1], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array3_3 = [ -[], -["Features","http://www.webreference.com/articles.html",1,0,0], -["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], -["How-to","http://www.webreference.com/dev/",1,0,0], -["New","http://www.webreference.com/headlines/",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,0] -] - -HM_Array3_1_6 = [ -[], -["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], -["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], -["Links","http://www.webreference.com/dhtml/links/",1,0,0] -] - -HM_Array4 = [ -[120, -"mouse_x_position + 20", -"mouse_y_position + 20", -,,,,,,,,,,,,,,, -true], -["Experts","http://www.webreference.com/experts/",1,0,1], -["Contents","http://www.webreference.com/index2.html",1,0,0], -["Services","http://www.webreference.com/index2.html",1,0,0], -["About","http://www.webreference.com/about.html",1,0,0] -] - -HM_Array4_1 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,0], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array5 = [ -[100, // menu_width -70, // left_position -170, // top_position -"red", // font_color -"yellow", // mouseover_font_color -"yellow", // background_color -"black", // mouseover_background_color -"blue", // border_color -"green", // separator_color -1, // top_is_permanent -1, // top_is_horizontal -0, // tree_is_horizontal -1, // position_under -0, // top_more_images_visible -1, // tree_more_images_visible -"null", // evaluate_upon_tree_show -"null", // evaluate_upon_tree_hide -, // right_to_left -, // display_on_click -true, // top_is_variable_width -, // tree_is_variable_width -], -["Experts","http://www.webreference.com/experts/",1,0,1], -["Contents","http://www.webreference.com/index2.html",1,0,0], -["Services","http://www.webreference.com/index2.html",1,0,1], -["About","http://www.webreference.com/about.html",1,0,0] -] - -HM_Array5_1 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,1], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array5_3 = [ -[], -["Features","http://www.webreference.com/articles.html",1,0,0], -["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], -["How-to","http://www.webreference.com/dev/",1,0,0], -["New","http://www.webreference.com/headlines/",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,0] -] - -HM_Array5_1_6 = [ -[], -["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], -["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], -["Links","http://www.webreference.com/dhtml/links/",1,0,0] -] - diff --git a/helm/graphs/jsmenu/HM_Arrays_prova.js b/helm/graphs/jsmenu/HM_Arrays_prova.js deleted file mode 100644 index 93143accd..000000000 --- a/helm/graphs/jsmenu/HM_Arrays_prova.js +++ /dev/null @@ -1,60 +0,0 @@ - -HM_Array1 = [ -[150,,, -,,,,,,,,,,,,,,,, -1,true], -["Experts","http://www.webreference.com/experts/",1,0,1], -["Contents","http://www.webreference.com/index2.html",1,0,0], -["Services","http://www.webreference.com/index2.html",1,0,1], -["About","http://www.webreference.com/about.html",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,1] -] - -HM_Array1_1 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,1], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array1_3 = [ -[], -["Features","http://www.webreference.com/articles.html",1,0,0], -["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], -["How-to","http://www.webreference.com/dev/",1,0,0], -["New","http://www.webreference.com/headlines/",1,0,0], -["Hot Sites","http://www.webreference.com/hot/",1,0,0] -] - -HM_Array1_5 = [ -[], -["3-D Animation","http://www.webreference.com/3d/",1,0,0], -["Design","http://www.webreference.com/dlab/",1,0,0], -["HTML","http://www.webreference.com/html/",1,0,0], -["JavaScript","http://www.webreference.com/js/",1,0,0], -["Graphics","http://www.webreference.com/graphics/",1,0,0], -["DHTML","http://www.webreference.com/dhtml/",1,0,1], -["Perl","http://www.webreference.com/perl/",1,0,0], -["XML","http://www.webreference.com/xml/",1,0,0] -] - -HM_Array1_1_6 = [ -[], -["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], -["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], -["Links","http://www.webreference.com/dhtml/links/",1,0,0] -] - -HM_Array2 = [ -[150,,, -,,,,,,,,,,,,,,,, -1,true], -["Pippo","http://www.inria.fr",1,0,1], -["Pluto","http://www.cs.unibo.it",1,0,0], -["Paperino","http://www.larepubblica.it",1,0,1], -] diff --git a/helm/graphs/jsmenu/HM_Loader.js b/helm/graphs/jsmenu/HM_Loader.js deleted file mode 100644 index 2c7e31f68..000000000 --- a/helm/graphs/jsmenu/HM_Loader.js +++ /dev/null @@ -1,89 +0,0 @@ -/*HM_Loader.js -* by Peter Belesis. v4.1.1 011002 -* Copyright (c) 2001 Peter Belesis. All Rights Reserved. -*/ - - HM_DOM = (document.getElementById) ? true : false; - HM_NS4 = (document.layers) ? true : false; - HM_IE = (document.all) ? true : false; - HM_IE4 = HM_IE && !HM_DOM; - HM_Mac = (navigator.appVersion.indexOf("Mac") != -1); - HM_IE4M = HM_IE4 && HM_Mac; - HM_Opera = (navigator.userAgent.indexOf("Opera")!=-1); - HM_Konqueror = (navigator.userAgent.indexOf("Konqueror")!=-1); - -HM_IsMenu = !HM_Opera && !HM_Konqueror && !HM_IE4M && (HM_DOM || HM_NS4 || HM_IE4); - -HM_BrowserString = HM_NS4 ? "NS4" : HM_DOM ? "DOM" : "IE4"; - - -if(window.event + "" == "undefined") event = null; -function HM_f_PopUp(){return false}; -function HM_f_PopDown(){return false}; -popUp = HM_f_PopUp; -popDown = HM_f_PopDown; - - -HM_GL_MenuWidth = 150; -HM_GL_FontFamily = "Arial,sans-serif"; -HM_GL_FontSize = 10; -HM_GL_FontBold = true; -HM_GL_FontItalic = false; -HM_GL_FontColor = "black"; -HM_GL_FontColorOver = "white"; -HM_GL_BGColor = "transparent"; -HM_GL_BGColorOver = "transparent"; -HM_GL_ItemPadding = 3; - -HM_GL_BorderWidth = 2; -HM_GL_BorderColor = "red"; -HM_GL_BorderStyle = "solid"; -HM_GL_SeparatorSize = 2; -HM_GL_SeparatorColor = "yellow"; - -HM_GL_ImageSrc = "HM_More_black_right.gif"; -HM_GL_ImageSrcLeft = "HM_More_black_left.gif"; - -HM_GL_ImageSrcOver = "HM_More_white_right.gif"; -HM_GL_ImageSrcLeftOver = "HM_More_white_left.gif"; - -HM_GL_ImageSize = 5; -HM_GL_ImageHorizSpace = 5; -HM_GL_ImageVertSpace = 5; - -HM_GL_KeepHilite = false; -HM_GL_ClickStart = false; -HM_GL_ClickKill = 0; -HM_GL_ChildOverlap = 40; -HM_GL_ChildOffset = 10; -HM_GL_ChildPerCentOver = null; -HM_GL_TopSecondsVisible = .5; -HM_GL_ChildSecondsVisible = .3; -HM_GL_StatusDisplayBuild = 0; -HM_GL_StatusDisplayLink = 1; -HM_GL_UponDisplay = null; -HM_GL_UponHide = null; - -HM_GL_RightToLeft = false; -HM_GL_CreateTopOnly = HM_NS4 ? true : false; -HM_GL_ShowLinkCursor = true; - -// the following function is included to illustrate the improved JS expression handling of -// the left_position and top_position parameters -// you may delete if you have no use for it - -function HM_f_CenterMenu(topmenuid) { - var MinimumPixelLeft = 0; - var TheMenu = HM_DOM ? document.getElementById(topmenuid) : HM_IE4 ? document.all(topmenuid) : eval("window." + topmenuid); - var TheMenuWidth = HM_DOM ? parseInt(TheMenu.style.width) : HM_IE4 ? TheMenu.style.pixelWidth : TheMenu.clip.width; - var TheWindowWidth = HM_IE ? document.body.clientWidth : window.innerWidth; - return Math.max(parseInt((TheWindowWidth-TheMenuWidth) / 2),MinimumPixelLeft); -} - -if(HM_IsMenu) { - document.write("<\/SCR" + "IPT>"); - document.write("<\/SCR" + "IPT>"); -} - - -//end \ No newline at end of file diff --git a/helm/graphs/jsmenu/HM_Loader_prova.js b/helm/graphs/jsmenu/HM_Loader_prova.js deleted file mode 100644 index ed8f95752..000000000 --- a/helm/graphs/jsmenu/HM_Loader_prova.js +++ /dev/null @@ -1,89 +0,0 @@ -/*HM_Loader.js -* by Peter Belesis. v4.1.1 011002 -* Copyright (c) 2001 Peter Belesis. All Rights Reserved. -*/ - - HM_DOM = (document.getElementById) ? true : false; - HM_NS4 = (document.layers) ? true : false; - HM_IE = (document.all) ? true : false; - HM_IE4 = HM_IE && !HM_DOM; - HM_Mac = (navigator.appVersion.indexOf("Mac") != -1); - HM_IE4M = HM_IE4 && HM_Mac; - HM_Opera = (navigator.userAgent.indexOf("Opera")!=-1); - HM_Konqueror = (navigator.userAgent.indexOf("Konqueror")!=-1); - -HM_IsMenu = !HM_Opera && !HM_Konqueror && !HM_IE4M && (HM_DOM || HM_NS4 || HM_IE4); - -HM_BrowserString = HM_NS4 ? "NS4" : HM_DOM ? "DOM" : "IE4"; - - -if(window.event + "" == "undefined") event = null; -function HM_f_PopUp(){return false}; -function HM_f_PopDown(){return false}; -popUp = HM_f_PopUp; -popDown = HM_f_PopDown; - - -HM_GL_MenuWidth = 150; -HM_GL_FontFamily = "Arial,sans-serif"; -HM_GL_FontSize = 10; -HM_GL_FontBold = true; -HM_GL_FontItalic = false; -HM_GL_FontColor = "black"; -HM_GL_FontColorOver = "white"; -HM_GL_BGColor = "transparent"; -HM_GL_BGColorOver = "transparent"; -HM_GL_ItemPadding = 3; - -HM_GL_BorderWidth = 2; -HM_GL_BorderColor = "red"; -HM_GL_BorderStyle = "solid"; -HM_GL_SeparatorSize = 2; -HM_GL_SeparatorColor = "yellow"; - -HM_GL_ImageSrc = "HM_More_black_right.gif"; -HM_GL_ImageSrcLeft = "HM_More_black_left.gif"; - -HM_GL_ImageSrcOver = "HM_More_white_right.gif"; -HM_GL_ImageSrcLeftOver = "HM_More_white_left.gif"; - -HM_GL_ImageSize = 5; -HM_GL_ImageHorizSpace = 5; -HM_GL_ImageVertSpace = 5; - -HM_GL_KeepHilite = false; -HM_GL_ClickStart = false; -HM_GL_ClickKill = 0; -HM_GL_ChildOverlap = 40; -HM_GL_ChildOffset = 10; -HM_GL_ChildPerCentOver = null; -HM_GL_TopSecondsVisible = .5; -HM_GL_ChildSecondsVisible = .3; -HM_GL_StatusDisplayBuild = 0; -HM_GL_StatusDisplayLink = 1; -HM_GL_UponDisplay = null; -HM_GL_UponHide = null; - -HM_GL_RightToLeft = false; -HM_GL_CreateTopOnly = HM_NS4 ? true : false; -HM_GL_ShowLinkCursor = true; - -// the following function is included to illustrate the improved JS expression handling of -// the left_position and top_position parameters -// you may delete if you have no use for it - -function HM_f_CenterMenu(topmenuid) { - var MinimumPixelLeft = 0; - var TheMenu = HM_DOM ? document.getElementById(topmenuid) : HM_IE4 ? document.all(topmenuid) : eval("window." + topmenuid); - var TheMenuWidth = HM_DOM ? parseInt(TheMenu.style.width) : HM_IE4 ? TheMenu.style.pixelWidth : TheMenu.clip.width; - var TheWindowWidth = HM_IE ? document.body.clientWidth : window.innerWidth; - return Math.max(parseInt((TheWindowWidth-TheMenuWidth) / 2),MinimumPixelLeft); -} - -if(HM_IsMenu) { - document.write("<\/SCR" + "IPT>"); - document.write("<\/SCR" + "IPT>"); -} - - -//end diff --git a/helm/graphs/jsmenu/HM_More_black_left.gif b/helm/graphs/jsmenu/HM_More_black_left.gif deleted file mode 100644 index ae9b1dd0f..000000000 Binary files a/helm/graphs/jsmenu/HM_More_black_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_black_right.gif b/helm/graphs/jsmenu/HM_More_black_right.gif deleted file mode 100644 index ca628ba69..000000000 Binary files a/helm/graphs/jsmenu/HM_More_black_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_blue_left.gif b/helm/graphs/jsmenu/HM_More_blue_left.gif deleted file mode 100644 index 1637826ab..000000000 Binary files a/helm/graphs/jsmenu/HM_More_blue_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_blue_right.gif b/helm/graphs/jsmenu/HM_More_blue_right.gif deleted file mode 100644 index ebc8f9bca..000000000 Binary files a/helm/graphs/jsmenu/HM_More_blue_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_cyan_left.gif b/helm/graphs/jsmenu/HM_More_cyan_left.gif deleted file mode 100644 index 48e832532..000000000 Binary files a/helm/graphs/jsmenu/HM_More_cyan_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_cyan_right.gif b/helm/graphs/jsmenu/HM_More_cyan_right.gif deleted file mode 100644 index 788d9d2be..000000000 Binary files a/helm/graphs/jsmenu/HM_More_cyan_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_green_left.gif b/helm/graphs/jsmenu/HM_More_green_left.gif deleted file mode 100644 index 132e1d2dd..000000000 Binary files a/helm/graphs/jsmenu/HM_More_green_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_green_right.gif b/helm/graphs/jsmenu/HM_More_green_right.gif deleted file mode 100644 index dfaaf00d0..000000000 Binary files a/helm/graphs/jsmenu/HM_More_green_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_magenta_left.gif b/helm/graphs/jsmenu/HM_More_magenta_left.gif deleted file mode 100644 index e6369cf7c..000000000 Binary files a/helm/graphs/jsmenu/HM_More_magenta_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_magenta_right.gif b/helm/graphs/jsmenu/HM_More_magenta_right.gif deleted file mode 100644 index 56179da04..000000000 Binary files a/helm/graphs/jsmenu/HM_More_magenta_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_red_left.gif b/helm/graphs/jsmenu/HM_More_red_left.gif deleted file mode 100644 index b36de2008..000000000 Binary files a/helm/graphs/jsmenu/HM_More_red_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_red_right.gif b/helm/graphs/jsmenu/HM_More_red_right.gif deleted file mode 100644 index 035f5e600..000000000 Binary files a/helm/graphs/jsmenu/HM_More_red_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_white_left.gif b/helm/graphs/jsmenu/HM_More_white_left.gif deleted file mode 100644 index 935308d99..000000000 Binary files a/helm/graphs/jsmenu/HM_More_white_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_white_right.gif b/helm/graphs/jsmenu/HM_More_white_right.gif deleted file mode 100644 index 969fc4972..000000000 Binary files a/helm/graphs/jsmenu/HM_More_white_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_yellow_left.gif b/helm/graphs/jsmenu/HM_More_yellow_left.gif deleted file mode 100644 index 8e10145ff..000000000 Binary files a/helm/graphs/jsmenu/HM_More_yellow_left.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_More_yellow_right.gif b/helm/graphs/jsmenu/HM_More_yellow_right.gif deleted file mode 100644 index 8a438b938..000000000 Binary files a/helm/graphs/jsmenu/HM_More_yellow_right.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/HM_ScriptDOM.js b/helm/graphs/jsmenu/HM_ScriptDOM.js deleted file mode 100644 index 498a5912b..000000000 --- a/helm/graphs/jsmenu/HM_ScriptDOM.js +++ /dev/null @@ -1,962 +0,0 @@ -/*HM_ScriptDOM.js -* by Peter Belesis. v4.1.1 011002 -* Copyright (c) 2001 Peter Belesis. All Rights Reserved. -* Originally published and documented at http://www.dhtmlab.com/ -* Available solely from INT Media Group. Incorporated under exclusive license. -* Contact licensing@internet.com for more information. -*/ - -HM_IE5M = HM_IE && HM_Mac; -HM_IE5W = HM_IE && !HM_Mac; -HM_NS6 = (navigator.vendor == ("Netscape6") || navigator.product == ("Gecko")); -HM_IEpos = HM_IE || (HM_NS6 && parseInt(navigator.productSub)>=20010710); -HM_IEDTD = (HM_IE && document.doctype) ? document.doctype.name.indexOf(".dtd")!=-1 : false; -HM_IEnoDTD = HM_IE && !HM_IEDTD; - -HM_a_Parameters = [ - ["MenuWidth", 150, "number"], - ["FontFamily", "Arial,sans-serif"], - ["FontSize", 10, "number"], - ["FontBold", false, "boolean"], - ["FontItalic", false, "boolean"], - ["FontColor", "black"], - ["FontColorOver", "white"], - ["BGColor", "white"], - ["BGColorOver", "black"], - ["ItemPadding", 3, "number"], - ["BorderWidth", 2, "number"], - ["BorderColor", "red"], - ["BorderStyle", "solid"], - ["SeparatorSize", 1, "number"], - ["SeparatorColor", "yellow"], - ["ImageSrc", "HM_More_black_right.gif"], - ["ImageSrcOver", null], - ["ImageSrcLeft", "HM_More_black_left.gif"], - ["ImageSrcLeftOver", null], - ["ImageSize", 5, "number"], - ["ImageHorizSpace", 0, "number"], - ["ImageVertSpace", 0, "number"], - ["KeepHilite", false, "boolean"], - ["ClickStart", false, "boolean"], - ["ClickKill", true, "boolean"], - ["ChildOverlap", 20, "number"], - ["ChildOffset", 10, "number"], - ["ChildPerCentOver", null, "number"], - ["TopSecondsVisible", .5, "number"], - ["ChildSecondsVisible",.3, "number"], - ["StatusDisplayBuild", 1, "boolean"], - ["StatusDisplayLink", 1, "boolean"], - ["UponDisplay", null, "delayed"], - ["UponHide", null, "delayed"], - ["RightToLeft", false, "boolean"], - ["CreateTopOnly", 0, "boolean"], - ["ShowLinkCursor", false, "boolean"] -] - -HM_MenuIDPrefix = "HM_Menu"; -HM_ItemIDPrefix = "HM_Item"; -HM_ArrayIDPrefix = "HM_Array"; - -Function.prototype.isFunction = true; -Function.prototype.isString = false; -String.prototype.isFunction = false; -String.prototype.isString = true; -String.prototype.isBoolean = false; -String.prototype.isNumber = false; -Number.prototype.isString = false; -Number.prototype.isFunction = false; -Number.prototype.isBoolean = false; -Number.prototype.isNumber = true; -Boolean.prototype.isString = false; -Boolean.prototype.isFunction = false; -Boolean.prototype.isBoolean = true; -Boolean.prototype.isNumber = false; -Array.prototype.itemValidation = false; -Array.prototype.isArray = true; - -if(HM_IE) { - HM_a_ElementsCreated = []; - - function HM_f_StoreElement(el){ - HM_a_ElementsCreated[HM_a_ElementsCreated.length] = el; - } -} - -function HM_f_AssignParameters(paramarray){ - var ParamName = paramarray[0]; - var DefaultValue = paramarray[1]; - var FullParamName = "HM_" + ParamName; - - if (typeof eval("window.HM_PG_" + ParamName) == "undefined") { - if (typeof eval("window.HM_GL_" + ParamName) == "undefined") { - eval(FullParamName + "= DefaultValue"); - } - else { - eval(FullParamName + "= HM_GL_" + ParamName); - } - } - else { - eval(FullParamName + "= HM_PG_" + ParamName); - } - - paramarray[0] = FullParamName; - paramarray[1] = eval(FullParamName); -} - -function HM_f_EvalParameters(valuenew,valueold,valuetype){ - var TestString, ParPosition; - - if(typeof valuenew == "undefined" || valuenew == null || (valuenew.isString && valuenew.length == 0)){ - return valueold; - } - - if(valuetype != "delayed"){ - while(valuenew.isString) { - ParPosition = valuenew.indexOf("("); - if(ParPosition !=-1) { - TestString = "window." + valuenew.substr(0,ParPosition); - if (typeof eval(TestString) != "undefined" && eval(TestString).isFunction) { - valuenew = eval(valuenew); - } - } - else break - } - } - - while(valuenew.isFunction) {valuenew = valuenew()} - - switch(valuetype){ - case "number": - while (valuenew.isString) {valuenew = eval(valuenew)} - break; - case "boolean": - while (!valuenew.isBoolean) { - valuenew = (valuenew.isNumber) ? valuenew ? true : false : eval(valuenew); - } - break; - } - - return valuenew; -} - -for (i=0;i 1) { - MenuArrayIsValid = true; - if(!TheMenuArray.itemValidation) { - while((typeof TheMenuArray[TheMenuArray.length-1] != "object") || (!TheMenuArray[TheMenuArray.length-1].isArray)) { - TheMenuArray.length--; - } - TheMenuArray.itemValidation = true; - } - } - } - return MenuArrayIsValid; -} - -if(!window.HM_a_TreesToBuild) { - HM_a_TreesToBuild = []; - for(i=1; i<100; i++){ - if(HM_f_ValidateArray(HM_ArrayIDPrefix + i)) HM_a_TreesToBuild[HM_a_TreesToBuild.length] = i; - } -} - -HM_CurrentArray = null; -HM_CurrentTree = null; -HM_CurrentMenu = null; -HM_CurrentItem = null; -HM_a_TopMenus = []; -HM_AreLoaded = false; -HM_AreCreated = false; -HM_BeingCreated = false; -HM_UserOverMenu = false; -HM_HideAllTimer = null; -HM_TotalTrees = 0; -HM_ZIndex = 5000; - -function HM_f_StartIt() { - if(HM_AreCreated) return; - if((typeof(document.body) == "undefined") || (document.body == null)) return; - HM_AreLoaded = true; - if (HM_ClickKill) { - HM_f_OtherMouseDown = (document.onmousedown) ? document.onmousedown : new Function; - document.onmousedown = function(){HM_f_PageClick();HM_f_OtherMouseDown()} - } - else { - HM_TopMilliSecondsVisible = HM_TopSecondsVisible * 1000; - } - HM_f_MakeTrees(); - HM_f_OtherOnLoad(); -} - -function HM_f_MakeTrees(){ - HM_BeingCreated = true; - var TreeParams = null; - var TreeHasChildren = false; - var ItemArray = null; - - for(var t=0; t WindowRightEdge) { - if (this.hasParent) { - this.xPos = ((ParentLeftEdge - this.parentItem.DistanceToLeftEdge) + this.parentItem.ChildOverlap) - this.offsetWidth; - } - else { - dif = MenuRightEdge - WindowRightEdge; - this.xPos -= dif; - } - this.xPos = Math.max(5,this.xPos); - } - - if (MenuBottomEdge > WindowBottomEdge) { - dif = MenuBottomEdge - WindowBottomEdge; - this.yPos -= dif; - } - - if (MenuLeftEdge < WindowLeftEdge) { - if (this.hasParent) { - this.xPos = (ParentLeftEdge + this.parentItem.DistanceToRightEdge) - this.parentItem.ChildOverlap; - MenuRightEdge = this.xPos + this.offsetWidth; - if(MenuRightEdge > WindowRightEdge) this.xPos -= (MenuRightEdge - WindowRightEdge); - } - else {this.xPos = 5} - } -} - -function HM_f_LinkIt() { - if (this.linkText.indexOf("javascript:")!=-1) eval(this.linkText) - else { - HM_f_HideAll(); - location.href = this.linkText; - } -} - -function HM_f_PopDown(menuname){ - if (!HM_AreLoaded || !HM_AreCreated) return; - menuname = menuname.replace("elMenu",HM_MenuIDPrefix); - var MenuToHide = document.getElementById(menuname); - if(!MenuToHide)return; - MenuToHide.isOn = false; - if (!HM_ClickKill) MenuToHide.hideTop(); -} - -function HM_f_HideAll(callingmenu) { - for(var i=0; i=0; i--){ - TempElement = HM_a_ElementsCreated[i]; - TempElement.parentMenu = null; - TempElement.parentItem = null; - TempElement.itemElement = null; - TempElement.currentItem = null; - TempElement.child = null; - TempElement.siblingBelow = null; - TempElement.imgLyr = null; - } - TempElement = null; - - for(var i=0; i 1) { - MenuArrayIsValid = true; - if(!TheMenuArray.itemValidation) { - while((typeof TheMenuArray[TheMenuArray.length-1] != "object") || (!TheMenuArray[TheMenuArray.length-1].isArray)) { - TheMenuArray.length--; - } - TheMenuArray.itemValidation = true; - } - } - } - return MenuArrayIsValid; -} - -if(!window.HM_a_TreesToBuild) { - HM_a_TreesToBuild = []; - for(i=1; i<100; i++){ - if(HM_f_ValidateArray(HM_ArrayIDPrefix + i)) HM_a_TreesToBuild[HM_a_TreesToBuild.length] = i; - } -} - -HM_CurrentArray = null; -HM_CurrentTree = null; -HM_CurrentMenu = null; -HM_CurrentItem = null; -HM_a_TopMenus = []; -HM_AreLoaded = false; -HM_AreCreated = false; -HM_BeingCreated = false; -HM_UserOverMenu = false; -HM_HideAllTimer = null; -HM_TotalTrees = 0; -HM_ZIndex = 5000; - -function propertyTransfer(){ - this.obj = eval(this.id + "Obj"); - for (temp in this.obj) {this[temp] = this.obj[temp]} -} - -function HM_f_StartIt() { - if((typeof(document.body) == "undefined") || (document.body == null)) return; - if(HM_AreCreated) return; - HM_AreLoaded = true; - if (HM_ClickKill) { - HM_f_OtherMouseDown = (document.onmousedown) ? document.onmousedown : new Function; - document.onmousedown = function(){HM_f_PageClick();HM_f_OtherMouseDown()} - } - else { - HM_TopMilliSecondsVisible = HM_TopSecondsVisible * 1000; - } - HM_f_MakeTrees(); - HM_f_OtherOnLoad(); -} - -function HM_f_MakeTrees(){ - HM_BeingCreated = true; - var TreeParams = null; - var TreeHasChildren = false; - var ItemArray = null; - - for(var t=0; t"; - if(HM_CurrentMenu.showImage) { - var FullPadding = (HM_ItemPadding*2) + HM_ImageSize + HM_ImageHorizSpace; - } - if(hasmore && HM_CurrentMenu.showImage) { - var ImgSrc = HM_CurrentTree.RightToLeft ? HM_ImageSrcLeft : HM_ImageSrc; - var ImgStyle = "top:"+ (HM_ItemPadding + HM_ImageVertSpace) + "px;width:"+ HM_ImageSize + "px;"; - var ImgString = ""; - TempString += ImgString; - } - TempString += disptext + ""; - return TempString; -} - -function HM_f_SetItemProperties(itemid,itemidsuffix) { - this.tree = HM_CurrentTree; - this.itemsetup = HM_f_ItemSetup; - this.index = HM_CurrentMenu.itemCount - 1; - this.isLastItem = (HM_CurrentMenu.itemCount == HM_CurrentMenu.maxItems); - this.array = HM_CurrentMenu.array[HM_CurrentMenu.itemCount]; - this.dispText = this.array[0]; - this.linkText = this.array[1]; - this.permHilite = HM_f_EvalParameters(this.array[3],false,"boolean"); - this.hasRollover = (!this.permHilite && HM_f_EvalParameters(this.array[2],true,"boolean")); - this.hasMore = HM_f_EvalParameters(this.array[4],false,"boolean") && HM_f_ValidateArray(HM_ArrayIDPrefix + itemidsuffix); - this.childID = this.hasMore ? (HM_MenuIDPrefix + itemidsuffix) : null; - this.child = null; - this.onmouseover = HM_f_ItemOver; - this.onmouseout = HM_f_ItemOut; - this.setItemStyle = HM_f_SetItemStyle; - this.itemStr = HM_f_GetItemDivStr(itemid,this.dispText,this.hasMore); - this.showChild = HM_f_ShowChild; - this.ChildOverlap = null; -} - -function HM_f_Make4ItemElement(menucount) { - var ItemIDSuffix = menucount + "_" + HM_CurrentMenu.itemCount; - var LayerID = HM_ItemIDPrefix + ItemIDSuffix; - var ObjectID = LayerID + "Obj"; - eval(ObjectID + " = new Object()"); - ItemElement = eval(ObjectID); - ItemElement.setItemProperties = HM_f_SetItemProperties; - ItemElement.setItemProperties(LayerID,ItemIDSuffix); - return ItemElement; -} - -function HM_f_MakeElement(menuid) { - var MenuObject; - var LayerID = menuid; - var ObjectID = LayerID + "Obj"; - eval(ObjectID + " = new Object()"); - MenuObject = eval(ObjectID); - return MenuObject; -} - -function HM_f_MakeMenu(menucount) { - if(!HM_f_ValidateArray(HM_ArrayIDPrefix + menucount)) return false; - HM_CurrentArray = eval(HM_ArrayIDPrefix + menucount); - NewMenu = document.all(HM_MenuIDPrefix + menucount); - if(!NewMenu) { - NewMenu = HM_f_MakeElement(HM_MenuIDPrefix + menucount); - NewMenu.array = HM_CurrentArray; - NewMenu.tree = HM_CurrentTree; - - if(HM_CurrentMenu) { - NewMenu.parentMenu = HM_CurrentMenu; - NewMenu.parentItem = HM_CurrentMenu.itemElement; - NewMenu.parentItem.child = NewMenu; - NewMenu.hasParent = true; - NewMenu.isHorizontal = HM_CurrentTree.TreeIsHorizontal; - NewMenu.showImage = HM_CurrentTree.TreeImageShow; - } - else { - NewMenu.isHorizontal = HM_CurrentTree.TopIsHorizontal; - NewMenu.showImage = HM_CurrentTree.TopImageShow; - } - - HM_CurrentMenu = NewMenu; - HM_CurrentMenu.itemCount = 0; - HM_CurrentMenu.maxItems = HM_CurrentMenu.array.length - 1; - HM_CurrentMenu.showIt = HM_f_ShowIt; - HM_CurrentMenu.keepInWindow = HM_f_KeepInWindow; - HM_CurrentMenu.onmouseover = HM_f_MenuOver; - HM_CurrentMenu.onmouseout = HM_f_MenuOut; - HM_CurrentMenu.hideTree = HM_f_HideTree - HM_CurrentMenu.hideParents = HM_f_HideParents; - HM_CurrentMenu.hideChildren = HM_f_HideChildren; - HM_CurrentMenu.hideTop = HM_f_HideTop; - HM_CurrentMenu.hideSelf = HM_f_HideSelf; - HM_CurrentMenu.count = menucount; - HM_CurrentMenu.hasChildVisible = false; - HM_CurrentMenu.isOn = false; - HM_CurrentMenu.hideTimer = null; - HM_CurrentMenu.currentItem = null; - HM_CurrentMenu.setMenuStyle = HM_f_SetMenuStyle; - HM_CurrentMenu.sizeFixed = false; - HM_CurrentMenu.fixSize = HM_f_FixSize; - HM_CurrentMenu.onselectstart = HM_f_CancelSelect; - HM_CurrentMenu.moveTo = HM_f_MoveTo; - HM_CurrentMenu.IsVariableWidth = ((HM_CurrentMenu.hasParent && HM_CurrentTree.TreeIsVariableWidth) || (!HM_CurrentMenu.hasParent && HM_CurrentTree.TopIsVariableWidth)); - HM_CurrentMenu.htmlString = ""); - menuLyr = document.all(HM_MenuIDPrefix + menucount); - menuLyr.propertyTransfer = propertyTransfer; - menuLyr.propertyTransfer(); - HM_CurrentMenu = menuLyr; - if(!HM_CurrentMenu.hasParent)HM_CurrentTree.treeParent = HM_CurrentTree.startChild = HM_CurrentMenu; - HM_CurrentMenu.setMenuStyle(); - HM_CurrentMenu.items = HM_CurrentMenu.children; - HM_CurrentMenu.lastItem = HM_CurrentMenu.items[HM_CurrentMenu.items.length-1]; - for(var i=0; i0 ? HM_CurrentMenu.items[i-1] : null; - it.propertyTransfer = propertyTransfer; - it.propertyTransfer(); - it.itemsetup(i+1); - } - HM_CurrentMenu.moveTo(0,0); - return HM_CurrentMenu; -} - -function HM_f_SetMenuStyle(){ - with(this.style) { - borderWidth = HM_BorderWidth + "px"; - borderColor = HM_CurrentTree.BorderColor; - borderStyle = HM_BorderStyle; - overflow = "hidden"; - cursor = "default"; - } -} - -function HM_f_SetItemStyle() { - with(this.style){ - backgroundColor = (this.permHilite) ? HM_CurrentTree.BGColorOver : HM_CurrentTree.BGColor; - color = (this.permHilite) ? HM_CurrentTree.FontColorOver : HM_CurrentTree.FontColor; - font = ((HM_FontBold) ? "bold " : "normal ") + HM_FontSize + "pt " + HM_FontFamily; - padding = HM_ItemPadding + "px"; - fontStyle = (HM_FontItalic) ? "italic" : "normal"; - overflow = "hidden"; - pixelWidth = HM_CurrentTree.ItemWidth; - - if((this.menu.showImage && (!this.menu.IsVariableWidth || (this.menu.IsVariableWidth && this.tree.RightToLeft && !this.menu.isHorizontal))) || (this.menu.IsVariableWidth && this.imgLyr)) { - - var FullPadding = (HM_ItemPadding*2) + HM_ImageSize + HM_ImageHorizSpace; - if (this.tree.RightToLeft) paddingLeft = FullPadding + "px"; - else paddingRight = FullPadding + "px"; - } - if(!this.isLastItem) { - var SeparatorString = HM_SeparatorSize + "px solid " + this.tree.SeparatorColor; - if (this.menu.isHorizontal) borderRight = SeparatorString; - else borderBottom = SeparatorString; - } - - if(this.menu.isHorizontal){ - pixelTop = 0; - if(this.menu.IsVariableWidth) { - this.realWidth = this.scrollWidth; - if(this.isLastItem) pixelWidth = this.realWidth; - else pixelWidth = (this.realWidth + HM_SeparatorSize); - pixelLeft = this.index ? (this.siblingBelow.style.pixelLeft + this.siblingBelow.style.pixelWidth) : 0; - if(this.isLastItem) { - LeftAndWidth = pixelLeft + pixelWidth; - this.menu.style.pixelWidth = LeftAndWidth + (HM_BorderWidth * 2); - } - - } - else { - if(this.isLastItem) pixelWidth = (HM_CurrentTree.MenuWidth - HM_BorderWidth - HM_SeparatorSize); - else pixelWidth = (HM_CurrentTree.MenuWidth - HM_BorderWidth); - pixelLeft = (this.index * (HM_CurrentTree.MenuWidth - HM_BorderWidth)); - var LeftAndWidth = pixelLeft + pixelWidth; - this.menu.style.pixelWidth = LeftAndWidth + (HM_BorderWidth * 2); - } - } - else { - pixelLeft = 0; - } - } -} - -function HM_f_FixSize(makevis){ - if(this.isHorizontal) { - var MaxItemHeight = 0; - for(i=0; i WindowRightEdge) { - if (this.hasParent) { - this.xPos = ((ParentLeftEdge - this.parentItem.DistanceToLeftEdge) + this.parentItem.ChildOverlap) - this.offsetWidth; - } - else { - dif = MenuRightEdge - WindowRightEdge; - this.xPos -= dif; - } - this.xPos = Math.max(5,this.xPos); - } - - if (MenuBottomEdge > WindowBottomEdge) { - dif = MenuBottomEdge - WindowBottomEdge; - this.yPos -= dif; - } - - if (MenuLeftEdge < WindowLeftEdge) { - if (this.hasParent) { - this.xPos = (ParentLeftEdge + this.parentItem.DistanceToRightEdge) - this.parentItem.ChildOverlap; - MenuRightEdge = this.xPos + this.style.pixelWidth; - if(MenuRightEdge > WindowRightEdge) this.xPos -= (MenuRightEdge - WindowRightEdge); - } - else {this.xPos = 5} - } -} - -function HM_f_LinkIt() { - if (this.linkText.indexOf("javascript:")!=-1) eval(this.linkText) - else { - HM_f_HideAll(); - location.href = this.linkText; - } -} - -function HM_f_PopDown(menuname){ - if (!HM_AreLoaded || !HM_AreCreated) return; - menuname = menuname.replace("elMenu",HM_MenuIDPrefix); - var MenuToHide = document.all(menuname); - if(!MenuToHide)return; - MenuToHide.isOn = false; - if (!HM_ClickKill) MenuToHide.hideTop(); -} - -function HM_f_HideAll(callingmenu) { - for(var i=0; i 1) { - MenuArrayIsValid = true; - if(!TheMenuArray.itemValidation) { - while((typeof TheMenuArray[TheMenuArray.length-1] != "object") || (!TheMenuArray[TheMenuArray.length-1].isArray)) { - TheMenuArray.length--; - } - TheMenuArray.itemValidation = true; - } - } - } - return MenuArrayIsValid; -} - -if(!window.HM_a_TreesToBuild) { - HM_a_TreesToBuild = []; - for(i=1; i<100; i++){ - if(HM_f_ValidateArray(HM_ArrayIDPrefix + i)) HM_a_TreesToBuild[HM_a_TreesToBuild.length] = i; - } -} - -HM_CurrentArray = null; -HM_CurrentTree = null; -HM_CurrentMenu = null; -HM_CurrentItem = null; -HM_a_TopMenus = []; -HM_AreLoaded = false; -HM_AreCreated = false; -HM_BeingCreated = false; -HM_UserOverMenu = false; -HM_HideAllTimer = null; -HM_TotalTrees = 0; -HM_ZIndex = 5000; - -function HM_f_Initialize() { - if(HM_AreCreated) { - for(var i=0; i" + TempString + ""; - var TempStringOver = TempString.fontcolor(HM_CurrentTree.FontColorOver); - TempString = TempString.fontcolor(HM_CurrentTree.FontColor); - return [TempString,TempStringOver]; -} - -function HM_f_MakeMenu(menucount) { - if(!HM_f_ValidateArray(HM_ArrayIDPrefix + menucount)) return false; - HM_CurrentArray = eval(HM_ArrayIDPrefix + menucount); - - NewMenu = eval("window." + HM_MenuIDPrefix + menucount); - if(!NewMenu) { - eval(HM_MenuIDPrefix + menucount + " = new Layer(HM_CurrentTree.MenuWidth,window)"); - NewMenu = eval(HM_MenuIDPrefix + menucount); - - if(HM_CurrentMenu) { - NewMenu.parentMenu = HM_CurrentMenu; - NewMenu.parentItem = HM_CurrentItem; - NewMenu.parentItem.child = NewMenu; - NewMenu.hasParent = true; - NewMenu.isHorizontal = HM_CurrentTree.TreeIsHorizontal; - NewMenu.showImage = HM_CurrentTree.TreeImageShow; - } - else { - NewMenu.isHorizontal = HM_CurrentTree.TopIsHorizontal; - NewMenu.showImage = HM_CurrentTree.TopImageShow; - } - - HM_CurrentMenu = NewMenu; - HM_CurrentMenu.count = menucount; - HM_CurrentMenu.tree = HM_CurrentTree; - HM_CurrentMenu.array = HM_CurrentArray; - HM_CurrentMenu.maxItems = HM_CurrentArray.length - 1; - HM_CurrentMenu.bgColor = HM_CurrentTree.BorderColor; - HM_CurrentMenu.IsVariableWidth = ((HM_CurrentMenu.hasParent && HM_CurrentTree.TreeIsVariableWidth) || (!HM_CurrentMenu.hasParent && HM_CurrentTree.TopIsVariableWidth)); - HM_CurrentMenu.onmouseover = HM_f_MenuOver; - HM_CurrentMenu.onmouseout = HM_f_MenuOut; - HM_CurrentMenu.moveTo(0,0); - } - - if(!HM_CurrentTree.treeParent) HM_CurrentTree.treeParent = HM_CurrentTree.startChild = HM_CurrentMenu; - - while (HM_CurrentMenu.itemCount < HM_CurrentMenu.maxItems) { - HM_CurrentMenu.itemCount++; - HM_CurrentItem = eval("window." + HM_ItemIDPrefix + menucount + "_" + HM_CurrentMenu.itemCount); - if(!HM_CurrentItem) { - eval(HM_ItemIDPrefix + menucount + "_" + HM_CurrentMenu.itemCount + " = new Layer(HM_CurrentTree.ItemWidth - (HM_ItemPadding*2),HM_CurrentMenu)") - if(HM_StatusDisplayBuild) status = "Creating Hierarchical Menus: " + menucount + " / " + HM_CurrentMenu.itemCount; - HM_CurrentItem = eval(HM_ItemIDPrefix + menucount + "_" + HM_CurrentMenu.itemCount); - HM_CurrentItem.itemSetup(menucount + "_" + HM_CurrentMenu.itemCount); - } - if(HM_CurrentItem.hasMore && (!HM_CreateTopOnly || HM_AreCreated && HM_CreateTopOnly)) { - MenuCreated = HM_f_MakeMenu(menucount + "_" + HM_CurrentMenu.itemCount); - if(MenuCreated) { - HM_CurrentMenu = HM_CurrentMenu.parentMenu; - HM_CurrentArray = HM_CurrentMenu.array; - } - } - } - HM_CurrentMenu.itemCount = 0; - if (HM_CurrentMenu.isHorizontal) { - HM_CurrentMenu.clip.right = HM_CurrentMenu.lastItem.left + HM_CurrentMenu.lastItem.clip.right + HM_BorderWidth; - } - else { - HM_CurrentMenu.clip.right = HM_CurrentMenu.lastItem.clip.width + (HM_BorderWidth*2); - } - HM_CurrentMenu.clip.bottom = HM_CurrentMenu.lastItem.top + HM_CurrentMenu.lastItem.clip.bottom + HM_BorderWidth; - return HM_CurrentMenu; -} - -function HM_f_ItemSetup(itemidsuffix) { - this.menu = HM_CurrentMenu; - this.tree = HM_CurrentTree; - this.index = HM_CurrentMenu.itemCount - 1; - this.array = HM_CurrentArray[HM_CurrentMenu.itemCount]; - this.dispText = this.array[0]; - this.linkText = this.array[1]; - this.permHilite = HM_f_EvalParameters(this.array[3],false,"boolean"); - this.hasRollover = (!this.permHilite && HM_f_EvalParameters(this.array[2],true,"boolean")); - this.hasMore = HM_f_EvalParameters(this.array[4],false,"boolean") && HM_f_ValidateArray(HM_ArrayIDPrefix + itemidsuffix); - var HtmlStrings = HM_f_GetItemHtmlStr(this.dispText); - this.htmStr = HtmlStrings[0]; - this.htmStrOver = HtmlStrings[1]; - this.visibility = "inherit"; - this.onmouseover = HM_f_ItemOver; - this.onmouseout = HM_f_ItemOut; - this.menu.lastItem = this; - this.showChild = HM_f_ShowChild; - - this.ClickStart = this.hasMore && this.tree.ClickStart && (this.tree.TopIsPermanent && (this.tree.treeParent==this.menu)); - if(this.ClickStart) { - this.captureEvents(Event.MOUSEUP); - this.onmouseup = this.showChild; - this.linkText = ""; - } - else { - if (this.linkText) { - this.captureEvents(Event.MOUSEUP); - this.onmouseup = HM_f_LinkIt; - } - } - - this.txtLyrOff = new Layer(HM_CurrentTree.ItemTextWidth - (HM_ItemPadding*2),this); - with(this.txtLyrOff) { - document.write(this.permHilite ? this.htmStrOver : this.htmStr); - document.close(); - if (HM_CurrentTree.RightToLeft && this.menu.showImage && (!this.menu.isHorizontal || (this.menu.isHorizontal && (!this.menu.IsVariableWidth || (this.menu.IsVariableWidth && this.hasMore))) )) left = HM_ItemPadding + HM_ImageSize + HM_ImageHorizSpace; - visibility = "inherit"; - } - - if(this.menu.IsVariableWidth){ - this.ItemTextWidth = this.txtLyrOff.document.width; - this.ItemWidth = this.ItemTextWidth + (HM_ItemPadding*2); - if(HM_CurrentMenu.showImage) { - if(!this.menu.isHorizontal || this.hasMore) { - this.ItemWidth += (HM_ItemPadding + HM_ImageSize + HM_ImageHorizSpace); - } - } - } - else { - this.ItemWidth = this.tree.ItemWidth; - this.ItemTextWidth = this.tree.ItemTextWidth; - } - if (this.menu.isHorizontal) { - if (this.index) this.left = this.siblingBelow.left + this.siblingBelow.clip.width + HM_SeparatorSize; - else this.left = (HM_BorderWidth + HM_ItemPadding); - this.top = (HM_BorderWidth + HM_ItemPadding); - } - else { - this.left = (HM_BorderWidth + HM_ItemPadding); - if (this.index) this.top = this.siblingBelow.top + this.siblingBelow.clip.height + HM_SeparatorSize; - else this.top = (HM_BorderWidth + HM_ItemPadding) - } - this.clip.top = this.clip.left = -HM_ItemPadding; - this.clip.right = this.ItemWidth - HM_ItemPadding; - this.bgColor = this.permHilite ? this.tree.BGColorOver : this.tree.BGColor; - - if(this.tree.NSFontOver) { - if(!this.permHilite){ - this.txtLyrOn = new Layer(this.ItemTextWidth,this); - with(this.txtLyrOn) { - if (HM_CurrentTree.RightToLeft && this.menu.showImage && (!this.menu.isHorizontal || (this.menu.isHorizontal && (!this.menu.IsVariableWidth || (this.menu.IsVariableWidth && this.hasMore))) )) left = HM_ItemPadding + HM_ImageSize + HM_ImageHorizSpace; - visibility = "hide"; - } - } - } - - this.fullClip = this.txtLyrOff.document.height + (HM_ItemPadding * 2); - if(this.menu.isHorizontal) { - if(this.index) { - var SiblingHeight = this.siblingBelow.clip.height; - this.fullClip = Math.max(SiblingHeight,this.fullClip); - if(this.fullClip > SiblingHeight) { - var SiblingPrevious = this.siblingBelow; - while(SiblingPrevious != null) { - SiblingPrevious.clip.height = this.fullClip; - SiblingPrevious = SiblingPrevious.siblingBelow; - } - } - } - } - this.clip.height = this.fullClip; - - if(!this.menu.isHorizontal && this.menu.IsVariableWidth) { - this.fullWidth = this.clip.width; - if(this.index) { - var SiblingWidth = this.siblingBelow.clip.width; - this.fullWidth = Math.max(SiblingWidth,this.fullWidth); - SiblingPrevious = this.siblingBelow; - while(SiblingPrevious != null) { - SiblingPrevious.clip.width = this.fullWidth; - SiblingPrevious.dummyLyr.clip.width = this.fullWidth; - if(SiblingPrevious.hasMore) { - SiblingPrevious.DistanceToRightEdge = SiblingPrevious.clip.right + SiblingPrevious.WhatsOnRight; - SiblingPrevious.DistanceToLeftEdge = HM_ItemPadding + SiblingPrevious.WhatsOnLeft; - SiblingPrevious.CompleteWidth = SiblingPrevious.ItemWidth + SiblingPrevious.WhatsOnLeft + SiblingPrevious.WhatsOnRight; - SiblingPrevious.ChildOverlap = (parseInt((HM_ChildPerCentOver != null) ? (HM_ChildPerCentOver * SiblingPrevious.CompleteWidth) : HM_ChildOverlap)); - } - if(SiblingPrevious.imgLyr && !HM_CurrentTree.RightToLeft) { - SiblingPrevious.imgLyr.left = this.fullWidth - (HM_ItemPadding * 2) - HM_ImageSize - HM_ImageHorizSpace; - } - SiblingPrevious = SiblingPrevious.siblingBelow; - } - } - this.clip.width = this.fullWidth; - } - - this.dummyLyr = new Layer(100,this); - with(this.dummyLyr) { - left = top = -HM_ItemPadding; - clip.width = this.clip.width; - clip.height = this.clip.height; - visibility = "inherit"; - } - - if(this.hasMore && HM_CurrentMenu.showImage) { - this.imageSrc = this.tree.RightToLeft ? HM_ImageSrcLeft : HM_ImageSrc; - this.hasImageRollover = ((!this.tree.RightToLeft && HM_ImageSrcOver) || (this.tree.RightToLeft && HM_ImageSrcLeftOver)); - if(this.hasImageRollover) { - this.imageSrcOver = this.tree.RightToLeft ? HM_ImageSrcLeftOver : HM_ImageSrcOver; - if(this.permHilite) this.imageSrc = this.imageSrcOver; - } - this.imgLyr = new Layer(HM_ImageSize,this); - - with(this.imgLyr) { - document.write(""); - document.close(); - moveBelow(this.txtLyrOff); - left = (HM_CurrentTree.RightToLeft) ? HM_ImageHorizSpace : this.ItemWidth - (HM_ItemPadding * 2) - HM_ImageSize - HM_ImageHorizSpace; - top = HM_ImageVertSpace; - visibility = "inherit"; - } - this.imageElement = this.imgLyr.document.images[0]; - } - - if(this.hasMore) { - this.WhatsOnRight = (!this.menu.isHorizontal || (this.menu.isHorizontal && this.isLastItem)) ? HM_BorderWidth : HM_SeparatorSize; - this.DistanceToRightEdge = this.clip.right + this.WhatsOnRight; - this.WhatsOnLeft = (!this.menu.isHorizontal || (this.menu.isHorizontal && this.index==0)) ? HM_BorderWidth : HM_SeparatorSize; - this.DistanceToLeftEdge = HM_ItemPadding + this.WhatsOnLeft; - this.CompleteWidth = this.ItemWidth + this.WhatsOnLeft + this.WhatsOnRight; - this.ChildOverlap = (parseInt((HM_ChildPerCentOver != null) ? (HM_ChildPerCentOver * this.CompleteWidth) : HM_ChildOverlap)); - } -} - -function HM_f_PopUp(menuname,e){ - if (!HM_AreLoaded) return; - menuname = menuname.replace("elMenu",HM_MenuIDPrefix); - var TempMenu = eval("window."+menuname); - if(!TempMenu)return; - HM_CurrentMenu = TempMenu; - if (HM_CurrentMenu.tree.ClickStart) { - var ClickElement = e.target; - ClickElement.onclick = HM_f_PopMenu; - } - else HM_f_PopMenu(e); -} - -function HM_f_PopMenu(e){ - if (!HM_AreLoaded || !HM_AreCreated) return true; - if (HM_CurrentMenu.tree.ClickStart && e.type != "click") return true; - HM_f_HideAll(); - HM_CurrentMenu.hasParent = false; - HM_CurrentMenu.tree.startChild = HM_CurrentMenu; - var mouse_x_position = e.pageX; - var mouse_y_position = e.pageY; - HM_CurrentMenu.xPos = (HM_CurrentMenu.tree.MenuLeft!=null) ? eval(HM_CurrentMenu.tree.MenuLeft) : mouse_x_position; - HM_CurrentMenu.yPos = (HM_CurrentMenu.tree.MenuTop!=null) ? eval(HM_CurrentMenu.tree.MenuTop) : mouse_y_position; - - HM_CurrentMenu.keepInWindow(); - HM_CurrentMenu.moveTo(HM_CurrentMenu.xPos,HM_CurrentMenu.yPos); - HM_CurrentMenu.isOn = true; - HM_CurrentMenu.showIt(true); - return false; -} - -function HM_f_MenuOver() { - if(!this.tree.startChild){this.tree.startChild = this} - if(this.tree.startChild == this) HM_f_HideAll(this) - this.isOn = true; - HM_UserOverMenu = true; - HM_CurrentMenu = this; - if (this.hideTimer) clearTimeout(this.hideTimer); -} - -function HM_f_MenuOut() { - this.isOn = false; - HM_UserOverMenu = false; - if(HM_StatusDisplayLink) status = ""; - if(!HM_ClickKill) { - clearTimeout(HM_HideAllTimer); - HM_HideAllTimer = null; - HM_HideAllTimer = setTimeout("HM_CurrentMenu.hideTree()",HM_ChildMilliSecondsVisible); - } -} - -function HM_f_ShowChild(){ - if(!this.child) { - HM_CurrentTree = this.tree; - HM_CurrentMenu = this.menu; - HM_CurrentItem = this; - this.child = HM_f_MakeMenu(this.menu.count + "_"+(this.index+1)); - this.tree.treeParent = this.menu; - this.tree.startChild = this.menu; - } - if (this.tree.PositionUnder && (this.menu == this.tree.treeParent)) { - this.child.xPos = this.pageX + this.clip.left - HM_BorderWidth; - this.child.yPos = this.menu.top + this.menu.clip.height - HM_BorderWidth; - } - else { - this.oL = this.pageX; - this.child.offsetWidth = this.child.clip.width; - this.oT = this.pageY + this.clip.top - HM_BorderWidth; - if(this.tree.RightToLeft) { - this.child.xPos = ((this.oL - this.DistanceToLeftEdge) + this.ChildOverlap) - this.child.offsetWidth; - } - else { - this.child.xPos = (this.oL + this.DistanceToRightEdge) - this.ChildOverlap; - } - this.child.yPos = this.oT + HM_ChildOffset + HM_BorderWidth; - } - if(!this.tree.PositionUnder || this.menu!=this.tree.treeParent) this.child.keepInWindow(); - this.child.moveTo(this.child.xPos,this.child.yPos); - this.menu.hasChildVisible = true; - this.menu.visibleChild = this.child; - this.child.showIt(true); -} - -function HM_f_ItemOver(){ - if (HM_KeepHilite) { - if (this.menu.currentItem && this.menu.currentItem != this && this.menu.currentItem.hasRollover) { - with(this.menu.currentItem){ - bgColor = this.tree.BGColor; - if(this.tree.NSFontOver) { - txtLyrOff.visibility = "inherit"; - txtLyrOn.visibility = "hide"; - } - } - if(this.menu.currentItem.hasImageRollover)this.menu.currentItem.imageElement.src = this.menu.currentItem.imageSrc; - } - } - if(this.hasRollover) { - this.bgColor = this.tree.BGColorOver; - if(this.tree.NSFontOver) { - if(!this.txtLyrOn.isWritten){ - this.txtLyrOn.document.write(this.htmStrOver); - this.txtLyrOn.document.close(); - this.txtLyrOn.isWritten = true; - } - this.txtLyrOff.visibility = "hide"; - this.txtLyrOn.visibility = "inherit"; - } - if(this.hasImageRollover)this.imageElement.src = this.imageSrcOver; - } - - if(HM_StatusDisplayLink) status = this.linkText; - this.menu.currentItem = this; - if (this.menu.hasChildVisible) { - if(this.menu.visibleChild == this.child && this.menu.visibleChild.hasChildVisible) this.menu.visibleChild.hideChildren(this); - else this.menu.hideChildren(this); - } - - if (this.hasMore && !this.ClickStart) this.showChild(); -} - -function HM_f_ItemOut() { - if ( (!HM_KeepHilite || ((this.tree.TopIsPermanent && (this.tree.treeParent==this)) && !this.menu.hasChildVisible)) && this.hasRollover) { - with(this){ - bgColor = this.tree.BGColor; - if(this.tree.NSFontOver) { - txtLyrOff.visibility = "inherit"; - txtLyrOn.visibility = "hide"; - } - if(this.hasImageRollover)this.imageElement.src = this.imageSrc; - } - } - if(!HM_ClickKill && !HM_UserOverMenu) { - clearTimeout(HM_HideAllTimer); - HM_HideAllTimer = null; - HM_HideAllTimer = setTimeout("HM_CurrentMenu.hideTree()",HM_ChildMilliSecondsVisible); - } -} - -function HM_f_ShowIt(on) { - if (!(this.tree.TopIsPermanent && (this.tree.treeParent==this))) { - if(!this.hasParent || (this.hasParent && this.tree.TopIsPermanent && (this.tree.treeParent==this.parentMenu) )) { - if (on == this.hidden) - eval(on ? this.tree.UponDisplay : this.tree.UponHide) - } - if (on) this.zIndex = ++HM_ZIndex; - this.visibility = on ? "show" : "hide"; - } - if (HM_KeepHilite && this.currentItem && this.currentItem.hasRollover) { - with(this.currentItem){ - bgColor = this.tree.BGColor; - if(this.tree.NSFontOver) { - txtLyrOff.visibility = "inherit"; - txtLyrOn.visibility = "hide"; - } - } - if(this.currentItem.hasImageRollover)this.currentItem.imageElement.src = this.currentItem.imageSrc; - } - this.currentItem = null; -} - -function HM_f_KeepInWindow() { - var ExtraSpace = 10; - var WindowLeftEdge = window.pageXOffset; - var WindowTopEdge = window.pageYOffset; - var WindowWidth = window.innerWidth; - var WindowHeight = window.innerHeight; - var WindowRightEdge = (WindowLeftEdge + WindowWidth) - ExtraSpace; - var WindowBottomEdge = (WindowTopEdge + WindowHeight) - ExtraSpace; - - var MenuLeftEdge = this.xPos; - var MenuRightEdge = MenuLeftEdge + this.clip.width; - var MenuBottomEdge = this.yPos + this.clip.height; - - if (this.hasParent) { - var ParentLeftEdge = this.parentItem.pageX; - this.offsetWidth = this.clip.width; - } - if (MenuRightEdge > WindowRightEdge) { - if (this.hasParent) { - this.xPos = ((ParentLeftEdge - this.parentItem.DistanceToLeftEdge) + this.parentItem.ChildOverlap) - this.offsetWidth; - } - else { - dif = MenuRightEdge - WindowRightEdge; - this.xPos -= dif; - } - this.xPos = Math.max(5,this.xPos); - } - - if (MenuBottomEdge > WindowBottomEdge) { - dif = MenuBottomEdge - WindowBottomEdge; - this.yPos -= dif; - } - - if (MenuLeftEdge < WindowLeftEdge) { - if (this.hasParent) { - this.xPos = (ParentLeftEdge + this.parentItem.DistanceToRightEdge) - this.parentItem.ChildOverlap; - MenuRightEdge = this.xPos + this.offsetWidth; - if(MenuRightEdge > WindowRightEdge) this.xPos -= (MenuRightEdge - WindowRightEdge); - } - else {this.xPos = 5} - } -} - -function HM_f_LinkIt() { - if (this.linkText.indexOf("javascript:")!=-1) eval(this.linkText) - else { - HM_f_HideAll(); - location.href = this.linkText; - } -} - -function HM_f_PopDown(menuname){ - if (!HM_AreLoaded || !HM_AreCreated) return; - menuname = menuname.replace("elMenu",HM_MenuIDPrefix); - var MenuToHide = eval("window."+menuname); - if(!MenuToHide)return; - MenuToHide.isOn = false; - if (!HM_ClickKill) MenuToHide.hideTop(); -} - -function HM_f_HideAll(callingmenu) { - for(var i=0; i - -HM Version 4.1.1 Examples - - - - - - - - -
-

Sample HTML page with 5 Hierarchical Menus

-

Permanent Centered Horizontal Menu (Cascades on click):

-

-

Permanent Horizontal Variable-Width Menu (Cascades on mouseover):

-

-

- Relative-to-Mouse-Position Vertical Variable-Width Popup Menu (Displays on mouseover)

-
- -

- Relative-to-Mouse-Position Using Keywords Popup Menu (Displays on click)

-
-

- Absolute Position Popup Menu (Displays on mouseover)

-
- - - - diff --git a/helm/graphs/jsmenu/prova.gif b/helm/graphs/jsmenu/prova.gif deleted file mode 100644 index 7f53e61db..000000000 Binary files a/helm/graphs/jsmenu/prova.gif and /dev/null differ diff --git a/helm/graphs/jsmenu/prova.html b/helm/graphs/jsmenu/prova.html deleted file mode 100644 index 7f242943a..000000000 --- a/helm/graphs/jsmenu/prova.html +++ /dev/null @@ -1,87 +0,0 @@ - - -HM Version 4.1.1 Examples - - - - - - - - - - - - - - - - - - diff --git a/helm/graphs/tools/.cvsignore b/helm/graphs/tools/.cvsignore deleted file mode 100644 index a9c3ad4a1..000000000 --- a/helm/graphs/tools/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.cm[iaox] -*.[ao] -*.cmxa -drawGraph -uriSetQueue -drawGraph.opt -uriSetQueue.opt diff --git a/helm/graphs/tools/Makefile b/helm/graphs/tools/Makefile deleted file mode 100644 index 072667031..000000000 --- a/helm/graphs/tools/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -PID= -DOT=dot -#SED=sed "s/font-family:Times;//g" -SED=cat - -REQUIRES = http helm-registry -PREDICATES = mt -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -thread -OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) -OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) -EXECUTABLES = uriSetQueue drawGraph -EXECUTABLES_OPT = $(patsubst %,%.opt,$(EXECUTABLES)) - -#OBJS=prova.$(PID).svg prova.$(PID).ps prova.$(PID).gif prova.$(PID).ismap prova.$(PID).imap prova.$(PID).html -OBJS=prova.$(PID).gif prova.$(PID).ismap prova.$(PID).html - -all: $(EXECUTABLES) -opt: $(EXECUTABLES_OPT) -world: all opt -clean: - rm -f *.cm[aiox] *.cmxa *.[ao] $(EXECUTABLES) $(EXECUTABLES_OPT) - -tmp: $(OBJS) -clean_tmp: - rm -f $(OBJS) prova.$(PID).dot xx.$(PID)00 xx.$(PID)01 xx.$(PID)02 \ - xx.$(PID)02n xx.$(PID)03 log.$(PID) - -uriSetQueue: uriSetQueue.ml - $(OCAMLC) -linkpkg -o $@ $< -uriSetQueue.opt: uriSetQueue.ml - $(OCAMLOPT) -linkpkg -o $@ $< - -drawGraph: drawGraph.ml - $(OCAMLC) -linkpkg -o $@ $< -drawGraph.opt: drawGraph.ml - $(OCAMLOPT) -linkpkg -o $@ $< - -prova.$(PID).dot: prova0.$(PID).dot - csplit --prefix=xx.$(PID) prova0.$(PID).dot 1 2 `expr \`wc -l prova0.$(PID).dot | sed 's/\([0123456789]\+\) prova0.$(PID).dot/\1/'\` + 1` - ./simplify_deps/simplify_deps.opt < xx.$(PID)02 > xx.$(PID)02n - cat xx.$(PID)01 xx.$(PID)02n xx.$(PID)03 > prova.$(PID).dot - -prova.$(PID).svg: prova.$(PID).dot - $(DOT) -Tsvg prova.$(PID).dot | $(SED) > prova.$(PID).svg - -prova.$(PID).ps: prova.$(PID).dot - $(DOT) -Tps prova.$(PID).dot > prova.$(PID).ps - -prova.$(PID).imap: prova.$(PID).dot - $(DOT) -Timap prova.$(PID).dot > prova.$(PID).imap - -prova.$(PID).gif: prova.$(PID).dot - $(DOT) -Tgif prova.$(PID).dot > prova.$(PID).gif - -prova.$(PID).ismap: prova.$(PID).dot - $(DOT) -Tismap prova.$(PID).dot > prova.$(PID).ismap - -prova.$(PID).html: prova.$(PID).ismap - cat xx.$(PID)00 prova.$(PID).ismap | ./mk_html.pl $(PID) > prova.$(PID).html - diff --git a/helm/graphs/tools/drawGraph.conf.xml.sample b/helm/graphs/tools/drawGraph.conf.xml.sample deleted file mode 100644 index a26b4b990..000000000 --- a/helm/graphs/tools/drawGraph.conf.xml.sample +++ /dev/null @@ -1,7 +0,0 @@ - - -
- 58083 - /projects/helm/daemons/graphs/tools -
-
diff --git a/helm/graphs/tools/drawGraph.ml b/helm/graphs/tools/drawGraph.ml deleted file mode 100644 index 9f86feeb0..000000000 --- a/helm/graphs/tools/drawGraph.ml +++ /dev/null @@ -1,101 +0,0 @@ -(* Copyright (C) 2002, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -open Printf;; - -let debug = true;; -let debug_print s = if debug then prerr_endline s;; - -let configuration_file = "/projects/helm/etc/drawGraph.conf.xml";; - -let daemon_name = "Draw Graph";; - -let wget url fname = - prerr_endline (sprintf "DEBUG: wgetting url '%s'" url); - let oc = open_out fname in - Http_client.http_get_iter (output_string oc) url; - close_out oc -;; - -let errmsg = - sprintf -" - - Graph: error - - -

Error occurred while drawing graph!
Please report the occured problem

-

%s

- -" -in -let string_of_exit_status = function - | Unix.WEXITED n -> sprintf "Process exited with code %d" n - | Unix.WSIGNALED n -> sprintf "Process killed by signal %d" n - | Unix.WSTOPPED n -> sprintf "Process stopped by signal %d" n -in -let callback (req: Http_types.request) outchan = - try - (match req#path with - | "/draw" -> - let url = req#param "url" in - let pid = Unix.getpid () in - wget (sprintf "%s¶m.PID=%d" url pid) (sprintf "prova0.%d.dot" pid); - (match Unix.system (sprintf "make tmp PID=%d > log.%d" pid pid) with - | Unix.WEXITED 0 -> - debug_print "HTML successfully generated"; - Http_daemon.respond_file (sprintf "prova.%d.html" pid) outchan - | status -> - debug_print "Failure, sending error message"; - let res = - new Http_response.response - ~body: - (errmsg ("Exit status: " ^ (string_of_exit_status status))) - () - in - Http_daemon.respond_with res outchan) - | "/get_gif" -> - let pid = req#param "pid" in - Http_daemon.respond_file (sprintf "prova.%s.gif" pid) outchan; - ignore (Unix.system ( - sprintf "make PID=%s clean_tmp; rm -f prova0.%s.dot" pid pid)) - | invalid_request -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - outchan) - with - | Http_types.Param_not_found attr_name -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - ~body:(sprintf "Parameter '%s' is missing" attr_name) - outchan -in -Helm_registry.load_from configuration_file; -let port = Helm_registry.get_int "draw_graph.port" in -Sys.chdir (Helm_registry.get "draw_graph.dir"); -printf "%s started and listening on port %d\n" daemon_name port; -printf "current directory is %s\n" (Sys.getcwd ()); -flush stdout; -Http_daemon.start' ~port callback; -printf "%s is terminating, bye!\n" daemon_name - diff --git a/helm/graphs/tools/mk_html.pl b/helm/graphs/tools/mk_html.pl deleted file mode 100755 index a928cd5ad..000000000 --- a/helm/graphs/tools/mk_html.pl +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/perl - -use URI::Escape; - -print < - - - Graph - - - - -EOT - -my $count = 0; - -while () { - $count++; - my (undef,$point1,$point2,$uri) = split; - my ($point1x,$point1y) = split /,/,$point1; - my ($point2x,$point2y) = split /,/,$point2; - $point1y = substr($point1y,0,-1); - $point2y = substr($point2y,0,-1); - $point1x = substr($point1x,1); - $point2x = substr($point2x,1); - - print < -EOT -} - -print < - - - -EOT diff --git a/helm/graphs/tools/simplify_deps/.cvsignore b/helm/graphs/tools/simplify_deps/.cvsignore deleted file mode 100644 index 51af83437..000000000 --- a/helm/graphs/tools/simplify_deps/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -simplify_deps.cmi -simplify_deps.cmo -simplify_deps.cmx -simplify_deps -simplify_deps.opt diff --git a/helm/graphs/tools/simplify_deps/Makefile b/helm/graphs/tools/simplify_deps/Makefile deleted file mode 100644 index 7395c8c9b..000000000 --- a/helm/graphs/tools/simplify_deps/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -OBJS = simplify_deps simplify_deps.opt - -all: $(OBJS) - -simplify_deps: simplify_deps.ml - ocamlfind ocamlc -package str -linkpkg simplify_deps.ml -o simplify_deps - -simplify_deps.opt: simplify_deps.ml - ocamlfind ocamlopt -package str -linkpkg simplify_deps.ml -o simplify_deps.opt - -clean: - rm -f $(OBJS) simplify_deps.cm[iox] simplify_deps.o diff --git a/helm/graphs/tools/simplify_deps/simplify_deps.ml b/helm/graphs/tools/simplify_deps/simplify_deps.ml deleted file mode 100644 index 9b0fb0042..000000000 --- a/helm/graphs/tools/simplify_deps/simplify_deps.ml +++ /dev/null @@ -1,102 +0,0 @@ -type node = - Node of string * node list ref (* label, children *) - -let debug = false;; - -(************************************************) -(* SIMPLIFICATION AND PRETTY-PRINTING *) -(************************************************) - -let reachable target source_arcs = - let rec find s = - if s = target then true - else - let Node (_,arcs) = s in - List.fold_left (fun i n -> i or find n) false !arcs - in - List.fold_left - (fun i n -> - i or - (if n = target then - (* this is the arc we would like to get rid of *) - false - else - find n - ) - ) false source_arcs -;; - -let consider_arc (source,target,rest) = - let Node (source_name,source_arcs) = source in - let Node (target_name,_) = target in - if not (reachable target !source_arcs) then - print_endline (source_name ^ " -> " ^ target_name ^ rest ^ ";") - else - if debug then - print_endline (source_name ^ " -> " ^ target_name ^ " [color=green];") -;; - -let simplify_deps_and_output_them = - List.iter consider_arc -;; - -(************************************************) -(* PARSING *) -(************************************************) - -let nodes = ref [];; -let arcs = ref [];; (* (source,target) *) - -let search_node s = - List.find (function Node (s',_) -> s' = s) !nodes -;; - -let parse () = - try - while true do - let line = read_line () in - if Str.string_match (Str.regexp " \\([^ ]*\\) -> \\([^ ;]*\\)\\(\\( \\[.*\\]\\)?\\);") line 0 then - let source = Str.matched_group 1 line in - let target = Str.matched_group 2 line in - begin - if source <> target then - (* not a self loop *) - let rest = Str.matched_group 3 line in - let tar = - try - search_node target - with - Not_found -> - let tar = Node (target,ref []) in - nodes := tar :: !nodes ; - tar - in - let sou = - try - let sou = search_node source in - let Node (_,ts) = sou in - ts := tar::!ts ; - sou - with - Not_found -> - let sou = Node (source,ref [tar]) in - nodes := sou :: !nodes ; - sou - in - arcs := (sou,tar,rest)::!arcs - end - else - print_endline line - done - with - End_of_file -> () -;; - -(************************************************) -(* MAIN *) -(************************************************) - -let _ = - parse () ; - simplify_deps_and_output_them !arcs -;; diff --git a/helm/graphs/tools/uriSetQueue.conf.xml.sample b/helm/graphs/tools/uriSetQueue.conf.xml.sample deleted file mode 100644 index 9bfc3d859..000000000 --- a/helm/graphs/tools/uriSetQueue.conf.xml.sample +++ /dev/null @@ -1,6 +0,0 @@ - - -
- 58082 -
-
diff --git a/helm/graphs/tools/uriSetQueue.ml b/helm/graphs/tools/uriSetQueue.ml deleted file mode 100644 index 430275800..000000000 --- a/helm/graphs/tools/uriSetQueue.ml +++ /dev/null @@ -1,190 +0,0 @@ -(* Copyright (C) 2002, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -let debug = true;; -let debug_print s = if debug then prerr_endline s;; -Http_common.debug := debug;; - -open Printf;; - -let configuration_file = "/projects/helm/etc/uriSetQueue.conf.xml";; -let daemon_name = "Uri Set Queue";; - -module OrderedUri: Set.OrderedType with type t = string = - struct - type t = string - let compare = compare - end -module UriSet = Set.Make (OrderedUri) -type uri_queue = { - mutable size: int; - mutable overflowed: bool; - uris: string Queue.t; - mutable olduris: UriSet.t; -} - (** raised when a queue is accessed before being defined *) -exception Queue_not_found of int;; - (** global uri_queue, used by all children *) -let uri_queue = { - size = 0; overflowed = false; uris = Queue.create (); olduris = UriSet.empty -};; -let (get_queue, add_queue, remove_queue) = - let uri_queues = Hashtbl.create 17 in - ((fun pid -> (* get_queue *) - try - Hashtbl.find uri_queues pid - with Not_found -> raise (Queue_not_found pid)), - (fun pid size -> (* add_queue *) - Hashtbl.replace - uri_queues - pid - { size = size; overflowed = false; - uris = Queue.create (); olduris = UriSet.empty }), - (fun pid -> (* remove_queue *) - try - Hashtbl.remove uri_queues pid - with Not_found -> raise (Queue_not_found pid))) -;; - -exception Found;; -let queue_mem item queue = (* mem function over queues *) - try - Queue.iter (fun e -> if item = e then raise Found) queue; - false - with Found -> true -;; - -let callback (req: Http_types.request) outchan = - try - let res = new Http_response.response () in - res#addBasicHeaders; - res#setContentType "text/xml"; - (match req#path with - - | "/add_if_not_in" -> - let (uri, pid) = (req#param "uri", int_of_string (req#param "PID")) in - debug_print (sprintf "Adding uri '%s' to queue '%d'" uri pid); - let queue = get_queue pid in - let result = - if (Queue.length queue.uris) + (UriSet.cardinal queue.olduris) >= - queue.size - then - begin (* overflow! *) - queue.overflowed <- true; - debug_print "Answer: not_added_because_already_too_many"; - "not_added_because_already_too_many" - end else begin (* there's room for another uri *) - if (queue_mem uri queue.uris) || (UriSet.mem uri queue.olduris) - then - begin (* url already in *) - debug_print "Answer: already_in"; - "already_in" - end else begin (* uri not in *) - Queue.add uri queue.uris; - debug_print "Answer: added"; - "added" - end - end - in - res#setBody (sprintf "\n<%s/>\n" result); - if debug then res#serialize stderr; - Http_daemon.respond_with res outchan - - | "/is_overflowed" -> - let pid = int_of_string (req#param "PID") in - let queue = get_queue pid in - let result = string_of_bool (queue.overflowed) in - debug_print (sprintf "%d queue is_overflowed = %s" pid result); - res#setBody (sprintf "\n<%s/>\n" result); - if debug then res#serialize stderr; - Http_daemon.respond_with res outchan - - | "/set_uri_set_size" -> - let (pid, size) = - (int_of_string (req#param "PID"), int_of_string (req#param "size")) - in - debug_print (sprintf "Setting size '%d' for queue '%d'" size pid); - (try - let queue = get_queue pid in - queue.size <- size; - with Queue_not_found p -> - assert (p = pid); - add_queue pid size); - res#setBody "\n\n"; - if debug then res#serialize stderr; - Http_daemon.respond_with res outchan - - | "/get_next" -> - let pid = int_of_string (req#param "PID") in - debug_print (sprintf "Getting next uri from queue '%d'" pid); - let queue = get_queue pid in - let element = (* xml response's root element *) - try - let uri = Queue.take queue.uris in - queue.olduris <- UriSet.add uri queue.olduris; - sprintf - "<%suri value=\"%s\"/>" - (if queue.overflowed then "marked_" else "") - uri - with Queue.Empty -> "" - in - res#setBody ("\n" ^ element ^ "\n"); - if debug then res#serialize stderr; - Http_daemon.respond_with res outchan - - | "/reset_to_empty" -> - let pid = int_of_string (req#param "PID") in - remove_queue pid; - debug_print (sprintf "Resetting queue '%d'" pid); - res#setBody "\n\n"; - if debug then res#serialize stderr; - Http_daemon.respond_with res outchan - - | invalid_request -> - debug_print ("Invalid request received"); - Http_daemon.respond_error - ~code:(`Status (`Client_error `Bad_request)) outchan); - prerr_endline "Request done!\n" - with - | Http_types.Param_not_found attr_name -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - ~body:(sprintf "Parameter '%s' is missing" attr_name) - outchan - | Failure "int_of_string" -> (* error in converting some paramters *) - Http_daemon.respond_error - ~code:(`Status (`Client_error `Bad_request)) outchan - | Queue_not_found queue_name -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - ~body:(sprintf "Queue '%d' is not defined" queue_name) - outchan -in - -Helm_registry.load_from configuration_file; -let port = Helm_registry.get_int "uri_set_queue.port" in -printf "%s started and listening on port %d\n" daemon_name port; -flush stdout; -Http_daemon.start' ~port ~mode:`Thread callback; -printf "%s is terminating, bye!\n" daemon_name - diff --git a/helm/gtkmathview-bonobo/.cvsignore b/helm/gtkmathview-bonobo/.cvsignore deleted file mode 100644 index d4b698b3a..000000000 --- a/helm/gtkmathview-bonobo/.cvsignore +++ /dev/null @@ -1,18 +0,0 @@ -aclocal.m4 -config.h.in -Makefile.in -autom4te.cache -config.guess -config.sub -install-sh -mkinstalldirs -ltmain.sh -configure -depcomp -Makefile -config.h -config.log -config.status -libtool -stamp-h1 -gtkmathview-bonobo.pc diff --git a/helm/gtkmathview-bonobo/AUTHORS b/helm/gtkmathview-bonobo/AUTHORS deleted file mode 100644 index c4b11a9bd..000000000 --- a/helm/gtkmathview-bonobo/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Luca Padovani -Pouria Masoudi diff --git a/helm/gtkmathview-bonobo/ChangeLog b/helm/gtkmathview-bonobo/ChangeLog deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/gtkmathview-bonobo/LICENSE b/helm/gtkmathview-bonobo/LICENSE deleted file mode 100644 index d9bf0fad0..000000000 --- a/helm/gtkmathview-bonobo/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - diff --git a/helm/gtkmathview-bonobo/Makefile.am b/helm/gtkmathview-bonobo/Makefile.am deleted file mode 100644 index afa1ecdc2..000000000 --- a/helm/gtkmathview-bonobo/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -EXTRA_DIST = config.h.in -SUBDIRS = idl src test -CLEANFILES = core *.log *.eps - -pkgconfigdir = $(libdir)/pkgconfig -#pkgconfig_DATA=gtkmathview-bonobo.pc - -backup: - tar cvfz ../@PACKAGE@-@VERSION@-`date|tr ' ' '_'|tr ':' '_'`.tar.gz . - -cleanbak: - -rm -f `find . -name "*~"` - -lc: - @( \ - CFILES=`find . -name "*.c"`; \ - HFILES=`find . -name "*.h"`; \ - wc -l $$CFILES $$HFILES | tail -n 1 \ - ) - diff --git a/helm/gtkmathview-bonobo/NEWS b/helm/gtkmathview-bonobo/NEWS deleted file mode 100644 index bbb294549..000000000 --- a/helm/gtkmathview-bonobo/NEWS +++ /dev/null @@ -1,5 +0,0 @@ - -Tue, 15 Jul 2003 15:56:54 +0200 - - o The project formally starts - diff --git a/helm/gtkmathview-bonobo/README b/helm/gtkmathview-bonobo/README deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/gtkmathview-bonobo/TODO b/helm/gtkmathview-bonobo/TODO deleted file mode 100644 index 8f1032a0c..000000000 --- a/helm/gtkmathview-bonobo/TODO +++ /dev/null @@ -1,21 +0,0 @@ - -* remove shadow from plugin. This causes the plugin window to be dirty, - find out why - -* disable double buffering for the plugin with GTK+ API? - -* remove black border in upper and left corners of the plugin window - -* try to implement size negotiations with the plugin that sends javascript - to the browser. - -* access object's attribute and children. Jean claims he does - this already, but the code seems to access GLib properties only, - no external params - -* implement a size negotiation mechanism from the plugin using - javascript. The plugin understands its ID from the object element, - calculates the size and sends a URL with a javascript call to a function - that sets width, height attributes of the object element - - diff --git a/helm/gtkmathview-bonobo/configure.ac b/helm/gtkmathview-bonobo/configure.ac deleted file mode 100644 index e30b55212..000000000 --- a/helm/gtkmathview-bonobo/configure.ac +++ /dev/null @@ -1,112 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(gtkmathview-bonobo, [0.0.3]) -AC_CONFIG_SRCDIR(src/GNOME_GtkMathView.server.in.in) -AM_INIT_AUTOMAKE($AC_PACKAGE_NAME, $AC_PACKAGE_VERSION) - -PACKAGE=$PACKAGE_NAME -VERSION=$PACKAGE_VERSION -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) - -GTKMATHVIEW_CONTROL_VERSION_INFO=`echo $VERSION | awk -F. '{ printf "%d:%d:%d", $1+$2, $3, $2 }'` -AC_SUBST(GTKMATHVIEW_CONTROL_VERSION_INFO) - -GTKMATHVIEW_API_VERSION="1.0" -AC_SUBST(GTKMATHVIEW_API_VERSION) -AC_DEFINE_UNQUOTED(MATH_VIEW_API_VERSION, "$GTKMATHVIEW_API_VERSION", [Version number of the API implemented]) - -AC_ARG_ENABLE( - profile, - [ --enable-profile[=ARG] include profiling information [default=no]], - profile=$enableval, - profile=no -) - -AC_ARG_ENABLE( - debug, - [ --enable-debug[=ARG] include debugging debug [default=yes]], - enable_debug=$enableval, - enable_debug=yes -) - -if test "x$enable_debug" = "xyes"; then - AC_DEFINE(ENABLE_DEBUG,,[Define to 1 if you want to enable validity checks while running]) -fi - -dnl AC_CONFIG_HEADERS([config.h]) -AM_CONFIG_HEADER(config.h) - -AH_TOP([ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef config_h -#define config_h -]) - -AH_BOTTOM([ -#endif /* config_h */ -]) - -AC_PROG_CC -AC_PROG_CXX -AC_PROG_INSTALL -AC_HEADER_STDC([]) - -AC_SUBST(CFLAGS) -AC_SUBST(CPPFLAGS) -AC_SUBST(LDFLAGS) - -AM_PROG_LIBTOOL - -PKG_CHECK_MODULES(GTKMATHVIEW, gtkmathview >= 0.5.1) -AC_SUBST(GTKMATHVIEW_CFLAGS) -AC_SUBST(GTKMATHVIEW_LIBS) - -PKG_CHECK_MODULES(BONOBO, libbonobo-2.0) -AC_SUBST(BONOBO_CFLAGS) -AC_SUBST(BONOBO_LIBS) - -PKG_CHECK_MODULES(BONOBOUI, libbonoboui-2.0) -AC_SUBST(BONOBOUI_CFLAGS) -AC_SUBST(BONOBOUI_LIBS) - -PKG_CHECK_MODULES(GNOMEUI, libgnomeui-2.0) -AC_SUBST(GNOMEUI_CFLAGS) -AC_SUBST(GNOMEUI_LIBS) - -ORBIT_IDL="`$PKG_CONFIG --variable=orbit_idl ORBit-2.0`" -AC_SUBST(ORBIT_IDL) - -BONOBO_IDL_INCLUDES="-I`$PKG_CONFIG --variable=idldir libbonobo-2.0` -I`$PKG_CONFIG --variable=idldir bonobo-activation-2.0`" -AC_SUBST(BONOBO_IDL_INCLUDES) - -AC_CONFIG_FILES([ - Makefile - gtkmathview-bonobo.pc - idl/Makefile - src/Makefile - src/GNOME_GtkMathView.server.in - test/Makefile -]) -AC_OUTPUT diff --git a/helm/gtkmathview-bonobo/gtkmathview-bonobo.pc.in b/helm/gtkmathview-bonobo/gtkmathview-bonobo.pc.in deleted file mode 100644 index aa9499612..000000000 --- a/helm/gtkmathview-bonobo/gtkmathview-bonobo.pc.in +++ /dev/null @@ -1,14 +0,0 @@ -# This is a comment -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ -datadir=@datadir@ - -Name: GtkMathView-Bonobo -Description: Bonobo interfaces for GtkMathView -Version: @VERSION@ -Requires: gtkmathview libbonoboui-2.0 -Libs: @DOM_LIBS@ -L${libdir} -lgtkmathview-bonobo -Cflags: @DOM_CFLAGS@ -I${includedir}/@PACKAGE@ - diff --git a/helm/gtkmathview-bonobo/idl/.cvsignore b/helm/gtkmathview-bonobo/idl/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/helm/gtkmathview-bonobo/idl/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/helm/gtkmathview-bonobo/idl/GtkMathView.idl b/helm/gtkmathview-bonobo/idl/GtkMathView.idl deleted file mode 100644 index 307c166c1..000000000 --- a/helm/gtkmathview-bonobo/idl/GtkMathView.idl +++ /dev/null @@ -1,105 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -module GNOME { - - module GtkMathView { - - typedef string element_id; - - interface View : Bonobo::Unknown { - - /** - * load: - * @uri: URI of a MathML document - * - * Loads the document at the specified URI in the component - * and displays it. If the load is successful returns @TRUE, - * @FALSE otherwise. - */ - boolean load (in string uri); - - /** - * unload: - * - * Unload any loaded document from the component - */ - void unload (); - - /** - * freeze: - * - * Freezes the component. Any modification to the document is - * not reflected by the view. - */ - void freeze (); - - /** - * thaw: - * - * Thaws the component. If the document was changed while the - * component was frozen, the view is updated. - */ - void thaw (); - - void setIdAttribute (in string ns, in string name); - void getIdAttribute (out string ns, out string name); - - void select (in element_id elem); - void unselect (in element_id elem); - boolean isSelected (in element_id elem); - - boolean elementCoords (in element_id elem, - out short x, out short y); - /** - * elementRectangle: - * @elem: ID of the element - * @x: x coordinate of the element - * @y: y coordinate of the element - * @width: width of the element - * @height: height of the element - * - * Returns the position and the size of the rectangle includes @elem - */ - boolean elementBoundingBox (in element_id elem, - out short width, out short height, out short depth); - - void getSize (out short width, out short height); - - void getTop (out short x, out short y); - void setTop (in short x, in short y); - - void setDefaultFontSize (in short size); - short getDefaultFontSize (); - - void setVerbosity (in short level); - short getVerbosity (); - - }; - - }; - -}; - diff --git a/helm/gtkmathview-bonobo/idl/Makefile.am b/helm/gtkmathview-bonobo/idl/Makefile.am deleted file mode 100644 index 14555d1e3..000000000 --- a/helm/gtkmathview-bonobo/idl/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ - -idldir = $(datadir)/idl/bonobo-2.0 -idl_DATA = GtkMathView.idl - -EXTRA_DIST = $(idl_DATA) diff --git a/helm/gtkmathview-bonobo/src/.cvsignore b/helm/gtkmathview-bonobo/src/.cvsignore deleted file mode 100644 index 7bac46e25..000000000 --- a/helm/gtkmathview-bonobo/src/.cvsignore +++ /dev/null @@ -1,21 +0,0 @@ -.deps -.libs -GNOME_GtkMathView.server -GNOME_GtkMathView.server.in -Makefile -Makefile.in -libgtkmathview-bonobo.la -control-factory.lo -control-data.lo -view.lo -aux.lo -handlers.lo -persist-file.lo -persist-stream.lo -GtkMathView-common.c -GtkMathView-common.lo -GtkMathView-skels.c -GtkMathView-skels.lo -GtkMathView-stubs.c -GtkMathView-stubs.lo -GtkMathView.h diff --git a/helm/gtkmathview-bonobo/src/GNOME_GtkMathView.server.in.in b/helm/gtkmathview-bonobo/src/GNOME_GtkMathView.server.in.in deleted file mode 100644 index 957c40004..000000000 --- a/helm/gtkmathview-bonobo/src/GNOME_GtkMathView.server.in.in +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/gtkmathview-bonobo/src/Makefile.am b/helm/gtkmathview-bonobo/src/Makefile.am deleted file mode 100644 index 92e6a9690..000000000 --- a/helm/gtkmathview-bonobo/src/Makefile.am +++ /dev/null @@ -1,68 +0,0 @@ - -location = $(libdir)/libgtkmathview-bonobo.so -serverdir = $(libdir)/bonobo/servers -server_in_files = GNOME_GtkMathView.server.in.in - -IDL = $(top_srcdir)/idl/GtkMathView.idl - -IDL_GENERATED_C = \ - GtkMathView-common.c \ - GtkMathView-skels.c \ - GtkMathView-stubs.c - -IDL_GENERATED_H = \ - GtkMathView.h - -IDL_GENERATED = $(IDL_GENERATED_C) $(IDL_GENERATED_H) - -CLEANFILES = \ - $(server_in_files:.server.in.in=.server) \ - $(IDL_GENERATED) - -lib_LTLIBRARIES = libgtkmathview-bonobo.la - -libgtkmathview_bonobo_la_LIBADD = \ - $(GTKMATHVIEW_LIBS) \ - $(BONOBOUI_LIBS) \ - $(BONOBO_LIBS) - -libgtkmathview_bonobo_la_LDFLAGS = -version-info @GTKMATHVIEW_CONTROL_VERSION_INFO@ - -libgtkmathview_bonobo_la_SOURCES = \ - $(IDL_GENERATED_C) \ - control-data.c \ - control-factory.c \ - persist-file.c \ - persist-stream.c \ - aux.cc \ - handlers.c \ - view.c - -noinst_HEADERS = \ - control-data.h \ - control-factory.h \ - persist-file.h \ - persist-stream.h \ - handlers.h \ - view.h \ - aux.h - -pkginclude_HEADERS = \ - $(IDL_GENERATED_H) - -server_DATA = $(server_in_files:.server.in.in=.server) -$(server_in_files:.server.in.in=.server): $(server_in_files:.server.in.in=.server.in) Makefile - sed -e "s|\@GTKMATHVIEW_FACTORY_LOCATION\@|$(location)|g" $< >$@ - -view.c : $(VIEW_CORBA_GENERATED) - -$(IDL_GENERATED): $(IDL) - $(ORBIT_IDL) $(BONOBO_IDL_INCLUDES) $< - -EXTRA_DIST = $(server_DATA) - -INCLUDES = \ - $(BONOBOUI_CFLAGS) \ - $(BONOBO_CFLAGS) \ - $(GTKMATHVIEW_CFLAGS) - diff --git a/helm/gtkmathview-bonobo/src/aux.cc b/helm/gtkmathview-bonobo/src/aux.cc deleted file mode 100644 index 4ef531239..000000000 --- a/helm/gtkmathview-bonobo/src/aux.cc +++ /dev/null @@ -1,302 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -#include - -#include - -#include -#include - -#include - -#include "aux.h" - -#define MATHML_NS_URI "http://www.w3.org/1998/Math/MathML" - -namespace DOM = GdomeSmartDOM; - -static DOM::Element -findElementById(const DOM::Element& el, - const DOM::GdomeString& ns, const DOM::GdomeString& name, - const DOM::GdomeString& id) -{ - assert(el); - if (el.getAttributeNS(ns, name) == id) - return el; - else - for (DOM::Node p = el.get_firstChild(); p; p = p.get_nextSibling()) - if (p.get_nodeType() == DOM::Node::ELEMENT_NODE) - if (DOM::Element res = findElementById(p, ns, name, id)) - return res; - return DOM::Element(); -} - -static unsigned -getDepth(const DOM::Element& elem) -{ - unsigned length = 0; - DOM::Element p = elem; - - while (p) - { - p = p.get_parentNode(); - length++; - } - - return length; -} - -static DOM::Element -findCommonAncestor(const DOM::Element& first, const DOM::Element& last) -{ - if (!first || !last) return DOM::Element(0); - - DOM::Element p(first); - DOM::Element q(last); - - if (p != q) - { - unsigned pDepth = getDepth(p); - unsigned qDepth = getDepth(q); - - while (p && pDepth > qDepth) - { - p = p.get_parentNode(); - pDepth--; - } - - while (q && qDepth > pDepth) - { - q = q.get_parentNode(); - qDepth--; - } - - assert(pDepth == qDepth); - - while (p && q && p != q) - { - p = p.get_parentNode(); - q = q.get_parentNode(); - } - } - - return p; -} - -static void -findCommonSiblings(const DOM::Element& first, const DOM::Element& last, - DOM::Element& firstS, DOM::Element& lastS) -{ - DOM::Element p(first); - DOM::Element q(last); - - if (p != q) - { - unsigned pDepth = getDepth(p); - unsigned qDepth = getDepth(q); - - while (p && pDepth > qDepth) - { - p = p.get_parentNode(); - pDepth--; - } - - while (q && qDepth > pDepth) - { - q = q.get_parentNode(); - qDepth--; - } - - assert(pDepth == qDepth); - - while (p && q && p.get_parentNode() != q.get_parentNode()) - { - p = p.get_parentNode(); - q = q.get_parentNode(); - } - } - - firstS = p; - lastS = q; -} - -static DOM::Node -leftmostChild(const DOM::Node& node) -{ - if (!node) return node; - - DOM::Node firstChild = node.get_firstChild(); - if (!firstChild) return node; - - return leftmostChild(firstChild); -} - -static DOM::Node -rightmostChild(const DOM::Node& node) -{ - if (!node) return node; - - DOM::Node lastChild = node.get_lastChild(); - if (!lastChild) return node; - - return rightmostChild(lastChild); -} - -static DOM::Node -leftSibling(const DOM::Node& node) -{ - DOM::Node p = node; - - if (!p) return p; - - while (p.get_parentNode() && p.get_parentNode().get_firstChild() == p) - p = p.get_parentNode(); - - if (!p.get_parentNode()) return DOM::Node(0); - - DOM::Node prevSibling = p.get_previousSibling(); - assert(prevSibling); - - return rightmostChild(prevSibling); -} - -static DOM::Node -rightSibling(const DOM::Node& node) -{ - DOM::Node p = node; - - if (!p) return p; - - DOM::Node firstChild = p.get_firstChild(); - if (firstChild) return firstChild; - - while (p.get_parentNode() && p.get_parentNode().get_lastChild() == p) - p = p.get_parentNode(); - - if (!p.get_parentNode()) return DOM::Node(0); - - DOM::Node nextSibling = p.get_nextSibling(); - assert(nextSibling); - - return leftmostChild(nextSibling); -} - -extern "C" GdomeElement* -find_common_ancestor(GdomeElement* first, GdomeElement* last) -{ - DOM::Element p(first); - DOM::Element q(last); - return gdome_cast_el(findCommonAncestor(p, q).gdome_object()); -} - -extern "C" GdomeElement* -find_self_or_ancestor(GdomeElement* elem, const gchar* uri, const gchar* name) -{ - DOM::Element el(elem); - - while (el && (el.get_namespaceURI() != uri || el.get_localName() != name)) - el = el.get_parentNode(); - - return gdome_cast_el(el.gdome_object()); -} - -extern "C" void -action_toggle(GdomeElement* elem) -{ - DOM::Element el(elem); - if (el.get_namespaceURI() != MATHML_NS_URI || el.get_localName() != "maction") return; - - guint idx; - if (el.hasAttribute("selection")) - idx = atoi(std::string(el.getAttribute("selection")).c_str()); - else idx = 1; - - idx++; - - std::ostringstream os; - os << idx; - el.setAttribute("selection", os.str()); -} - -extern "C" void -find_common_siblings(GdomeElement* first, GdomeElement* last, - GdomeElement** firstS, GdomeElement** lastS) -{ - DOM::Element fs(0); - DOM::Element ls(0); - - findCommonSiblings(DOM::Element(first), DOM::Element(last), fs, ls); - - if (firstS != NULL) *firstS = gdome_cast_el(fs.gdome_object()); - if (lastS != NULL) *lastS = gdome_cast_el(ls.gdome_object()); -} - -static DOM::Element -findElementWithAttribute(const DOM::Element& elem, const std::string& name) -{ - DOM::Element el(elem); - while (el && !el.hasAttribute(name)) el = el.get_parentNode(); - return el; -} - -static DOM::Element -findElementWithAttributeNS(const DOM::Element& elem, const std::string& ns_uri, const std::string& name) -{ - DOM::Element el(elem); - while (el && !el.hasAttributeNS(ns_uri, name)) el = el.get_parentNode(); - return el; -} - -extern "C" GdomeElement* -find_element_with_id(GdomeElement* elem, GdomeDOMString* ns_uri, GdomeDOMString* name) -{ - assert(name != NULL); - DOM::Element el; - if (ns_uri != NULL) - el = findElementWithAttributeNS(DOM::Element(elem), DOM::GdomeString(ns_uri), DOM::GdomeString(name)); - else - el = findElementWithAttribute(DOM::Element(elem), DOM::GdomeString(name)); - return gdome_cast_el(el.gdome_object()); -} - -extern "C" GdomeDOMString* -find_hyperlink(GdomeElement* elem) -{ - DOM::Element el = findElementWithAttribute(DOM::Element(elem),"href"); - if (el) return el.getAttribute("href").gdome_str(); - else return NULL; -} - -extern "C" GdomeElement* -find_element_by_id(GdomeElement* root, GdomeDOMString* ns_uri, GdomeDOMString* name, - const gchar* id) -{ - DOM::Element el = findElementById(DOM::Element(root), - DOM::GdomeString(ns_uri), DOM::GdomeString(name), - DOM::GdomeString(id)); - return gdome_cast_el(el.gdome_object()); -} - diff --git a/helm/gtkmathview-bonobo/src/aux.h b/helm/gtkmathview-bonobo/src/aux.h deleted file mode 100644 index e7cedd2cd..000000000 --- a/helm/gtkmathview-bonobo/src/aux.h +++ /dev/null @@ -1,46 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef __aux_h__ -#define __aux_h__ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - - void action_toggle(GdomeElement*); - GdomeElement* find_common_ancestor(GdomeElement*, GdomeElement*); - GdomeElement* find_self_or_ancestor(GdomeElement*, const gchar*, const gchar*); - GdomeElement* find_element_with_id(GdomeElement*, GdomeDOMString*, GdomeDOMString*); - GdomeDOMString* find_hyperlink(GdomeElement*); - GdomeElement* find_element_by_id(GdomeElement*, GdomeDOMString*, GdomeDOMString*, - const gchar*); - -#ifdef __cplusplus -} -#endif - -#endif // __aux_h__ - diff --git a/helm/gtkmathview-bonobo/src/control-data.c b/helm/gtkmathview-bonobo/src/control-data.c deleted file mode 100644 index d97d0fd2f..000000000 --- a/helm/gtkmathview-bonobo/src/control-data.c +++ /dev/null @@ -1,138 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -#include - -#include "control-data.h" - -GtkMathViewControlData* -gtk_math_view_control_data_new(BonoboControl* control, GtkMathView *math_view) -{ - GtkMathViewControlData *cd = g_new(GtkMathViewControlData,1); - cd->control = control; /* we don't ref the control this is a weak pointer */ - cd->math_view = math_view; - gtk_widget_ref(GTK_WIDGET(math_view)); - cd->item_factory = NULL; - cd->semantic_selection = FALSE; - cd->first_selected = NULL; - cd->root_selected = NULL; - cd->id_ns_uri = gdome_str_mkref("http://www.cs.unibo.it/helm"); - cd->id_name = gdome_str_mkref("xref"); - cd->x = cd->y = 0; - return cd; -} - -void -gtk_math_view_control_data_destroy(GtkMathViewControlData* cd) -{ - GdomeException exc = 0; - cd->control = NULL; /* don't unref the control, see above */ - gtk_widget_unref(GTK_WIDGET(cd->math_view)); - cd->math_view = NULL; - if (cd->item_factory != NULL) - { - gtk_object_unref(cd->item_factory); - cd->item_factory = NULL; - } - if (cd->first_selected != NULL) - { - gdome_el_unref(cd->first_selected, &exc); - g_assert(exc == 0); - cd->first_selected = NULL; - } - if (cd->root_selected != NULL) - { - gdome_el_unref(cd->root_selected, &exc); - g_assert(exc == 0); - cd->root_selected = NULL; - } - if (cd->id_ns_uri != NULL) - { - gdome_str_unref(cd->id_ns_uri); - cd->id_ns_uri = NULL; - } - if (cd->id_name != NULL) - { - gdome_str_unref(cd->id_name); - cd->id_name = NULL; - } - g_free(cd); -} - -gchar* -gtk_math_view_control_data_get_id_ns_uri(GtkMathViewControlData* cd) -{ - g_return_val_if_fail(cd != NULL, NULL); - return (cd->id_ns_uri != NULL) ? g_strdup(cd->id_ns_uri->str) : NULL; -} - -void -gtk_math_view_control_data_set_id_ns_uri(GtkMathViewControlData* cd, const gchar* ns_uri) -{ - g_return_if_fail(cd != NULL); - if (cd->id_ns_uri != NULL) gdome_str_unref(cd->id_ns_uri); - cd->id_ns_uri = (ns_uri != NULL) ? gdome_str_mkref_dup(ns_uri) : NULL; -} - -gchar* -gtk_math_view_control_data_get_id_name(GtkMathViewControlData* cd) -{ - g_return_val_if_fail(cd != NULL, NULL); - return (cd->id_name != NULL) ? g_strdup(cd->id_name->str) : NULL; -} - -void -gtk_math_view_control_data_set_id_name(GtkMathViewControlData* cd, const gchar* name) -{ - g_return_if_fail(cd != NULL); - if (cd->id_name != NULL) gdome_str_unref(cd->id_name); - cd->id_name = (name != NULL) ? gdome_str_mkref_dup(name) : NULL; -} - -void -gtk_math_view_control_data_set_root_selected(GtkMathViewControlData* cd, GdomeElement* elem) -{ - g_return_if_fail(cd != NULL); - GdomeException exc = 0; - - gtk_math_view_freeze(cd->math_view); - - if (cd->root_selected != NULL) - { - gtk_math_view_unselect(cd->math_view, cd->root_selected); - gdome_el_unref(cd->root_selected, &exc); - g_assert(exc == 0); - } - - cd->root_selected = elem; - if (cd->root_selected != NULL) - { - gdome_el_ref(cd->root_selected, &exc); - g_assert(exc == 0); - gtk_math_view_select(cd->math_view, cd->root_selected); - } - - gtk_math_view_thaw(cd->math_view); -} diff --git a/helm/gtkmathview-bonobo/src/control-data.h b/helm/gtkmathview-bonobo/src/control-data.h deleted file mode 100644 index 46bc6cef7..000000000 --- a/helm/gtkmathview-bonobo/src/control-data.h +++ /dev/null @@ -1,53 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef __control_data_h__ -#define __control_data_h__ - -#include -#include -#include - -typedef struct _GtkMathViewControlData -{ - BonoboControl* control; /* the control this data belongs to */ - GtkMathView* math_view; - GtkWidget* item_factory; - gboolean semantic_selection; - GdomeElement* first_selected; - GdomeElement* root_selected; - GdomeDOMString* id_ns_uri; - GdomeDOMString* id_name; - gint x; - gint y; -} GtkMathViewControlData; - -GtkMathViewControlData* gtk_math_view_control_data_new(BonoboControl*, GtkMathView*); -void gtk_math_view_control_data_destroy(GtkMathViewControlData*); -gchar* gtk_math_view_control_data_get_id_ns_uri(GtkMathViewControlData*); -void gtk_math_view_control_data_set_id_ns_uri(GtkMathViewControlData*, const gchar*); -gchar* gtk_math_view_control_data_get_id_name(GtkMathViewControlData*); -void gtk_math_view_control_data_set_id_name(GtkMathViewControlData*, const gchar*); -void gtk_math_view_control_data_set_root_selected(GtkMathViewControlData*, GdomeElement*); - -#endif // __control_data_h__ diff --git a/helm/gtkmathview-bonobo/src/control-factory.c b/helm/gtkmathview-bonobo/src/control-factory.c deleted file mode 100644 index 6d90bef3d..000000000 --- a/helm/gtkmathview-bonobo/src/control-factory.c +++ /dev/null @@ -1,431 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -#include -#include -#include - -#include "control-factory.h" -#include "control-data.h" -#include "persist-file.h" -#include "persist-stream.h" -#include "handlers.h" -#include "view.h" - -enum - { - MATH_VIEW_WIDTH, - MATH_VIEW_HEIGHT, - MATH_VIEW_TOP_X, - MATH_VIEW_TOP_Y, - MATH_VIEW_FONT_SIZE, - MATH_VIEW_VERBOSITY, - MATH_VIEW_ID_NS_URI, - MATH_VIEW_ID_NAME - } math_args; - -static void -activate_maction(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ - GdomeElement* elem; - - g_return_if_fail(control_data != NULL); - - elem = gtk_math_view_get_element_at(control_data->math_view, control_data->x, control_data->y); - if (elem != NULL) - { - GdomeException exc = 0; - GdomeElement* action = find_self_or_ancestor(elem, MATHML_NS_URI, "maction"); - if (action != NULL) - { - gtk_math_view_freeze(control_data->math_view); - action_toggle(action); - gtk_math_view_thaw(control_data->math_view); - gdome_el_unref(action, &exc); - g_assert(exc == 0); - } - gdome_el_unref(elem, &exc); - g_assert(exc == 0); - } -} - -static void -copy_link_address(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ -} - -static void -zoom_in(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ - g_return_if_fail(control_data != NULL); - guint old_font_size = gtk_math_view_get_font_size(control_data->math_view); - gtk_math_view_set_font_size(control_data->math_view, old_font_size + 1); -} - -static void -zoom_out(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ - g_return_if_fail(control_data != NULL); - guint old_font_size = gtk_math_view_get_font_size(control_data->math_view); - gtk_math_view_set_font_size(control_data->math_view, old_font_size - 1); -} - -static void -switch_semantic_selection(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ - g_return_if_fail(control_data != NULL); - control_data->semantic_selection = !control_data->semantic_selection; - if (control_data->semantic_selection) - { - GdomeElement* elem = find_element_with_id(control_data->root_selected, - control_data->id_ns_uri, - control_data->id_name); - } -} - -/* -static void -copy_selected_markup(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ - gchar* res = copy_markup(control_data->root_selected); - if (res != NULL) - { - set_clipboard(res); - g_free(res); - } -} -*/ - -static void -copy_selected_id(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ -} - -static void -select_parent(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ - g_return_if_fail(control_data != NULL); - if (control_data->root_selected != NULL) - { - GdomeException exc = 0; - GdomeNode* parent_node = gdome_el_parentNode(control_data->root_selected, &exc); - g_assert(parent_node != NULL); - g_assert(exc == 0); - GdomeElement* parent = gdome_cast_el(parent_node); - gtk_math_view_control_data_set_root_selected(control_data, parent); - gdome_n_unref(parent_node, &exc); - g_assert(exc == 0); - } -} - -static void -deselect(GtkMathViewControlData* control_data, guint action, GtkWidget* widget) -{ - g_return_if_fail(control_data != NULL); - - if (control_data->root_selected != NULL) - { - gtk_math_view_unselect(control_data->math_view, control_data->root_selected); - control_data->root_selected = NULL; - } -} - -/* Our menu, an array of GtkItemFactoryEntry structures that defines each menu item */ -static GtkItemFactoryEntry menu_items[] = { - { "/Activate ", NULL, activate_maction, 0, "", GTK_STOCK_EXECUTE }, - { "/Copy Link Address", NULL, copy_link_address, 0, "", GTK_STOCK_COPY }, - /* { "/Jump To", NULL, NULL, 0, "", GTK_STOCK_JUMP_TO }, */ - { "/sep1", NULL, NULL, 0, "" }, - /* { "/Semantic Selection", NULL, switch_semantic_selection, 0, "" }, */ - /* { "/Copy Selected Markup", NULL, copy_selected_markup, 0, "" }, */ - /* { "/Copy Id", NULL, copy_selected_id, 0, "" }, */ - /* { "/Show Selected", NULL, NULL, 0, "" }, */ - { "/Select Parent", NULL, select_parent, 0, "" }, - { "/De-Select", NULL, deselect, 0, "", GTK_STOCK_CLEAR }, - { "/sep2", NULL, NULL, 0, "" }, - { "/Smaller", NULL, zoom_out, 0, "", GTK_STOCK_ZOOM_OUT }, - { "/Bigger", NULL, zoom_in, 0, "", GTK_STOCK_ZOOM_IN }, - /* { "/Properties...", NULL, NULL, 0, "", GTK_STOCK_PROPERTIES }, */ -}; - -static gint nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]); - -void -button_pressed_cb(GtkMathView* math_view, GdkEventButton* event, GtkMathViewControlData* control_data) -{ - g_return_if_fail(math_view != NULL); - g_return_if_fail(event != NULL); - g_return_if_fail(control_data != NULL); - - if (event->button == 3) - { -#if 0 - gtk_menu_popup (GTK_MENU(control_data->popup_menu), NULL, NULL, - NULL, event, event->button, event->time); -#endif - control_data->x = (gint) event->x; - control_data->y = (gint) event->y; - printf("data %d %d\n", control_data->x, control_data->y); - - gtk_item_factory_popup_with_data(control_data->item_factory, - NULL, NULL, event->x_root, event->y_root, - event->button, gtk_get_current_event_time()); - } -} - - -static void -get_prop(BonoboPropertyBag* bag, - BonoboArg* arg, - guint arg_id, - CORBA_Environment *ev, - gpointer user_data) -{ - GtkMathViewControlData* control_data = user_data; - g_assert(control_data != NULL); - - switch (arg_id) - { - case MATH_VIEW_WIDTH: - BONOBO_ARG_SET_INT(arg, gtk_math_view_get_width(control_data->math_view)); - break; - case MATH_VIEW_HEIGHT: - BONOBO_ARG_SET_INT(arg, gtk_math_view_get_height(control_data->math_view)); - break; - case MATH_VIEW_TOP_X: - { - guint top_x; - gtk_math_view_get_top(control_data->math_view, &top_x, NULL); - BONOBO_ARG_SET_INT(arg, top_x); - } - break; - case MATH_VIEW_TOP_Y: - { - guint top_y; - gtk_math_view_get_top(control_data->math_view, NULL, &top_y); - BONOBO_ARG_SET_INT(arg, top_y); - } - break; - case MATH_VIEW_FONT_SIZE: - BONOBO_ARG_SET_INT(arg, gtk_math_view_get_font_size(control_data->math_view)); - break; - case MATH_VIEW_VERBOSITY: - BONOBO_ARG_SET_INT(arg, gtk_math_view_get_log_verbosity(control_data->math_view)); - break; - case MATH_VIEW_ID_NS_URI: - { - gchar* id_ns_uri = gtk_math_view_control_data_get_id_ns_uri(control_data); - BONOBO_ARG_SET_STRING(arg, id_ns_uri); - g_free(id_ns_uri); - } - break; - case MATH_VIEW_ID_NAME: - { - gchar* id_name = gtk_math_view_control_data_get_id_name(control_data); - BONOBO_ARG_SET_STRING(arg, id_name); - g_free(id_name); - } - break; - default: - bonobo_exception_set (ev, ex_Bonobo_PropertyBag_NotFound); - break; - } -} - -static void -set_prop(BonoboPropertyBag* bag, - const BonoboArg* arg, - guint arg_id, - CORBA_Environment* ev, - gpointer user_data) -{ - GtkMathViewControlData *control_data = user_data; - g_assert(control_data != NULL); - - switch (arg_id) - { - case MATH_VIEW_TOP_X: - { - guint old_top_y; - gtk_math_view_get_top(control_data->math_view, NULL, &old_top_y); - gtk_math_view_set_top(control_data->math_view, BONOBO_ARG_GET_INT(arg), old_top_y); - } - break; - case MATH_VIEW_TOP_Y: - { - guint old_top_x; - gtk_math_view_get_top(control_data->math_view, &old_top_x, NULL); - gtk_math_view_set_top(control_data->math_view, BONOBO_ARG_GET_INT(arg), old_top_x); - } - break; - case MATH_VIEW_FONT_SIZE: - gtk_math_view_set_font_size(control_data->math_view, BONOBO_ARG_GET_INT(arg)); - break; - case MATH_VIEW_VERBOSITY: - gtk_math_view_set_log_verbosity(control_data->math_view, BONOBO_ARG_GET_INT(arg)); - break; - case MATH_VIEW_ID_NS_URI: - gtk_math_view_control_data_set_id_ns_uri(control_data, BONOBO_ARG_GET_STRING(arg)); - break; - case MATH_VIEW_ID_NAME: - gtk_math_view_control_data_set_id_name(control_data, BONOBO_ARG_GET_STRING(arg)); - break; - default: - bonobo_exception_set (ev, ex_Bonobo_PropertyBag_NotFound); - break; - } -} - -static void -control_destroy(BonoboObject *object, GtkMathViewControlData *cd) -{ - gtk_math_view_control_data_destroy(cd); -} - -static void -gtk_math_view_control_init(BonoboControl *control, GtkWidget *scrolled_window) -{ - GtkMathViewControlData *control_data; - GtkWidget *math_view; - GtkItemFactory *item_factory; - - Bonobo_UIContainer remote_ui_container; - BonoboUIComponent *ui_component; - - BonoboPropertyBag *prop_bag; - BonoboObject *persist_file; - BonoboObject *persist_stream; - BonoboEventSource *evs; - View* view; - - math_view = gtk_math_view_new(NULL,NULL); - gtk_widget_show(math_view); - - control_data = gtk_math_view_control_data_new(control, (GtkMathView*)math_view); - - g_signal_connect (control, "destroy", G_CALLBACK (control_destroy), control_data); - - /* Same as before but don't bother with the accelerators */ - control_data->item_factory = gtk_item_factory_new (GTK_TYPE_MENU, "
", NULL); - gtk_item_factory_create_items (control_data->item_factory, nmenu_items, menu_items, control_data); - /* control_data->popup_menu = gtk_item_factory_get_widget (control_data->item_factory, "
"); */ - /* gtk_widget_ref(control_data->popup_menu); */ - - evs = bonobo_event_source_new(); - bonobo_object_add_interface(BONOBO_OBJECT(control), BONOBO_OBJECT(evs)); - - gtk_container_add(GTK_CONTAINER (scrolled_window), GTK_WIDGET (control_data->math_view)); - - view = view_new(control_data); - bonobo_object_add_interface(BONOBO_OBJECT(control), BONOBO_OBJECT(view)); - - persist_file = gtk_math_view_persist_file_new(GTK_MATH_VIEW(math_view)); - bonobo_object_add_interface(BONOBO_OBJECT(control), persist_file); - - persist_stream = gtk_math_view_persist_stream_new(GTK_MATH_VIEW(math_view)); - bonobo_object_add_interface(BONOBO_OBJECT(control), persist_stream); - - prop_bag = bonobo_property_bag_new(get_prop, set_prop, control_data); - bonobo_control_set_properties(control, BONOBO_OBJREF(prop_bag), NULL); - - bonobo_property_bag_add(prop_bag, "width", - MATH_VIEW_WIDTH, BONOBO_ARG_INT, - NULL, - "Width of the view", 0); - bonobo_property_bag_add(prop_bag, "height", - MATH_VIEW_HEIGHT, BONOBO_ARG_INT, - NULL, - "Height of the view", 0); - bonobo_property_bag_add(prop_bag, "top-x", - MATH_VIEW_TOP_X, BONOBO_ARG_INT, - NULL, - "X coordinate of the top-left corner", 0); - bonobo_property_bag_add(prop_bag, "top-y", - MATH_VIEW_TOP_Y, BONOBO_ARG_INT, - NULL, - "Y coordinate of the top-left corner", 0); - bonobo_property_bag_add(prop_bag, "font-size", - MATH_VIEW_FONT_SIZE, BONOBO_ARG_INT, - NULL, - "Default font size", 0); - bonobo_property_bag_add(prop_bag,"verbosity", - MATH_VIEW_VERBOSITY, BONOBO_ARG_INT, - NULL, - "Verbosity level", 0); - bonobo_property_bag_add(prop_bag, "id-ns-uri", - MATH_VIEW_ID_NS_URI, BONOBO_ARG_STRING, - NULL, - "Namespace URI of ID attribute", 0); - bonobo_property_bag_add(prop_bag, "id-name", - MATH_VIEW_ID_NAME, BONOBO_ARG_STRING, - NULL, - "Name of ID attribute", 0); - - bonobo_object_unref(BONOBO_OBJECT(prop_bag)); - - g_signal_connect(control,"set_frame", G_CALLBACK(set_frame), control_data); - g_signal_connect(control_data->math_view, "button_press_event", G_CALLBACK (button_pressed_cb), - control_data); - g_signal_connect(control_data->math_view, "click", G_CALLBACK (click_cb), - control_data); - g_signal_connect(control_data->math_view, "select_begin", G_CALLBACK(select_begin_cb), - control_data); - g_signal_connect(control_data->math_view, "select_over", G_CALLBACK(select_over_cb), - control_data); - g_signal_connect(control_data->math_view, "select_end", G_CALLBACK(select_end_cb), - control_data); - g_signal_connect(control_data->math_view, "select_abort", G_CALLBACK(select_abort_cb), - control_data); -} - -static BonoboObject* -gtk_math_view_control_factory(BonoboGenericFactory* factory, const gchar* component_id, - gpointer closure) -{ - BonoboControl *control; - GtkWidget *scrolled_window; - - scrolled_window = gtk_scrolled_window_new (NULL, NULL); - /* putting SHADOW_NONE screws the plugin window, how's that??? */ - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_IN); - gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 0); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_window), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_widget_show_all (scrolled_window); - - control = bonobo_control_new(scrolled_window); - - if(control) - { - gtk_math_view_control_init(control,scrolled_window); - return BONOBO_OBJECT(control); - } - else - return NULL; -} - -BONOBO_ACTIVATION_SHLIB_FACTORY (CONTROL_FACTORY_ID, "GtkMathView Factory", - gtk_math_view_control_factory, NULL); - diff --git a/helm/gtkmathview-bonobo/src/control-factory.h b/helm/gtkmathview-bonobo/src/control-factory.h deleted file mode 100644 index 0d2e5a24d..000000000 --- a/helm/gtkmathview-bonobo/src/control-factory.h +++ /dev/null @@ -1,34 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef __control_factory_h__ -#define __control_factory_h__ - -#include -#include -#include - -#define CONTROL_FACTORY_ID "OAFIID:GNOME_GtkMathView_Factory:" MATH_VIEW_API_VERSION -#define CONTROL_ID "OAFIID:GNOME_GtkMathView:" MATH_VIEW_API_VERSION - -#endif /* __control_factory_h__ */ diff --git a/helm/gtkmathview-bonobo/src/handlers.c b/helm/gtkmathview-bonobo/src/handlers.c deleted file mode 100644 index 4861b2f0b..000000000 --- a/helm/gtkmathview-bonobo/src/handlers.c +++ /dev/null @@ -1,245 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -#include "aux.h" -#include "handlers.h" - -static void -set_clipboard(GdomeDOMString* data) -{ - GtkClipboard* clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY); - gtk_clipboard_set_text(clipboard, data->str, gdome_str_length(data)); -} - -void -set_frame(BonoboControl *control, gpointer data) -{ -} - -static void -notify_browser(GtkMathViewControlData* control_data, const char* url) -{ - BonoboObject* evs = bonobo_object_query_local_interface(BONOBO_OBJECT(control_data->control), - "IDL:Bonobo/EventSource:1.0"); - if (evs != NULL) - { - BonoboArg* arg = bonobo_arg_new(BONOBO_ARG_STRING); - BONOBO_ARG_SET_STRING(arg, url); - bonobo_event_source_notify_listeners (evs, "URL", arg, NULL); - /* bonobo_arg_release(arg); */ - bonobo_object_unref(BONOBO_OBJECT(evs)); - } -} - -void -click_cb(GtkMathView* math_view, GdomeElement* elem, gint state, - GtkMathViewControlData* control_data) -{ - GdomeException exc = 0; - - g_return_if_fail(math_view != NULL); - g_return_if_fail(control_data != NULL); - - if (elem != NULL) - { - GdomeElement* action; - GdomeDOMString* href = find_hyperlink(elem); - - if (href != NULL) - { - /*gtk_math_view_load_uri(math_view,href->str);*/ - - notify_browser(control_data, href->str); - - //set_clipboard(href); - gdome_str_unref(href); - return; - } - - action = find_self_or_ancestor(elem, MATHML_NS_URI, "maction"); - if (action != NULL) - { - gtk_math_view_freeze(math_view); - action_toggle(action); - gtk_math_view_thaw(math_view); - gdome_el_unref(action, &exc); - g_assert(exc == 0); - return; - } - } - - if (control_data->root_selected != NULL) - { - gtk_math_view_freeze(math_view); - gtk_math_view_unselect(math_view, control_data->root_selected); - gtk_math_view_thaw(math_view); - gdome_el_unref(control_data->root_selected, &exc); - g_assert(exc == 0); - control_data->root_selected = NULL; - } -} - -void -select_begin_cb(GtkMathView* math_view, GdomeElement* elem, gint state, - GtkMathViewControlData* control_data) -{ - g_return_if_fail(math_view != NULL); - g_return_if_fail(control_data != NULL); - - if (elem != NULL) - { - GdomeException exc = 0; - gtk_math_view_freeze(math_view); - if (control_data->root_selected != NULL) - { - gtk_math_view_unselect(math_view, control_data->root_selected); - gdome_el_unref(control_data->root_selected, &exc); - g_assert(exc == 0); - control_data->root_selected = NULL; - } - - if (control_data->semantic_selection) - { - GdomeElement* new_elem = find_element_with_id(elem, control_data->id_ns_uri, control_data->id_name); - if (new_elem != NULL) - { - gdome_el_ref(new_elem, &exc); - g_assert(exc == 0); - } - control_data->first_selected = control_data->root_selected = new_elem; - } - else - { - gdome_el_ref(elem, &exc); - g_assert(exc == 0); - gdome_el_ref(elem, &exc); - g_assert(exc == 0); - control_data->first_selected = control_data->root_selected = elem; - } - - if (control_data->root_selected != NULL) - gtk_math_view_select(math_view, control_data->root_selected); - - gtk_math_view_thaw(math_view); - } -} - -void -select_over_cb(GtkMathView* math_view, GdomeElement* elem, gint state, - GtkMathViewControlData* control_data) -{ - g_return_if_fail(math_view != NULL); - g_return_if_fail(control_data != NULL); - - if (control_data->first_selected != NULL && elem != NULL) - { - GdomeException exc = 0; - - gtk_math_view_freeze(math_view); - - if (control_data->root_selected != NULL) - { - gtk_math_view_unselect(math_view, control_data->root_selected); - gdome_el_unref(control_data->root_selected, &exc); - g_assert(exc == 0); - control_data->root_selected = NULL; - } - - if (control_data->semantic_selection) - { - GdomeElement* new_root = find_common_ancestor(control_data->first_selected, elem); - if (new_root != NULL) - { - control_data->root_selected = find_element_with_id(new_root, control_data->id_ns_uri, control_data->id_name); - gdome_el_unref(new_root, &exc); - g_assert(exc == 0); - } - else - control_data->root_selected = NULL; - } - else - control_data->root_selected = find_common_ancestor(control_data->first_selected, elem); - - if (control_data->root_selected != NULL) - gtk_math_view_select(math_view, control_data->root_selected); - - gtk_math_view_thaw(math_view); - } -} - -void -select_end_cb(GtkMathView* math_view, GdomeElement* elem, gint state, - GtkMathViewControlData* control_data) -{ - g_return_if_fail(math_view != NULL); - g_return_if_fail(control_data != NULL); - - if (control_data->first_selected != NULL) - { - GdomeException exc = 0; - gdome_el_unref(control_data->first_selected, &exc); - g_assert(exc == 0); - control_data->first_selected = NULL; - - if (control_data->root_selected != NULL && control_data->semantic_selection) - { - GdomeException exc = 0; - GdomeDOMString* id = gdome_el_getAttributeNS(control_data->root_selected, - control_data->id_ns_uri, - control_data->id_name, &exc); - g_assert(exc == 0); - g_assert(id != NULL); - set_clipboard(id); - gdome_str_unref(id); - } - } -} - -void -select_abort_cb(GtkMathView* math_view, GtkMathViewControlData* control_data) -{ - GdomeException exc = 0; - - g_return_if_fail(math_view != NULL); - g_return_if_fail(control_data != NULL); - - if (control_data->first_selected != NULL) - { - gdome_el_unref(control_data->first_selected, &exc); - g_assert(exc == 0); - control_data->first_selected = NULL; - } - - if (control_data->root_selected != NULL) - { - gtk_math_view_freeze(math_view); - gtk_math_view_unselect(math_view, control_data->root_selected); - gtk_math_view_thaw(math_view); - gdome_el_unref(control_data->root_selected, &exc); - g_assert(exc == 0); - control_data->root_selected = NULL; - } -} - diff --git a/helm/gtkmathview-bonobo/src/handlers.h b/helm/gtkmathview-bonobo/src/handlers.h deleted file mode 100644 index 47eda64b3..000000000 --- a/helm/gtkmathview-bonobo/src/handlers.h +++ /dev/null @@ -1,41 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef __handlers_h__ -#define __handlers_h__ - -#include -#include -#include - -#include "control-data.h" - -void set_frame(BonoboControl*, gpointer); -void button_pressed_cb(GtkMathView*, GdkEventButton*, GtkMathViewControlData*); -void click_cb(GtkMathView*, GdomeElement*, gint, GtkMathViewControlData*); -void select_begin_cb(GtkMathView*,GdomeElement*, gint, GtkMathViewControlData*); -void select_over_cb(GtkMathView*,GdomeElement*,gint, GtkMathViewControlData*); -void select_end_cb(GtkMathView*,GdomeElement*,gint, GtkMathViewControlData*); -void select_abort_cb(GtkMathView*, GtkMathViewControlData*); - -#endif // __handlers_h__ diff --git a/helm/gtkmathview-bonobo/src/persist-file.c b/helm/gtkmathview-bonobo/src/persist-file.c deleted file mode 100644 index 1d3fd36c6..000000000 --- a/helm/gtkmathview-bonobo/src/persist-file.c +++ /dev/null @@ -1,141 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -#include -#include -#include - -#include "persist-file.h" -#include "control-factory.h" - -static BonoboObjectClass *gtk_math_view_persist_file_parent_class; - -static void load_implementation(PortableServer_Servant servant,const gchar *path, - CORBA_Environment *ev); - -static void save_implementation(PortableServer_Servant servant,const gchar *path, - CORBA_Environment *ev); - -static void finalize(GObject *object) -{ - GtkMathViewPersistFile *file = GTK_MATH_VIEW_PERSIST_FILE(object); - - if (file->math_view) - { - g_object_unref(file->math_view); - file->math_view = NULL; - } - - G_OBJECT_CLASS(gtk_math_view_persist_file_parent_class)->finalize (object); -} - -static Bonobo_Persist_ContentTypeList * -get_content_types(BonoboPersist *persist,CORBA_Environment *ev) -{ - return bonobo_persist_generate_content_types(3, "application/mathml+xml", "text/mathml", "text/plain"); -} - -static void -gtk_math_view_persist_file_class_init(GtkMathViewPersistFileClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS(klass); - BonoboPersistClass *persist_class = BONOBO_PERSIST_CLASS(klass); - POA_Bonobo_PersistFile__epv *epv = &klass->epv; - - gtk_math_view_persist_file_parent_class = g_type_class_peek_parent(klass); - - epv->load = load_implementation; - epv->save = save_implementation; - - object_class->finalize = finalize; - persist_class->get_content_types = get_content_types; -} - -GType -gtk_math_view_persist_file_get_type(void) -{ - static GType type = 0; - - if (!type) - { - GTypeInfo info = - { - sizeof(GtkMathViewPersistFileClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gtk_math_view_persist_file_class_init, - NULL, /* class finalize */ - NULL, /* class_data */ - sizeof(GtkMathViewPersistFile), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL - }; - - type = bonobo_type_unique(BONOBO_TYPE_PERSIST, - POA_Bonobo_PersistFile__init,POA_Bonobo_PersistFile__fini, - G_STRUCT_OFFSET(GtkMathViewPersistFileClass, epv), - &info,"GtkMathViewPresistFile"); - } - - return type; -} - -BonoboObject * -gtk_math_view_persist_file_new(GtkMathView *math_view) -{ - BonoboObject *file; - - file = g_object_new(gtk_math_view_persist_file_get_type(),NULL); - bonobo_persist_construct(BONOBO_PERSIST(file),CONTROL_FACTORY_ID); - - g_object_ref(math_view); - GTK_MATH_VIEW_PERSIST_FILE(file)->math_view = math_view; - - return file; -} - -static void -load_implementation(PortableServer_Servant servant,const gchar *path,CORBA_Environment *ev) -{ - gboolean result; - GtkMathViewPersistFile* file = GTK_MATH_VIEW_PERSIST_FILE(bonobo_object_from_servant(servant)); - //fd = open(path, O_RDONLY); - - result = gtk_math_view_load_uri(file->math_view,path); - if(!result) - CORBA_exception_set(ev,CORBA_USER_EXCEPTION,ex_Bonobo_Persist_WrongDataType,NULL); - - bonobo_object_unref(BONOBO_OBJECT(file)); -} - -static void -save_implementation(PortableServer_Servant servant, - const gchar *path, - CORBA_Environment *ev) -{ - bonobo_exception_set(ev,"save_exception"); - bonobo_exception_add_handler_str("save_exception", - "Save option is not valid"); -} diff --git a/helm/gtkmathview-bonobo/src/persist-file.h b/helm/gtkmathview-bonobo/src/persist-file.h deleted file mode 100644 index 6f70e76ef..000000000 --- a/helm/gtkmathview-bonobo/src/persist-file.h +++ /dev/null @@ -1,61 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef __GTK_MATH_VIEW_PERSIST_FILE_H__ -#define __GTK_MATH_VIEW_PERSIST_FILE_H__ - -#include -#include - -G_BEGIN_DECLS - -struct _GtkMathViewPersistFile; -typedef struct _GtkMathViewPersistFile GtkMathViewPersistFile; -typedef struct _GtkMathViewPersistFilePrivate GtkMathViewPersistFilePrivate; - -#define GTK_MATH_VIEW_TYPE_PERSIST_FILE (gtk_math_view_persist_file_get_type()) -#define GTK_MATH_VIEW_PERSIST_FILE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), GTK_MATH_VIEW_TYPE_PERSIST_FILE, \ - GtkMathViewPersistFile)) -#define GTK_MATH_VIEW_IS_PERSIST_FILE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object),\ - GTK_MATH_VIEW_TYPE_PERSIST_FILE)) -#define GTK_MATH_VIEW_IS_PERSIST_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\ - GTK_MATH_VIEW_TYPE_PERSIST_FILE)) - -struct _GtkMathViewPersistFile -{ - BonoboPersist parent; - GtkMathView *math_view; -}; - -typedef struct -{ - BonoboPersistClass parent_class; - POA_Bonobo_PersistFile__epv epv; -} GtkMathViewPersistFileClass; - -GType gtk_math_view_persist_file_get_type(void); -BonoboObject *gtk_math_view_persist_file_new(GtkMathView *); - -G_END_DECLS - -#endif diff --git a/helm/gtkmathview-bonobo/src/persist-stream.c b/helm/gtkmathview-bonobo/src/persist-stream.c deleted file mode 100644 index bef7d90cb..000000000 --- a/helm/gtkmathview-bonobo/src/persist-stream.c +++ /dev/null @@ -1,221 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -#include -#include - -#include "persist-stream.h" -#include "control-factory.h" - -#define DEBUG0 - -static BonoboObjectClass *gtk_math_view_persist_stream_parent_class; - -static void load_implementation(PortableServer_Servant servant, - const Bonobo_Stream stream, - const CORBA_char *type, - CORBA_Environment *ev); - -static void save_implementation(PortableServer_Servant servant, - const Bonobo_Stream stream, - const CORBA_char *type, - CORBA_Environment *ev); - -static void finalize(GObject *object) -{ - GtkMathViewPersistStream *stream = GTK_MATH_VIEW_PERSIST_STREAM(object); - - if (stream->math_view != NULL) - { - g_object_unref(stream->math_view); - stream->math_view = NULL; - } - - G_OBJECT_CLASS(gtk_math_view_persist_stream_parent_class)->finalize(object); -} - -static Bonobo_Persist_ContentTypeList * -get_content_types(BonoboPersist *persist,CORBA_Environment *ev) -{ - return bonobo_persist_generate_content_types(2, "application/mathml+xml", "text/mathml"); -} - -static void -gtk_math_view_persist_stream_class_init(GtkMathViewPersistStreamClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS(klass); - BonoboPersistClass *persist_class = BONOBO_PERSIST_CLASS(klass); - POA_Bonobo_PersistStream__epv *epv = &klass->epv; - -#ifdef DEBUG - printf("persist stream class init\n"); -#endif - gtk_math_view_persist_stream_parent_class = g_type_class_peek_parent(klass); - - epv->load = load_implementation; - epv->save = save_implementation; - - object_class->finalize = finalize; - persist_class->get_content_types = get_content_types; -} - -GType -gtk_math_view_persist_stream_get_type(void) -{ - static GType type = 0; -#ifdef DEBUG - printf("persist stream get type\n"); -#endif - if (!type) - { - GTypeInfo info = - { - sizeof(GtkMathViewPersistStreamClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gtk_math_view_persist_stream_class_init, - NULL, /*class finalize */ - NULL, /*class data */ - sizeof(GtkMathViewPersistStream), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL - }; - - type = bonobo_type_unique(BONOBO_TYPE_PERSIST, - POA_Bonobo_PersistStream__init,POA_Bonobo_PersistStream__fini, - G_STRUCT_OFFSET(GtkMathViewPersistStreamClass,epv), - &info,"GtkMathViewPersistStream"); - } - - return type; -} - -BonoboObject * -gtk_math_view_persist_stream_new(GtkMathView *math_view) -{ - BonoboObject *stream; - -#ifdef DEBUG - printf("persist stream new\n"); -#endif - stream = g_object_new(gtk_math_view_persist_stream_get_type(),NULL); - bonobo_persist_construct(BONOBO_PERSIST(stream),CONTROL_FACTORY_ID); - - g_object_ref(math_view); - GTK_MATH_VIEW_PERSIST_STREAM(stream)->math_view = math_view; - - return stream; -} - -static FILE* -create_tmp_file(GtkMathViewPersistStream *persist) -{ - FILE *tmpfile; - int fd; - - persist->tmp_path_name = g_strconcat(g_get_tmp_dir(), "/gmvXXXXXX", NULL); - if ((fd = mkstemp(persist->tmp_path_name)) < 0) - { - g_free(persist->tmp_path_name), - persist->tmp_path_name = NULL; - return NULL; - } - - tmpfile = fdopen(fd, "w"); - if(!tmpfile) - { - close(fd); - return NULL; - } - - return tmpfile; -} - - -static void -load_implementation(PortableServer_Servant servant, - Bonobo_PersistStream stream, - const CORBA_char *type, - CORBA_Environment *ev) -{ - GtkMathViewPersistStream *persist = GTK_MATH_VIEW_PERSIST_STREAM (bonobo_object_from_servant (servant)); - Bonobo_Stream_iobuf *buffer; - GtkMathViewPersistStream *handle; - CORBA_long len_read; - gboolean result; - FILE *tmpfile; - -#ifdef DEBUG - printf("persist stream loading\n"); -#endif - - if (strcmp (type, "application/mathml+xml") != 0) - { - CORBA_exception_set (ev, CORBA_USER_EXCEPTION, - ex_Bonobo_Persist_WrongDataType, NULL); - return; - } - - tmpfile = create_tmp_file(persist); - do - { - Bonobo_Stream_read (stream, 4096, &buffer, ev); - if (ev->_major != CORBA_NO_EXCEPTION) - goto clean; - - len_read = buffer->_length; - - if (buffer->_buffer && len_read) - if (fwrite(buffer->_buffer, 1, len_read, tmpfile) != len_read) - { - CORBA_free (buffer); - goto clean; - } - - CORBA_free (buffer); - } while (len_read > 0); - - fclose(tmpfile); - - result = gtk_math_view_load_uri(persist->math_view,persist->tmp_path_name); - if(!result) - { - CORBA_exception_set(ev,CORBA_USER_EXCEPTION,ex_Bonobo_Persist_WrongDataType,NULL); - } - return ; - - clean: - fclose (tmpfile); - return; -} - -static void -save_implementation(PortableServer_Servant servant,const Bonobo_Stream stream,const CORBA_char *type,CORBA_Environment *ev) -{ - bonobo_exception_set(ev,"save_exception"); - bonobo_exception_add_handler_str("save_exception", - "Save option is not valid"); - return; -} diff --git a/helm/gtkmathview-bonobo/src/persist-stream.h b/helm/gtkmathview-bonobo/src/persist-stream.h deleted file mode 100644 index 848121436..000000000 --- a/helm/gtkmathview-bonobo/src/persist-stream.h +++ /dev/null @@ -1,59 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef __GTK_MATH_VIEW_PERSIST_STREAM_H__ -#define __GTK_MATH_VIEW_PERSIST_STREAM_H__ - -#include -#include - -G_BEGIN_DECLS - -struct _GtkMathViewPersistStream; -typedef struct _GtkMathViewPersistStream GtkMathViewPersistStream; -typedef struct _GtkMathViewPersistStreamPrivate GtkMathViewPersistStreamPrivate; - -#define GTK_MATH_VIEW_TYPE_PERSIST_STREAM (gtk_math_view_persist_stream_get_type()) -#define GTK_MATH_VIEW_PERSIST_STREAM(object) (G_TYPE_CHECK_INSTANCE_CAST((object), GTK_MATH_VIEW_TYPE_PERSIST_STREAM,GtkMathViewPersistStream)) -#define GTK_MATH_VIEW_IS_PERSIST_STREAM(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), GTK_MATH_VIEW_TYPE_PERSIST_STREAM)) -#define GTK_MATH_VIEW_IS_PERSIST_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_MATH_VIEW_TYPE_PERSIST_STREAM)) - -struct _GtkMathViewPersistStream -{ - BonoboPersist parent; - GtkMathView *math_view; - gchar* tmp_path_name; -}; - -typedef struct -{ - BonoboPersistClass parent_class; - POA_Bonobo_PersistStream__epv epv; -} GtkMathViewPersistStreamClass; - -GType gtk_math_view_persist_stream_get_type(void); -BonoboObject *gtk_math_view_persist_stream_new(GtkMathView *); - -G_END_DECLS - -#endif diff --git a/helm/gtkmathview-bonobo/src/view.c b/helm/gtkmathview-bonobo/src/view.c deleted file mode 100644 index 068558d25..000000000 --- a/helm/gtkmathview-bonobo/src/view.c +++ /dev/null @@ -1,361 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#include - -#define HAVE_GMETADOM -#include - -#include "aux.h" -#include "view.h" - -static GObjectClass* view_parent_class; - -static void -view_object_finalize(GObject* object) -{ - View* view = VIEW(object); - /* free resources */ - view_parent_class->finalize(object); - return; -} - -static void -impl_view_freeze(PortableServer_Servant servant, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gtk_math_view_freeze(view->control_data->math_view); - return; -} - -static void -impl_view_thaw(PortableServer_Servant servant, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gtk_math_view_thaw(view->control_data->math_view); - return; -} - -static CORBA_boolean -impl_view_load(PortableServer_Servant servant, - const CORBA_char *uri, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - return gtk_math_view_load_uri(view->control_data->math_view, uri); -} - -static void -impl_view_unload(PortableServer_Servant servant, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gtk_math_view_unload(view->control_data->math_view); -} - -static void -impl_view_setIdAttribute (PortableServer_Servant servant, - const CORBA_char *ns, - const CORBA_char *name, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gtk_math_view_control_data_set_id_attribute(view->control_data, ns, name); -} - -static void -impl_view_getIdAttribute (PortableServer_Servant servant, - CORBA_string *ns, - CORBA_string *name, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - if (view->control_data->id_ns_uri != NULL) - *ns = CORBA_string_dup(view->control_data->id_ns_uri->str); - else - *ns = NULL; - - if (view->control_data->id_name != NULL) - *name = CORBA_string_dup(view->control_data->id_name); - else - *name = NULL; -} - -static void -impl_view_select(PortableServer_Servant servant, - const CORBA_char *id, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - GdomeElement* root = gtk_math_view_get_root_element(view->control_data->math_view); - if (root != NULL) - { - GdomeException exc = 0; - GdomeElement* el = find_element_by_id(root, - view->control_data->id_ns_uri, - view->control_data->id_name, - id); - if (el != NULL) - { - gtk_math_view_select(view->control_data->math_view, el); - gdome_el_unref(el, &exc); - g_assert(exc == 0); - } - gdome_el_unref(root, &exc); - g_assert(exc == 0); - } -} - -static void -impl_view_unselect(PortableServer_Servant servant, - const CORBA_char *id, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - GdomeElement* root = gtk_math_view_get_root_element(view->control_data->math_view); - if (root != NULL) - { - GdomeException exc = 0; - GdomeElement* el = find_element_by_id(root, - view->control_data->id_ns_uri, - view->control_data->id_name, - id); - if (el != NULL) - { - gtk_math_view_unselect(view->control_data->math_view, el); - gdome_el_unref(el, &exc); - g_assert(exc == 0); - } - gdome_el_unref(root, &exc); - g_assert(exc == 0); - } -} - -static CORBA_boolean -impl_view_isSelected(PortableServer_Servant servant, - const CORBA_char *id, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - GdomeElement* root = gtk_math_view_get_root_element(view->control_data->math_view); - CORBA_boolean res = CORBA_FALSE; - if (root != NULL) - { - GdomeException exc = 0; - GdomeElement* el = find_element_by_id(root, - view->control_data->id_ns_uri, - view->control_data->id_name, - id); - if (el != NULL) - { - res = gtk_math_view_is_selected(view->control_data->math_view, el) ? CORBA_TRUE : CORBA_FALSE; - gdome_el_unref(el, &exc); - g_assert(exc == 0); - } - gdome_el_unref(root, &exc); - g_assert(exc == 0); - } - return res; -} - -static CORBA_boolean -impl_view_elementCoords(PortableServer_Servant servant, - const CORBA_char *id, - CORBA_short *x, CORBA_short *y, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - GdomeElement* root = gtk_math_view_get_root_element(view->control_data->math_view); - CORBA_boolean res = CORBA_FALSE; - if (root != NULL) - { - GdomeException exc = 0; - GdomeElement* el = find_element_by_id(root, - view->control_data->id_ns_uri, - view->control_data->id_name, - id); - if (el != NULL) - { - gint xx; - gint yy; - res = gtk_math_view_get_element_coords(view->control_data->math_view, el, &xx, &yy) ? CORBA_TRUE : CORBA_FALSE; - gdome_el_unref(el, &exc); - g_assert(exc == 0); - *x = xx; - *y = yy; - } - gdome_el_unref(root, &exc); - g_assert(exc == 0); - } - return res; -} - -static CORBA_boolean -impl_view_elementBoundingBox(PortableServer_Servant servant, - const CORBA_char *id, - CORBA_short *width, CORBA_short *height, CORBA_short *depth, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - GdomeElement* root = gtk_math_view_get_root_element(view->control_data->math_view); - CORBA_boolean res = CORBA_FALSE; - if (root != NULL) - { - GdomeException exc = 0; - GdomeElement* el = find_element_by_id(root, - view->control_data->id_ns_uri, - view->control_data->id_name, - id); - if (el != NULL) - { - gint w; - gint h; - gint d; - res = gtk_math_view_get_element_bounding_box(view->control_data->math_view, el, &w, &h, &d) ? CORBA_TRUE : CORBA_FALSE; - gdome_el_unref(el, &exc); - g_assert(exc == 0); - *width = w; - *height = h; - *depth = d; - } - gdome_el_unref(root, &exc); - g_assert(exc == 0); - } - return res; -} - -static void -impl_view_getSize(PortableServer_Servant servant, - CORBA_short *width, CORBA_short *height, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - *width = gtk_math_view_get_width(view->control_data->math_view); - *height = gtk_math_view_get_height(view->control_data->math_view); -} - -static void -impl_view_getTop(PortableServer_Servant servant, - CORBA_short *x, CORBA_short *y, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gint xx; - gint yy; - gtk_math_view_get_top(view->control_data->math_view, &xx, &yy); - *x = xx; - *y = yy; -} - -static void -impl_view_setTop (PortableServer_Servant servant, - CORBA_short x, CORBA_short y, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gtk_math_view_set_top(view->control_data->math_view, x, y); -} - -static void -impl_view_setDefaultFontSize(PortableServer_Servant servant, - CORBA_short size, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gtk_math_view_set_font_size(view->control_data->math_view, size); -} - -static short -impl_view_getDefaultFontSize(PortableServer_Servant servant, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - return gtk_math_view_get_font_size(view->control_data->math_view); -} - -static void -impl_view_setVerbosity(PortableServer_Servant servant, - const CORBA_short level, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - gtk_math_view_set_log_verbosity(view->control_data->math_view, level); -} - -static short -impl_view_getVerbosity(PortableServer_Servant servant, - CORBA_Environment *ev) -{ - View* view = VIEW (bonobo_object (servant)); - return gtk_math_view_get_log_verbosity(view->control_data->math_view); -} - -static void -view_class_init(ViewClass* klass) -{ - GObjectClass* object_class = (GObjectClass *) klass; - POA_GNOME_GtkMathView_View__epv* epv = &klass->epv; - - view_parent_class = g_type_class_peek_parent (klass); - object_class->finalize = view_object_finalize; - - epv->freeze = impl_view_freeze; - epv->thaw = impl_view_thaw; - epv->load = impl_view_load; - epv->unload = impl_view_unload; - epv->setIdAttribute = impl_view_setIdAttribute; - epv->getIdAttribute = impl_view_getIdAttribute; - epv->select = impl_view_select; - epv->unselect = impl_view_unselect; - epv->isSelected = impl_view_isSelected; - epv->elementCoords = impl_view_elementCoords; - epv->elementBoundingBox = impl_view_elementBoundingBox; - epv->getSize = impl_view_getSize; - epv->getTop = impl_view_getTop; - epv->setTop = impl_view_setTop; - epv->setDefaultFontSize = impl_view_setDefaultFontSize; - epv->getDefaultFontSize = impl_view_getDefaultFontSize; - epv->setVerbosity = impl_view_setVerbosity; - epv->getVerbosity = impl_view_getVerbosity; -} - -static void -view_init(View* view) -{ - /* do some initialization */ -} - -View* -view_new(GtkMathViewControlData* control_data) -{ - View* view; - g_return_val_if_fail(control_data != NULL, NULL); - view = g_object_new(VIEW_TYPE, NULL); - view->control_data = control_data; - return view; -} - -BONOBO_TYPE_FUNC_FULL (View, GNOME_GtkMathView_View, BONOBO_TYPE_OBJECT, view) - diff --git a/helm/gtkmathview-bonobo/src/view.h b/helm/gtkmathview-bonobo/src/view.h deleted file mode 100644 index 86394bec5..000000000 --- a/helm/gtkmathview-bonobo/src/view.h +++ /dev/null @@ -1,53 +0,0 @@ -/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView. - * Copyright (C) 2003 Luca Padovani - * Pouria Masoudi - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please visit the project's home page - * http://helm.cs.unibo.it/gtkmathview-bonobo - * or send an email to - */ - -#ifndef __view_h__ -#define __view_h__ - -#include - -#include "GtkMathView.h" -#include "control-data.h" - -#define VIEW_TYPE (view_get_type()) -#define VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), VIEW_TYPE, View)) -#define VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), VIEW_TYPE, ViewClass)) -#define VIEW_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), VIEW_TYPE)) -#define VIEW_IS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), VIEW_TYPE)) -#define VIEW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), VIEW_TYPE, ViewClass)) - -typedef struct { - BonoboObject parent; - GtkMathViewControlData* control_data; -} View; - -typedef struct { - BonoboObjectClass parent_class; - POA_GNOME_GtkMathView_View__epv epv; -} ViewClass; - -GType view_get_type(void); -View* view_new(GtkMathViewControlData*); - -#endif /* __view_h__ */ - diff --git a/helm/gtkmathview-bonobo/test/.cvsignore b/helm/gtkmathview-bonobo/test/.cvsignore deleted file mode 100644 index 46490baa4..000000000 --- a/helm/gtkmathview-bonobo/test/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -.deps -.libs -viewer -Makefile -Makefile.in diff --git a/helm/gtkmathview-bonobo/test/Makefile.am b/helm/gtkmathview-bonobo/test/Makefile.am deleted file mode 100644 index 204ae3dfc..000000000 --- a/helm/gtkmathview-bonobo/test/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ - -noinst_PROGRAMS = viewer - -viewer_SOURCES = \ - main.c \ - $(top_srcdir)/src/GtkMathView-common.c \ - $(top_srcdir)/src/GtkMathView-stubs.c - -viewer_LDADD = \ - $(BONOBOUI_LIBS) \ - $(BONOBO_LIBS) \ - $(GNOMEUI_LIBS) - -AM_CFLAGS = \ - -DPREFIX=\""$(prefix)"\" \ - -DSYSCONFDIR=\""$(sysconfdir)"\" \ - -DDATADIR=\""$(datadir)"\" \ - -DLIBDIR=\""$(datadir)"\" - -INCLUDES = \ - $(BONOBOUI_CFLAGS) \ - $(BONOBO_CFLAGS) \ - $(GNOMEUI_CFLAGS) \ - -I$(top_srcdir)/src - diff --git a/helm/gtkmathview-bonobo/test/embedding.html b/helm/gtkmathview-bonobo/test/embedding.html deleted file mode 100644 index 674012ff4..000000000 --- a/helm/gtkmathview-bonobo/test/embedding.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - -

GtkMathView-Bonobo test page

- - The embedded object should display a mathematical formula. -
- - - - - x - 2 - - = - click for the answer - - - -
- -
- - - - - diff --git a/helm/gtkmathview-bonobo/test/embedding.xml b/helm/gtkmathview-bonobo/test/embedding.xml deleted file mode 100644 index 57fe49a87..000000000 --- a/helm/gtkmathview-bonobo/test/embedding.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - -

GtkMathView-Bonobo test page

- - The embedded object should display a mathematical formula. -
- - - - - x - 2 - - = - click for the answer - - - -
- Size -
- - - - - diff --git a/helm/gtkmathview-bonobo/test/main.c b/helm/gtkmathview-bonobo/test/main.c deleted file mode 100644 index e737329ec..000000000 --- a/helm/gtkmathview-bonobo/test/main.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -#include -#include -#include - -#include "control-factory.h" -#include "GtkMathView.h" - -static GtkWidget *control; - -typedef enum{LOAD_STREAM,LOAD_FILE,NONE}FileSelectionOp; - -struct FileSelectionInfo { - BonoboWidget* control; - GtkWidget* widget; - - FileSelectionOp Operations; -}; - - -static struct FileSelectionInfo file_selection_info = { NULL, NULL,NONE}; - -static void -file_selection_destroy_cb (GtkWidget *widget,gpointer data) -{ - file_selection_info.widget = NULL; -} - - -static void -load_through_persist_file (const gchar *filename, - Bonobo_PersistFile pfile) -{ - CORBA_Environment ev; - CORBA_exception_init (&ev); - Bonobo_PersistFile_load (pfile, filename, &ev); - if (ev._major != CORBA_NO_EXCEPTION) - g_warning ("Cannot load."); - CORBA_exception_free (&ev); -} - -static void -load_through_persist_stream(const gchar *filename, - Bonobo_PersistStream pstream) -{ - BonoboObject *stream = NULL; - CORBA_Environment ev; - CORBA_exception_init (&ev); - -#if 0 - stream = bonobo_stream_open ("fs", filename, - Bonobo_Storage_READ, 0); -#endif - - /*if (stream == NULL) - { - g_warning ("Couldn't load `%s'\n", filename); - } else*/ { - Bonobo_Stream corba_stream; - corba_stream = bonobo_object_corba_objref (stream); - Bonobo_Stream_truncate (corba_stream, 0, &ev); - Bonobo_PersistStream_load (pstream, corba_stream, "application/mathml+xml", &ev); - } - Bonobo_Unknown_unref (pstream, &ev); - CORBA_Object_release (pstream, &ev); - CORBA_exception_free (&ev); -} - -static void -file_selection_ok_cb (GtkWidget *widget, - gpointer data) -{ - CORBA_Object interface; - const gchar *interface_name; - CORBA_Environment ev; - - if (file_selection_info.Operations == LOAD_FILE) - interface_name = "IDL:Bonobo/PersistFile:1.0"; - else if(file_selection_info.Operations == LOAD_STREAM) - interface_name = "IDL:Bonobo/PersistStream:1.0"; - else printf("failed to get operation type\n"); - - CORBA_exception_init (&ev); - interface = Bonobo_Unknown_queryInterface (bonobo_widget_get_objref (file_selection_info.control), - interface_name, &ev); - CORBA_exception_free (&ev); - - if (interface == CORBA_OBJECT_NIL) - { - g_warning ("The Control does not seem to support `%s'.", interface_name); - } - else - { - const gchar *fname; - fname = gtk_file_selection_get_filename (GTK_FILE_SELECTION (file_selection_info.widget)); - switch (file_selection_info.Operations) { - case LOAD_STREAM: - load_through_persist_stream (fname, interface); - break; - case LOAD_FILE: - load_through_persist_file (fname, interface); - break; - } - } - - gtk_widget_destroy (file_selection_info.widget); -} - -static void -open_dialog (BonoboWindow *app, - FileSelectionOp operation) -{ - GtkWidget *widget; - BonoboWidget *control; - - control = BONOBO_WIDGET (bonobo_window_get_contents (app)); - - if (file_selection_info.widget != NULL) { - gdk_window_show (GTK_WIDGET (file_selection_info.widget)->window); - return; - } - - if(operation == LOAD_STREAM) - widget = gtk_file_selection_new(_("Open Stream....")); - if(operation == LOAD_FILE) - widget = gtk_file_selection_new (_("Open file...")); - - gtk_window_set_transient_for (GTK_WINDOW (widget), - GTK_WINDOW (app)); - - file_selection_info.widget = widget; - file_selection_info.control = control; - file_selection_info.Operations = operation; - - g_signal_connect_object (GTK_FILE_SELECTION (widget)->cancel_button, - "clicked", G_CALLBACK (gtk_widget_destroy), widget, G_CONNECT_AFTER); - - g_signal_connect (GTK_FILE_SELECTION (widget)->ok_button, "clicked", G_CALLBACK (file_selection_ok_cb), NULL); - - g_signal_connect (file_selection_info.widget, "destroy", G_CALLBACK (file_selection_destroy_cb), NULL); - - gtk_widget_show (file_selection_info.widget); -} - -/* "Open through persist file" dialog. */ -static void -open_through_persist_file_cb (GtkWidget *widget, - gpointer data) -{ - open_dialog (BONOBO_WINDOW (data), LOAD_FILE); -} - -static void -open_through_persist_stream_cb(GtkWidget *widget, - gpointer data) -{ - open_dialog(BONOBO_WINDOW(data), LOAD_STREAM); -} - -static void -test_view(GtkWidget* widget, gpointer data) -{ - CORBA_Object interface; - CORBA_Environment ev; - - CORBA_exception_init (&ev); - interface = Bonobo_Unknown_queryInterface (bonobo_widget_get_objref (BONOBO_WIDGET (bonobo_window_get_contents (BONOBO_WINDOW(data)))), - "IDL:GNOME/GtkMathView/View:1.0", &ev); - CORBA_exception_free (&ev); - - if (interface == CORBA_OBJECT_NIL) - { - g_warning ("The Control does not seem to support `View'."); - } - - CORBA_exception_init (&ev); - GNOME_GtkMathView_View_freeze(interface, &ev); - CORBA_exception_free (&ev); - - CORBA_exception_init (&ev); - GNOME_GtkMathView_View_thaw(interface, &ev); - CORBA_exception_free (&ev); - - CORBA_exception_init (&ev); - Bonobo_Unknown_unref (interface, &ev); - CORBA_Object_release (interface, &ev); - CORBA_exception_free (&ev); -} - -static void -exit_cb (GtkWidget *widget, - gpointer data) -{ - gtk_widget_destroy (GTK_WIDGET (data)); - bonobo_main_quit (); -} - -static void -get_size(GtkWidget *widget, - gpointer data) -{ - gint width,height; - BonoboWidget* control; - BonoboControlFrame* control_frame; - - Bonobo_PropertyBag prop_bag; - - control = BONOBO_WIDGET (bonobo_window_get_contents (BONOBO_WINDOW (data))); - control_frame = bonobo_widget_get_control_frame(BONOBO_WIDGET(control)); - prop_bag = bonobo_control_frame_get_control_property_bag(control_frame, NULL); - - width = bonobo_pbclient_get_long(prop_bag,"width",NULL); - height = bonobo_pbclient_get_long(prop_bag,"height",NULL); - - printf("Width: %d Height: %d\n",width,height); - - bonobo_object_release_unref (prop_bag,NULL); - -}; - -static void -get_top(GtkWidget *widget, - gpointer data) -{ - gint top_x,top_y; - BonoboWidget* control; - BonoboControlFrame* control_frame; - Bonobo_PropertyBag prop_bag; - - control = BONOBO_WIDGET(bonobo_window_get_contents(BONOBO_WINDOW(data))); - control_frame = bonobo_widget_get_control_frame(BONOBO_WIDGET(control)); - prop_bag = bonobo_control_frame_get_control_property_bag(control_frame,NULL); - - top_x = bonobo_pbclient_get_long(prop_bag,"top-x",NULL); - top_y = bonobo_pbclient_get_long(prop_bag,"top-y",NULL); - - printf("Top X: %d ,Top Y: %d\n",top_x,top_y); - - bonobo_object_release_unref(prop_bag,NULL); -} - -static void -get_font_size(GtkWidget *widget, - gpointer data) -{ - gint font_size; - BonoboWidget* control; - BonoboControlFrame* control_frame; - Bonobo_PropertyBag prop_bag; - - control = BONOBO_WIDGET(bonobo_window_get_contents(BONOBO_WINDOW(data))); - control_frame = bonobo_widget_get_control_frame(BONOBO_WIDGET(control)); - prop_bag = bonobo_control_frame_get_control_property_bag(control_frame,NULL); - - font_size = bonobo_pbclient_get_long(prop_bag,"font-size",NULL); - - printf("FontSize : %d\n",font_size); - - bonobo_object_release_unref(prop_bag,NULL); -} - -static void -get_verbosity(GtkWidget *widget, - gpointer data) -{ - gint verbosity; - BonoboWidget* control; - BonoboControlFrame* control_frame; - Bonobo_PropertyBag prop_bag; - - control = BONOBO_WIDGET(bonobo_window_get_contents(BONOBO_WINDOW(data))); - control_frame = bonobo_widget_get_control_frame(BONOBO_WIDGET(control)); - prop_bag = bonobo_control_frame_get_control_property_bag(control_frame,NULL); - - verbosity = bonobo_pbclient_get_long(prop_bag,"verbosity",NULL); - - printf("Verbosity: %d\n",verbosity); - - bonobo_object_release_unref(prop_bag,NULL); -} - -static BonoboUIVerb verbs [] = { - BONOBO_UI_UNSAFE_VERB ("OpenFile", open_through_persist_file_cb), - BONOBO_UI_UNSAFE_VERB ("OpenStream", open_through_persist_stream_cb), - BONOBO_UI_UNSAFE_VERB ("TestView", test_view), - BONOBO_UI_UNSAFE_VERB ("Size", get_size), - BONOBO_UI_UNSAFE_VERB ("Top", get_top), - BONOBO_UI_UNSAFE_VERB ("Font Size", get_font_size), - BONOBO_UI_UNSAFE_VERB ("Verbosity", get_verbosity), - BONOBO_UI_UNSAFE_VERB ("FileExit", exit_cb), - BONOBO_UI_VERB_END -}; - -/* A dirty, non-translatable hack */ -static char ui [] = -"" -" " -" " -" " -" " -" " -" " -" " -" " -" " -" " -" " -" " -" " -" " -" " -" " - -" " - -" " - -" " -" " -" " -" " -" " -""; - -static int -app_delete_cb (GtkWidget *widget, GdkEvent *event, gpointer dummy) -{ - gtk_widget_destroy (GTK_WIDGET (widget)); - bonobo_main_quit (); - - return FALSE; -} - -static guint -container_create (void) -{ - GtkWidget *win; - GtkWindow *window; - BonoboUIComponent *component; - BonoboUIContainer *container; - CORBA_Environment ev; - - - win = bonobo_window_new ("test-editor", - "GtkMathView Control Test"); - window = GTK_WINDOW (win); - - container = bonobo_window_get_ui_container (BONOBO_WINDOW (win)); - - g_signal_connect (window, "delete_event", G_CALLBACK (app_delete_cb), NULL); - - gtk_window_set_default_size (window, 600, 440); - gtk_window_set_resizable (window, TRUE); - - component = bonobo_ui_component_new ("test"); - bonobo_running_context_auto_exit_unref (BONOBO_OBJECT (component)); - - bonobo_ui_component_set_container (component, BONOBO_OBJREF (container), NULL); - bonobo_ui_component_add_verb_list_with_data (component, verbs, win); - bonobo_ui_component_set_translate (component, "/", ui, NULL); - - control = bonobo_widget_new_control (CONTROL_ID, BONOBO_OBJREF (container)); - - if (control == NULL) - g_error ("Cannot get `%s'.", CONTROL_ID); - - bonobo_window_set_contents (BONOBO_WINDOW (win), control); - - gtk_widget_show_all (GTK_WIDGET (window)); - - CORBA_exception_init (&ev); - - return FALSE; -} - -static gint -load_file (const gchar *fname) -{ - CORBA_Object interface; - CORBA_Environment ev; - - printf ("loading: %s\n", fname); - CORBA_exception_init (&ev); - interface = Bonobo_Unknown_queryInterface (bonobo_widget_get_objref (BONOBO_WIDGET (control)), - "IDL:Bonobo/PersistFile:1.0", &ev); - CORBA_exception_free (&ev); - load_through_persist_file (fname, interface); - - return FALSE; -} - -static gint -load_file_stream(const gchar *fname) -{ - CORBA_Object interface; - CORBA_Environment ev; - - printf("loading with stream %s\n",fname); - CORBA_exception_init(&ev); - interface = Bonobo_Unknown_queryInterface(bonobo_widget_get_objref(BONOBO_WIDGET(control)), - "IDL:Bonobo/PersistStream:1.0",&ev); - - CORBA_exception_free(&ev); - load_through_persist_stream(fname,interface); - - return FALSE; -} - -/* -static void -install_property_bag_listener (BonoboWidget *control, BonoboWindow *bonobo_win) -{ - Bonobo_Listener corba_listener; - BonoboListener *listener; - BonoboControlFrame *control_frame; - CORBA_Environment ev; - Bonobo_PropertyBag prop_bag; - - CORBA_exception_init(&ev); - - control_frame = bonobo_widget_get_control_frame(BONOBO_WIDGET(control)); - if(!control_frame) - g_error("can't find control frame\n"); - - prop_bag = bonobo_control_frame_get_control_property_bag(control_frame, NULL); - if(prop_bag == CORBA_OBJECT_NIL) - g_error("can't connect to property bag\n"); - - //connect a listener to the property bag - bonobo_event_source_client_add_listener(prop_bag, (BonoboListenerCallbackFn) width_changed, - "Bonobo/Property:change:width",NULL,bonobo_win); - - bonobo_event_source_client_add_listener(prop_bag, (BonoboListenerCallbackFn)height_changed, - "Bonobo/Property:change:height",NULL,bonobo_win); - bonobo_event_source_client_add_listener(prop_bag, (BonoboListenerCallbackFn)top_x_changed, - "Bonobo/Property:change:top-x",NULL,bonobo_win); - bonobo_event_source_client_add_listener(prop_bag, (BonoboListenerCallbackFn)top_y_changed, - "Bonobo/Property:change:top-y",NULL,bonobo_win); - bonobo_event_source_client_add_listener(prop_bag, (BonoboListenerCallbackFn)font_size_changed, - "Bonobo/Property:change:font-size",NULL,bonobo_win); - bonobo_event_source_client_add_listener(prop_bag, (BonoboListenerCallbackFn)anti_aliasing_changed, - "Bonobo/Property:change:verbosity",NULL,bonobo_win); - bonobo_event_source_client_add_listener(prop_bag, (BonoboListenerCallbackFn)font_manager_changed, - "Bonobo/Property:change:font_manager",NULL,bonobo_win); - CORBA_exception_free(&ev); -}*/ - - -int -main (int argc, char **argv) -{ - gnome_program_init("test-editor", VERSION, LIBGNOMEUI_MODULE, argc, argv, - GNOME_PROGRAM_STANDARD_PROPERTIES, - GNOME_PARAM_HUMAN_READABLE_NAME, _("GtkMathView Test Container"), - NULL); - - bonobo_activate (); - - /* We can't make any CORBA calls unless we're in the main loop. So we - delay creating the container here. */ - gtk_idle_add ((GtkFunction) container_create, NULL); - if (argc > 1 && *argv [argc - 1] != '-') - gtk_idle_add ((GtkFunction) load_file, argv [argc - 1]); - - bonobo_activate (); - bonobo_main (); - - return bonobo_ui_debug_shutdown (); -} diff --git a/helm/gtkmathview-bonobo/test/test.mml b/helm/gtkmathview-bonobo/test/test.mml deleted file mode 100644 index 2436838bf..000000000 --- a/helm/gtkmathview-bonobo/test/test.mml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - a - - x - - + - b - - - - x - 2 - - + - - p - - x - - + - q - - - - ... - - d - x - = - - - a2 - - - ln - - - ( - - x2 - + - - p - - x - - + - q - - ) - - - - + - - - - - 2 - - b - - - - - a - - p - - - - - - 4 - - q - - - - - p - 2 - - - - - - - arctg - - - - - 2 - - x - - + - p - - - - - 4 - - q - - - - - p - 2 - - - - - - - + - c - - - go to Luca's home page - diff --git a/helm/gtkmathview-bonobo/test/testembedding.html b/helm/gtkmathview-bonobo/test/testembedding.html deleted file mode 100644 index e894388d6..000000000 --- a/helm/gtkmathview-bonobo/test/testembedding.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -

GtkMathView-Bonobo test page

- -The embedded object should display a mathematical formula. -
-
- -No viewer capable of displaying the test document installed. - - - - diff --git a/helm/header/getheader.xml b/helm/header/getheader.xml deleted file mode 100644 index a0f903f87..000000000 --- a/helm/header/getheader.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - String baseURL = request.getParameter("baseurl"); - String styleURL1 = request.getParameter("stylesheet1"); - String styleURL2 = request.getParameter("stylesheet2"); - String xmlURI = request.getParameter("xmluri"); - String annURI = request.getParameter("annuri"); - - baseURL - styleURL1 - styleURL2 - xmlURI - annURI - - diff --git a/helm/header/provaurl b/helm/header/provaurl deleted file mode 100644 index 86344dc78..000000000 --- a/helm/header/provaurl +++ /dev/null @@ -1 +0,0 @@ -http://phd.cs.unibo.it/helm/PARSER/examples/header/getheader.xml?baseurl=http://cartoonia.cs.unibo.it/helm/PARSER/examples/style/&stylesheet1=content.xsl&stylesheet2=mmlextension.xsl&xmlfile=file:///really_very_local/helm/PARSER/examples/prove/provaIota/bool_ind.con.xml diff --git a/helm/header/provaurl1 b/helm/header/provaurl1 deleted file mode 100644 index d95769884..000000000 --- a/helm/header/provaurl1 +++ /dev/null @@ -1,2 +0,0 @@ -http://cartoonia.cs.unibo.it/helm/PARSER/examples/header/getheader.xml?baseurl=http://cartoonia.cs.unibo.it/helm/PARSER/examples/style/&stylesheet1=content.xsl&stylesheet2=content_to_html.xsl&xmlfile=/really_very_local/helm/PARSER/examples/prove/prova/forest_rec.con.xml:wq - diff --git a/helm/header/setheader.xsl b/helm/header/setheader.xsl deleted file mode 100644 index dd6ecad34..000000000 --- a/helm/header/setheader.xsl +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - -http://localhost:8081/getciconly?uri= - - - - - - - type="text/xml" - href="" type="text/xsl" - type="xslt" - - - - - - - - - - - - - diff --git a/helm/helm_data/.cvsignore b/helm/helm_data/.cvsignore deleted file mode 100644 index cbb473e0b..000000000 --- a/helm/helm_data/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile configure config.log config.cache config.status diff --git a/helm/helm_data/AUTHORS b/helm/helm_data/AUTHORS deleted file mode 100644 index 963977a6f..000000000 --- a/helm/helm_data/AUTHORS +++ /dev/null @@ -1,4 +0,0 @@ -Andrea Asperti -Luca Padovani -Claudio Sacerdoti Coen -Irene Schena diff --git a/helm/helm_data/COPYING b/helm/helm_data/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/helm/helm_data/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/helm/helm_data/ChangeLog b/helm/helm_data/ChangeLog deleted file mode 100644 index 20c36b475..000000000 --- a/helm/helm_data/ChangeLog +++ /dev/null @@ -1 +0,0 @@ -28/12/2000: First alpha release diff --git a/helm/helm_data/LICENSE b/helm/helm_data/LICENSE deleted file mode 100644 index 72f9426c8..000000000 --- a/helm/helm_data/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (C) 2000, HELM Team. - -This file is part of HELM, an Hypertextual, Electronic -Library of Mathematics, developed at the Computer Science -Department, University of Bologna, Italy. - -HELM is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -HELM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with HELM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -For details, see the HELM World-Wide-Web page, -http://cs.unibo.it/helm/. diff --git a/helm/helm_data/LICENSE.ml b/helm/helm_data/LICENSE.ml deleted file mode 100644 index 2f1b31e35..000000000 --- a/helm/helm_data/LICENSE.ml +++ /dev/null @@ -1,25 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - diff --git a/helm/helm_data/LICENSE.script b/helm/helm_data/LICENSE.script deleted file mode 100644 index bad51618d..000000000 --- a/helm/helm_data/LICENSE.script +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2000, HELM Team. -# -# This file is part of HELM, an Hypertextual, Electronic -# Library of Mathematics, developed at the Computer Science -# Department, University of Bologna, Italy. -# -# HELM is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# HELM is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with HELM; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# For details, see the HELM World-Wide-Web page, -# http://cs.unibo.it/helm/. diff --git a/helm/helm_data/LICENSE.xml b/helm/helm_data/LICENSE.xml deleted file mode 100644 index 6077c5215..000000000 --- a/helm/helm_data/LICENSE.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/helm_data/Makefile.in b/helm/helm_data/Makefile.in deleted file mode 100644 index 498577fa0..000000000 --- a/helm/helm_data/Makefile.in +++ /dev/null @@ -1,23 +0,0 @@ - -HELM_DTD_DIR=@HELM_DTD_DIR@ -HELM_STYLE_DIR=@HELM_STYLE_DIR@ - -all: - -install: - cp dtd/* $(HELM_DTD_DIR) - cp style/*.xsl $(HELM_STYLE_DIR) - -clean: - -distclean: clean - rm -f Makefile configure config.log config.cache config.status *.spec - rm -rf dtd style - -dist: clean - rm -rf ../@PACKAGE@-@VERSION@ - mkdir ../@PACKAGE@-@VERSION@ - cp -r * ../@PACKAGE@-@VERSION@ - (cd .. ; tar cvfz @PACKAGE@-@VERSION@.tar.gz @PACKAGE@-@VERSION@ ; rm -rf @PACKAGE@-@VERSION@) - -.PHONY: all install distclean diff --git a/helm/helm_data/NEWS b/helm/helm_data/NEWS deleted file mode 100644 index 20c36b475..000000000 --- a/helm/helm_data/NEWS +++ /dev/null @@ -1 +0,0 @@ -28/12/2000: First alpha release diff --git a/helm/helm_data/README b/helm/helm_data/README deleted file mode 100644 index cc0522b13..000000000 --- a/helm/helm_data/README +++ /dev/null @@ -1,9 +0,0 @@ -NOTE: This is the first alpha release of project HELM. - -HELM (Hypertextual Electronic Library of Mathematics) is a project aimed -at the creation of tools for the development and exploitation of a huge -distributed library of formal mathematical knowledge. This package holds -the base DTDs and XSLT stylesheets developed by the members of project -HELM. - -For more information see http://www.cs.unibo.it/helm diff --git a/helm/helm_data/config.cache.pkg b/helm/helm_data/config.cache.pkg deleted file mode 100644 index 5d80ae922..000000000 --- a/helm/helm_data/config.cache.pkg +++ /dev/null @@ -1,4 +0,0 @@ -# This is the config.cache that holds the ``standard'' path for the -# HELM library. It is supposed to be used when creating packages - -helm_cv_HELM_DTDS_DIR=${helm_cv_HELM_DTDS_DIR='$RESOLVED_PREFIX/share/helm/dtd'} diff --git a/helm/helm_data/configure.in b/helm/helm_data/configure.in deleted file mode 100644 index 635258995..000000000 --- a/helm/helm_data/configure.in +++ /dev/null @@ -1,61 +0,0 @@ -AC_INIT(dtd/cic.dtd) - -PACKAGE=helm_data -MAJOR_VERSION=0 -MINOR_VERSION=0 -MICRO_VERSION=2 -VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION - -DEFAULT_HELM_DTD_DIR=/usr/local/share/helm/dtd -DEFAULT_HELM_STYLE_DIR=/usr/local/share/helm/style - -AC_ARG_ENABLE( - defaults, - [ --enable-defaults[=ARG] if yes then use defaults (don't ask user) [default=auto]], - USE_DEFAULTS=$enableval, - USE_DEFAULTS=auto -) - -if test $USE_DEFAULTS = auto; then - AC_CHECK_PROG(HAVE_HELM_CONFIG, helm-config, yes, no) - if test $HAVE_HELM_CONFIG = yes; then - HELM_DTD_DIR=`helm-config --dtd-dir` - HELM_STYLE_DIR=`helm-config --style-dir` - else - USE_DEFAULTS=no - fi -fi - -if test $USE_DEFAULTS = no; then - echo - echo "\`helm-config' is not installed (or I can't find it in your path)." - echo "Please, insert the directory where I can find the DTDs for HELM..." - echo - echo -n "[[$DEFAULT_HELM_DTD_DIR]] ? " - read HELM_DTD_DIR - if test "x$HELM_DTD_DIR" = "x"; then - HELM_DTD_DIR=$DEFAULT_HELM_DTD_DIR - fi - echo - echo "Please, insert the directory where I can find the stylesheets for HELM..." - echo - echo -n "[[$DEFAULT_HELM_STYLE_DIR]] ? " - read HELM_STYLE_DIR - if test "x$HELM_STYLE_DIR" = "x"; then - HELM_STYLE_DIR=$DEFAULT_HELM_STYLE_DIR - fi -elif test $USE_DEFAULTS = yes; then - HELM_DTD_DIR=$DEFAULT_HELM_DTD_DIR - HELM_STYLE_DIR=$DEFAULT_HELM_STYLE_DIR -fi - -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_SUBST(HELM_DTD_DIR) -AC_SUBST(HELM_STYLE_DIR) - -AC_OUTPUT([ - Makefile - helm_data.spec -]) - diff --git a/helm/helm_data/helm_data.spec.in b/helm/helm_data/helm_data.spec.in deleted file mode 100644 index 387a06f4b..000000000 --- a/helm/helm_data/helm_data.spec.in +++ /dev/null @@ -1,34 +0,0 @@ -Summary: The base DTDs and XSLT stylesheets of project HELM -Name: @PACKAGE@ -Version: @VERSION@ -Release: 1 -Copyright: GPL -URL: http://www.cs.unibo.it/helm -Packager: Claudio Sacerdoti Coen -Requires: helm_configuration >= 0.0.2 -Group: Applications/Publishing -Source: www.cs.unibo.it:/helm/@PACKAGE@-@VERSION@.tar.gz -%description -HELM (Hypertextual Electronic Library of Mathematics) is a project aimed -at the creation of tools for the development and exploitation of a huge -distributed library of formal mathematical knowledge. This package holds -the base DTDs and XSLT stylesheets developed by the members of project -HELM. -For more information see http://www.cs.unibo.it/helm - -%prep -%setup - -%build -cp config.cache.pkg config.cache -./configure --enable-defaults -make - -%install -make install - -%files -%doc AUTHORS COPYING ChangeLog NEWS README - -/usr/local/share/helm/dtd -/usr/local/share/helm/style diff --git a/helm/helmpot/.cvsignore b/helm/helmpot/.cvsignore deleted file mode 100644 index d6cea24b1..000000000 --- a/helm/helmpot/.cvsignore +++ /dev/null @@ -1,18 +0,0 @@ -.emacs.desktop -config.h -config.h.in -config.cache -config.log -config.status -configure -configure.scan -t1lib.log -stamp-h -stamp-h.in -Makefile -Makefile.in -*.gz -aclocal.m4 -*.spec -.deps -helmpot diff --git a/helm/helmpot/AUTHORS b/helm/helmpot/AUTHORS deleted file mode 100644 index fe59f14d6..000000000 --- a/helm/helmpot/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Luca Padovani diff --git a/helm/helmpot/ChangeLog b/helm/helmpot/ChangeLog deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/helmpot/LICENSE b/helm/helmpot/LICENSE deleted file mode 100644 index eef8774f4..000000000 --- a/helm/helmpot/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of HelmPot, a minimal browser for HELM. - * - * HelmPot is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HelmPot is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HelmPot; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, see the HelmPot World-Wide-Web page, - * http://cs.unibo.it/helm/helmview, or send a mail to - * - */ diff --git a/helm/helmpot/Makefile.am b/helm/helmpot/Makefile.am deleted file mode 100644 index d730de386..000000000 --- a/helm/helmpot/Makefile.am +++ /dev/null @@ -1,26 +0,0 @@ - -CLEANFILES = core t1lib.log helmpot.spec - -bin_PROGRAMS = helmpot - -noinst_HEADERS = guiGTK.h - -helmpot_SOURCES = \ - main.c \ - guiGTK.c - -backup: - tar cvfz ../@PACKAGE@-@VERSION@-`date|tr ' ' '_'|tr ':' '_'`.tar.gz . - -cleanbak: - -rm -f `find . -name "*~"` - -lc: - @( \ - CFILES=`find . -name "*.c"`; \ - HFILES=`find . -name "*.h"`; \ - wc -l $$CFILES $$HFILES | tail -n 1 \ - ) - -INCLUDES = $(GTK_CFLAGS) - diff --git a/helm/helmpot/NEWS b/helm/helmpot/NEWS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/helmpot/README b/helm/helmpot/README deleted file mode 100644 index 2e7cb0da0..000000000 --- a/helm/helmpot/README +++ /dev/null @@ -1,18 +0,0 @@ - -HELMPoT -------- - -HELMPoT is a small plug-out for Netscape Navigator in order to -browse the HELM library. After installing the binary somewhere -in your hard disk, just configure a new helper application in -Netscape associated to the text/xml MIME type. The command -to be executed should something of the kind: - - helmpot '%s' - -assuming that helmpot is visible in your path. - -Enjoy, - - luca.padovani@cs.unibo.it - diff --git a/helm/helmpot/acconfig.h b/helm/helmpot/acconfig.h deleted file mode 100644 index b65cd2c64..000000000 --- a/helm/helmpot/acconfig.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of HelmPot, a minimal browser for HELM. - * - * HelmPot is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HelmPot is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HelmPot; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, see the HelmPot World-Wide-Web page, - * http://cs.unibo.it/helm/helmview, or send a mail to - * - */ - -#ifndef __config_h__ -#define __config_h__ - -#define PRIVATE static - -@TOP@ - -/* If defined the widget will perform a huge amount - * of validity checks while running - */ -#undef ENABLE_CHECKS - -#ifdef ENABLE_CHECKS -#define DEBUG -#else -#define NDEBUG -#define G_DISABLE_ASSERT -#define G_DISABLE_CHECKS -#endif - -@BOTTOM@ - -#endif /* __config_h__ */ diff --git a/helm/helmpot/configure.in b/helm/helmpot/configure.in deleted file mode 100644 index 3d31a0d54..000000000 --- a/helm/helmpot/configure.in +++ /dev/null @@ -1,70 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(main.c) - -HELMPOT_MAJOR_VERSION=0 -HELMPOT_MINOR_VERSION=1 -HELMPOT_MICRO_VERSION=0 -HELMPOT_VERSION=$HELMPOT_MAJOR_VERSION.$HELMPOT_MINOR_VERSION.$HELMPOT_MICRO_VERSION -VERSION=$HELMPOT_VERSION - -AC_SUBST(HELMPOT_VERSION) - -AC_ARG_ENABLE( - checks, - [ --enable-checks[=ARG] include debugging checks [default=yes]], - [ - if test $enableval = yes; then - AC_DEFINE(ENABLE_CHECKS) - fi - ], - AC_DEFINE(ENABLE_CHECKS) -) - -dnl Automake configuration -AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(helmpot, $HELMPOT_VERSION) - -dnl Checks for programs. -AC_LANG_C -AC_PROG_CC -AC_ISC_POSIX -AC_CHECK_PROG(HAVE_COLORGCC, colorgcc, yes, no) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(unistd.h) -AC_FUNC_VFORK - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST - -dnl Check for iconv with const pointer as second argument -AC_LANG_C - -dnl Checks for libraries -AM_PATH_GTK(1.2.0, gtklib="yes", gtklib="no") - -if test $gtklib = "no"; then - AC_MSG_ERROR(GTK is needed in order to use helmpot) -fi - -CFLAGS="$CFLAGS @GTKMATHVIEW_CFLAGS@" -CXXFLAGS="$CXXFLAGS @GTKMATHVIEW_CFLAGS@" -LIBS="$LIBS @GTKMATHVIEW_LIBS@" - -PKG_CHECK_MODULES(GTKMATHVIEW, gtkmathview >= 0.3.0,, AC_MSG_ERROR(could not find gtkmathview)) -AC_SUBST(GTKMATHVIEW_CFLAGS) -AC_SUBST(GTKMATHVIEW_LIBS) - -if test $HAVE_COLORGCC = "yes"; then - CC=colorgcc - CXX=colorgcc -fi - -CFLAGS="$CFLAGS -W -Wall" -CXXFLAGS="$CXXFLAGS -W -Wall" - -AC_OUTPUT([ -Makefile -helmpot.spec -]) diff --git a/helm/helmpot/debian/changelog b/helm/helmpot/debian/changelog deleted file mode 100644 index 32467c728..000000000 --- a/helm/helmpot/debian/changelog +++ /dev/null @@ -1,42 +0,0 @@ -helmpot (0.1.0-2) unstable; urgency=low - - * debian/control - - bumped standards-version to 3.5.10 - - bumped dependency on debhelper to 4.0.0 - - added ${misc:Depends} - - added build dep on pkg-config - - -- Stefano Zacchiroli Wed, 25 Jun 2003 18:20:33 +0200 - -helmpot (0.1.0-1) unstable; urgency=low - - * New release. - - -- Stefano Zacchiroli Sat, 11 May 2002 11:52:35 +0200 - -helmpot (0.0.4-1) unstable; urgency=low - - * New release. - - -- Stefano Zacchiroli Wed, 14 Nov 2001 14:48:17 +0100 - -helmpot (0.0.3-1) unstable; urgency=low - - * Bug fix related to selection - -- Claudio Sacerdoti Coen Fri, 05 Oct 2001 19:40:06 +0200 - -helmpot (0.0.2-1) unstable; urgency=low - - * Small bug fix related to maction - - -- Claudio Sacerdoti Coen Mon, 27 Aug 2001 19:00:00 +0200 - -helmpot (0.0.1-1) unstable; urgency=low - - * Initial Release. - - -- Luca Padovani Thu, 12 Apr 2001 17:18:05 +0200 - -Local variables: -mode: debian-changelog -End: diff --git a/helm/helmpot/debian/control b/helm/helmpot/debian/control deleted file mode 100644 index 5deb9e0b4..000000000 --- a/helm/helmpot/debian/control +++ /dev/null @@ -1,14 +0,0 @@ -Source: helmpot -Section: misc -Priority: optional -Maintainer: Stefano Zacchiroli -Build-Depends: debhelper (>> 4.0.0), libgtkmathview-dev, pkg-config -Standards-Version: 3.5.10 - -Package: helmpot -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: A minimal browser for the HELM library. - 'helmpot' is a minimal browser, in the form of a plug-out, for - browsing the HELM library (MathML presentation). - diff --git a/helm/helmpot/debian/copyright b/helm/helmpot/debian/copyright deleted file mode 100644 index e2472b069..000000000 --- a/helm/helmpot/debian/copyright +++ /dev/null @@ -1,30 +0,0 @@ -This package was debianized by Luca Padovani on -Thu, 12 Apr 2001 17:18:05 +0200. - -It was packed from source obtained via cvs, with this CVSROOT: - :pserver:anonymous@phd.cs.unibo.it:/home/lpadovan/PHELM/ - -Author: Luca Padovani - -Copyright: - Copyright (C) 2000, Luca Padovani . - - This file is part of HelmPot, a minimal browser for HELM. - - HelmPot is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - HelmPot is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with HelmPot; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - For details, see the HelmPot World-Wide-Web page, - http://cs.unibo.it/helm/helmpot, or send a mail to - diff --git a/helm/helmpot/debian/docs b/helm/helmpot/debian/docs deleted file mode 100644 index 6f12db508..000000000 --- a/helm/helmpot/debian/docs +++ /dev/null @@ -1,2 +0,0 @@ -AUTHORS -README diff --git a/helm/helmpot/debian/rules b/helm/helmpot/debian/rules deleted file mode 100755 index 75b3d8af5..000000000 --- a/helm/helmpot/debian/rules +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This is the debhelper compatability version to use. -export DH_COMPAT=2 - -build: build-stamp -build-stamp: - dh_testdir - - ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info - # Add here commands to compile the package. - $(MAKE) - - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - - # Add here commands to clean up after the build process. - -$(MAKE) distclean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/tmp. - $(MAKE) install prefix=$(CURDIR)/debian/helmpot/usr - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot -# dh_installdebconf - dh_installdocs -# dh_installexamples -# dh_installmenu -# dh_installemacsen -# dh_installpam -# dh_installinit -# dh_installcron -# dh_installmanpages - dh_installinfo - dh_undocumented - dh_installchangelogs ChangeLog - dh_link - dh_strip - dh_compress - dh_fixperms - # You may want to make some executables suid here. -# dh_makeshlibs - dh_installdeb -# dh_perl - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install diff --git a/helm/helmpot/guiGTK.c b/helm/helmpot/guiGTK.c deleted file mode 100644 index 906daf2b6..000000000 --- a/helm/helmpot/guiGTK.c +++ /dev/null @@ -1,684 +0,0 @@ -/* - * Copyright (C) 2000-2002, Luca Padovani . - * - * This file is part of HelmPot, a minimal browser for HELM. - * - * HelmPot is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HelmPot is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HelmPot; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, see the HelmPot World-Wide-Web page, - * http://cs.unibo.it/helm/helmview, or send a mail to - * - */ - -#include - -#include -#include -#include -#include -#if HAVE_UNISTD_H -# include -# include -# include -# include -#endif -#include -#include - -#include "gtkmathview.h" -#include "guiGTK.h" - -#define XLINK_NS_URI "http://www.w3.org/1999/xlink" - -#define pot_width 16 -#define pot_height 16 -PRIVATE unsigned char pot_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x07, - 0x00, 0x00, 0xe6, 0x2f, 0x34, 0x5f, 0xdc, 0x5f, 0xf8, 0x3f, 0xf8, 0x3f, - 0xf0, 0x1f, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00}; - -#define pot_mask_width 16 -#define pot_mask_height 16 -static unsigned char pot_mask_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xe0, 0x0f, 0xe0, 0x0f, - 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfc, 0x7f, - 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0x1f, 0x00, 0x00}; - -PRIVATE GtkWidget* window; -PRIVATE GtkWidget* main_area; -PRIVATE GtkWidget* scrolled_area; -PRIVATE GtkWidget* status_bar; -PRIVATE GtkMenuItem* kerning_item; -PRIVATE GtkMenuItem* anti_aliasing_item; -PRIVATE GtkMenuItem* font_size_item; -PRIVATE gchar* file_name = NULL; - -PRIVATE GdkCursor* normal_cursor; -PRIVATE GdkCursor* link_cursor; -PRIVATE GdkCursor* pot_cursor; - -PRIVATE gboolean loading = FALSE; -PRIVATE guint statusbar_context; - -PRIVATE void create_widget_set(void); -PRIVATE GtkWidget* get_main_menu(void); -PRIVATE void options_font_size(GtkWidget*, guint); -PRIVATE void options_font_manager(GtkWidget*, guint); -PRIVATE void options_verbosity(GtkWidget*, guint); -PRIVATE void options_kerning(GtkWidget*, gpointer); -PRIVATE void options_anti_aliasing(GtkWidget*, gpointer); -PRIVATE void help_about(GtkWidget*, gpointer); -PRIVATE void save_as(GtkWidget*); -PRIVATE void export_to_ps(GtkWidget*); - -PRIVATE GtkItemFactoryEntry menu_items[] = { - { "/_File", NULL, NULL, 0, "" }, - { "/File/Save _As...", NULL, save_as, 0, NULL }, - { "/File/_Export to PostScript...", NULL, export_to_ps, 0, NULL }, - { "/File/sep1", NULL, NULL, 0, "" }, - { "/File/_Quit", "Q", gtk_main_quit, 0, NULL }, - - { "/_Options", NULL, NULL, 0, "" }, - { "/Options/Default _Font Size", NULL, NULL, 0, "" }, - { "/Options/Default Font Size/8pt", NULL, options_font_size, 8, "" }, - { "/Options/Default Font Size/10pt", NULL, options_font_size, 10, "/Options/Default Font Size/8pt" }, - { "/Options/Default Font Size/12pt", NULL, options_font_size, 12, "/Options/Default Font Size/8pt" }, - { "/Options/Default Font Size/14pt", NULL, options_font_size, 14, "/Options/Default Font Size/8pt" }, - { "/Options/Default Font Size/18pt", NULL, options_font_size, 18, "/Options/Default Font Size/8pt" }, - { "/Options/Default Font Size/24pt", NULL, options_font_size, 24, "/Options/Default Font Size/8pt" }, - { "/Options/Font Manager", NULL, NULL, 0, "" }, - { "/Options/Font Manager/_GTK", NULL, options_font_manager, 0, "" }, - { "/Options/Font Manager/_Type 1", NULL, options_font_manager, 1, "/Options/Font Manager/GTK" }, - { "/Options/Verbosity", NULL, NULL, 0, "" }, - { "/Options/Verbosity/_Errors", NULL, options_verbosity, 0, "" }, - { "/Options/Verbosity/_Warnings", NULL, options_verbosity, 1, "/Options/Verbosity/Errors" }, - { "/Options/Verbosity/_Info", NULL, options_verbosity, 2, "/Options/Verbosity/Errors" }, - { "/Options/Verbosity/_Debug", NULL, options_verbosity, 3, "/Options/Verbosity/Errors" }, - { "/Options/sep1", NULL, NULL, 0, "" }, - { "/Options/_Kerning", NULL, options_kerning, 0, "" }, - { "/Options/_Anti Aliasing", NULL, options_anti_aliasing, 0, "" }, - - { "/_Help" , NULL, NULL, 0, "" }, - { "/Help/About...", NULL, help_about, 0, NULL } -}; - -PRIVATE void -quick_message(const gchar* msg) -{ - GtkWidget* dialog; - GtkWidget* label; - GtkWidget* okay_button; - - /* Create the widgets */ - - dialog = gtk_dialog_new(); - label = gtk_label_new (msg); - okay_button = gtk_button_new_with_label("OK"); - - gtk_widget_set_usize(dialog, 300, 100); - - /* Ensure that the dialog box is destroyed when the user clicks ok. */ - - gtk_signal_connect_object (GTK_OBJECT (okay_button), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT(dialog)); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), - okay_button); - - /* Add the label, and show everything we've added to the dialog. */ - - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); - gtk_widget_show_all (dialog); -} - -PRIVATE void -load_error_msg(const gchar* name) -{ - gchar* msg = g_strdup_printf("Could not load\n`%s'", name); - quick_message(msg); - g_free(msg); -} - -PRIVATE void -save_error_msg(const gchar* name) -{ - gchar* msg = g_strdup_printf("Could not save\n`%s'", name); - quick_message(msg); - g_free(msg); -} - -void -GUI_init(gint* argc, gchar*** argv, gchar* title, guint width, guint height, GtkFunction f, guint32 timeout) -{ - GdkPixmap* source; - GdkPixmap* mask; - - GdkColor fg = { 0, 65535, 65535, 65535 }; - GdkColor bg = { 0, 0, 0, 0 }; - - gtk_init(argc, argv); - - window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_title(GTK_WINDOW(window), title); - gtk_window_set_default_size(GTK_WINDOW(window), width, height); - gtk_signal_connect(GTK_OBJECT(window), "delete_event", (GtkSignalFunc) gtk_main_quit, NULL); - create_widget_set(); - - gtk_widget_show(window); - - gtk_timeout_add(timeout, f, NULL); - - normal_cursor = gdk_cursor_new(GDK_TOP_LEFT_ARROW); - link_cursor = gdk_cursor_new(GDK_HAND2); - - source = gdk_bitmap_create_from_data (NULL, pot_bits, - pot_width, pot_height); - mask = gdk_bitmap_create_from_data (NULL, pot_mask_bits, - pot_mask_width, pot_mask_height); - pot_cursor = gdk_cursor_new_from_pixmap (source, mask, &fg, &bg, 8, 8); - gdk_pixmap_unref (source); - gdk_pixmap_unref (mask); -} - -void -GUI_uninit() -{ -} - -int -GUI_load_document(const gchar* name) -{ - GtkMathView* math_view; - GtkMathViewClass* klass; - gboolean res; - - g_return_val_if_fail(name != NULL, -1); - g_return_val_if_fail(main_area != NULL, -1); - g_return_val_if_fail(GTK_IS_MATH_VIEW(main_area), -1); - - math_view = GTK_MATH_VIEW(main_area); - g_return_val_if_fail(math_view != NULL, -1); - - klass = (GtkMathViewClass*) gtk_type_class(gtk_math_view_get_type()); - g_return_val_if_fail(klass != NULL, -1); - - res = gtk_math_view_load(math_view, name); - gdk_window_set_cursor(main_area->window, normal_cursor); - loading = FALSE; - - if (!res) { - load_error_msg(name); - return -1; - } - - gtk_statusbar_pop(GTK_STATUSBAR(status_bar), statusbar_context); - if (strlen(name) > 40) name += strlen(name) - 40; - gtk_statusbar_push(GTK_STATUSBAR(status_bar), statusbar_context, name); - - if (file_name != NULL) g_free(file_name); - file_name = g_strdup(name); - - return 0; -} - -void -GUI_unload_document() -{ - GtkMathView* math_view; - - g_return_if_fail(main_area != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(main_area)); - - math_view = GTK_MATH_VIEW(main_area); - - gtk_math_view_unload(math_view); -} - -void -GUI_run() -{ - gtk_main(); -} - -PRIVATE void -options_font_size(GtkWidget* widget, guint size) -{ - GtkMathView* math_view; - - g_return_if_fail(main_area != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(main_area)); - - math_view = GTK_MATH_VIEW(main_area); - - gtk_math_view_set_font_size(math_view, size); -} - -PRIVATE void -options_font_manager(GtkWidget* widget, guint id) -{ - GtkMathView* math_view; - - g_return_if_fail(main_area != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(main_area)); - - math_view = GTK_MATH_VIEW(main_area); - - gtk_math_view_set_font_manager_type(math_view, id); -} - -PRIVATE void -options_anti_aliasing(GtkWidget* widget, gpointer data) -{ - gboolean aa = gtk_math_view_get_anti_aliasing(GTK_MATH_VIEW(main_area)); - gtk_math_view_set_anti_aliasing(GTK_MATH_VIEW(main_area), !aa); -} - -PRIVATE void -options_kerning(GtkWidget* widget, gpointer data) -{ - gboolean k = gtk_math_view_get_kerning(GTK_MATH_VIEW(main_area)); - gtk_math_view_set_kerning(GTK_MATH_VIEW(main_area), !k); -} - -PRIVATE void -options_verbosity(GtkWidget* widget, guint level) -{ - gtk_math_view_set_log_verbosity(GTK_MATH_VIEW(main_area), level); -} - -PRIVATE void -help_about(GtkWidget* widget, gpointer data) -{ - GtkWidget* dialog; - GtkWidget* label; - GtkWidget* ok; - - dialog = gtk_dialog_new(); - label = gtk_label_new("\n HELM PoT \n Copyright (C) 2001-2002 Luca Padovani \n"); - ok = gtk_button_new_with_label("Close"); - - gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), (gpointer) dialog); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area), - ok); - - gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); - - gtk_widget_show_all (dialog); -} - -PRIVATE void -export_filename(GtkFileSelection* selector, gpointer user_data) -{ - FILE* f; - GtkMathView* math_view; - gchar* selected_filename; - - selected_filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION(user_data)); - - math_view = GTK_MATH_VIEW(main_area); - - f = fopen(selected_filename, "wt"); - if (f == NULL) { - save_error_msg(selected_filename); - /*g_free(selected_filename);*/ - return; - } - - gtk_math_view_export_to_postscript(math_view, - (21 * SCALED_POINTS_PER_CM) / SCALED_POINTS_PER_PX, - (29 * SCALED_POINTS_PER_CM) / SCALED_POINTS_PER_PX, - SCALED_POINTS_PER_IN / SCALED_POINTS_PER_PX, - SCALED_POINTS_PER_IN / SCALED_POINTS_PER_PX, - FALSE, - f); - - fclose(f); - /*g_free(selected_filename);*/ -} - -PRIVATE void -save_filename(GtkFileSelection* selector, gpointer user_data) -{ - FILE* source; - FILE* dest; - gchar* buffer; - gchar* selected_filename; - - if (file_name == NULL) return; - - source = fopen(file_name, "rt"); - if (source == NULL) { - load_error_msg(file_name); - return; - } - - selected_filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION(user_data)); - if (selected_filename == NULL) return; - - dest = fopen(selected_filename, "wt"); - if (dest == NULL) { - save_error_msg(selected_filename); - /*g_free(selected_filename);*/ - return; - } - - /*g_free(selected_filename);*/ - - buffer = g_new(gchar, 2048); - while (!feof(source)) { - size_t n = fread(buffer, sizeof(gchar), 2048, source); - fwrite(buffer, sizeof(gchar), n, dest); - } - - g_free(buffer); - fclose(source); - fclose(dest); -} - -PRIVATE void -file_dialog(const gchar* title, GtkSignalFunc f) -{ - GtkWidget* fs; - - g_return_if_fail(title != NULL); - g_return_if_fail(f != NULL); - - fs = gtk_file_selection_new(title); - - gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION(fs)->ok_button), - "clicked", f, fs); - - /* Ensure that the dialog box is destroyed when the user clicks a button. */ - - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION(fs)->ok_button), - "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), - (gpointer) fs); - - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION(fs)->cancel_button), - "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), - (gpointer) fs); - - /* Display that dialog */ - - gtk_widget_show (fs); -} - -PRIVATE void -export_to_ps(GtkWidget* widget) -{ - file_dialog("Export to PostScript", export_filename); -#if 0 - static GList* items = NULL; - - GtkWidget* dialog; - GtkWidget* tmp; - - if (items == NULL) { - items = g_list_append(items, "A4"); - items = g_list_append(items, "A5"); - } - - dialog = gtk_dialog_new(); - tmp = gtk_label_new("Paper size"); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), tmp); - tmp = gtk_combo_new(); - gtk_combo_set_popdown_strings(GTK_COMBO(tmp), items); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), tmp); -#if 0 - tmp = gtk_check_button_new_with_label("Disable Colors"); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), tmp); -#endif - - tmp = gtk_button_new_with_label("OK"); - gtk_signal_connect_object(GTK_OBJECT(tmp), "clicked", GTK_SIGNAL_FUNC(export_to_ps_get_file_name), dialog); - gtk_signal_connect_object(GTK_OBJECT(tmp), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), dialog); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area), tmp); - tmp = gtk_button_new_with_label("Cancel"); - gtk_signal_connect_object(GTK_OBJECT(tmp), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), dialog); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area), tmp); - - gtk_widget_show_all(dialog); -#endif -} - -PRIVATE void -save_as(GtkWidget* widget) -{ - file_dialog("Save As...", save_filename); -} - -PRIVATE void -element_changed(GtkMathView* math_view, GdomeElement* elem) -{ - g_return_if_fail(math_view != NULL); - g_return_if_fail(main_area != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(math_view)); - /* fprintf(stderr, "node changed: %p %s\n", node, (node != NULL) ? mdom_node_get_name(node) : "-"); */ - - if (!loading) { - GdomeException exc = 0; - GdomeDOMString* namespaceURI = gdome_str_mkref(XLINK_NS_URI); - GdomeDOMString* localName = gdome_str_mkref("href"); - - if (elem != NULL) { - gdome_el_ref(elem, &exc); - g_assert(exc == 0); - } - - while (elem != NULL && !gdome_el_hasAttributeNS(elem, namespaceURI, localName, &exc)) { - GdomeElement* parent = gdome_cast_el(gdome_el_parentNode(elem, &exc)); - g_assert(exc == 0); - gdome_el_unref(elem, &exc); - g_assert(exc == 0); - elem = parent; - } - g_assert(exc == 0); - - gdome_str_unref(namespaceURI); - gdome_str_unref(localName); - - if (elem != NULL) { - gdome_el_unref(elem, &exc); - g_assert(exc == 0); - gdk_window_set_cursor(main_area->window, link_cursor); - } else - gdk_window_set_cursor(main_area->window, normal_cursor); - } -} - -PRIVATE void -selection_changed(GtkMathView* math_view, GdomeElement* elem) -{ - GdomeException exc = 0; - GdomeDOMString* localName = gdome_str_mkref("xref"); - - g_return_if_fail(math_view != NULL); - g_return_if_fail(GTK_IS_MATH_VIEW(math_view)); - - if (elem != NULL) { - gdome_el_ref(elem, &exc); - g_assert(exc == 0); - } - - while (elem != NULL && !gdome_el_hasAttribute(elem, localName, &exc)) { - GdomeElement* parent = gdome_cast_el(gdome_el_parentNode(elem, &exc)); - g_assert(exc == 0); - gdome_el_unref(elem, &exc); - g_assert(exc == 0); - elem = parent; - } - - gdome_str_unref(localName); - - gtk_math_view_set_selection(math_view, elem); - if (elem != NULL) { - gdome_el_unref(elem, &exc); - g_assert(exc == 0); - } -} - -PRIVATE void -jump(GdomeDOMString* href) -{ - pid_t pid; - g_return_if_fail(href != NULL); - - gdk_window_set_cursor(main_area->window, pot_cursor); - loading = TRUE; - pid = fork(); - if (pid == -1) exit(-1); - if (pid == 0) { - gchar* open_url = g_strdup_printf("openURL(%s,cic)", href->str); - gint fd; - - close(0); - close(1); - close(2); - - fd = open("/dev/null", O_RDWR); - dup(fd); - dup(fd); - - execlp("netscape", "netscape", "-noraise", "-remote", open_url, NULL); - perror("exec failed:"); - exit(-1); - } -} - -PRIVATE void -clicked(GtkMathView* math_view, gpointer user_data) -{ - GdomeException exc = 0; - GdomeDOMString* namespaceURI = gdome_str_mkref(XLINK_NS_URI); - GdomeDOMString* localName = gdome_str_mkref("href"); - - GdomeElement* p = gtk_math_view_get_element(math_view); - while (p != NULL && !gdome_el_hasAttributeNS(p, namespaceURI, localName, &exc)) { - GdomeElement* parent = gdome_cast_el(gdome_el_parentNode(p, &exc)); - g_assert(exc == 0); - gdome_el_unref(p, &exc); - g_assert(exc == 0); - p = parent; - } - g_assert(exc == 0); - - if (p != NULL) { - GdomeDOMString* href = gdome_el_getAttributeNS(p, namespaceURI, localName, &exc); - g_assert(exc == 0); - g_assert(href != NULL); - - jump(href); - gdome_str_unref(href); - gdome_el_unref(p, &exc); - g_assert(exc == 0); - } else { - p = gtk_math_view_get_action(math_view); - if (p != NULL) { - gtk_math_view_action_toggle(math_view); - gdome_el_unref(p, &exc); - g_assert(exc == 0); - } - } - - gdome_str_unref(namespaceURI); - gdome_str_unref(localName); -} - -PRIVATE void -create_widget_set() -{ - GtkWidget* main_vbox; - GtkWidget* menu_bar; - - main_vbox = gtk_vbox_new(FALSE, 1); - gtk_container_border_width(GTK_CONTAINER(main_vbox), 1); - gtk_container_add(GTK_CONTAINER(window), main_vbox); - gtk_widget_show(main_vbox); - - menu_bar = get_main_menu(); - gtk_box_pack_start(GTK_BOX(main_vbox), menu_bar, FALSE, TRUE, 0); - gtk_widget_show(menu_bar); - - main_area = gtk_math_view_new(NULL, NULL); - gtk_widget_show(main_area); - - gtk_signal_connect_object (GTK_OBJECT (main_area), - "element_changed", GTK_SIGNAL_FUNC (element_changed), - (gpointer) main_area); - - gtk_signal_connect_object (GTK_OBJECT (main_area), - "selection_changed", GTK_SIGNAL_FUNC (selection_changed), - (gpointer) main_area); - - gtk_signal_connect_object (GTK_OBJECT (main_area), - "clicked", GTK_SIGNAL_FUNC(clicked), - (gpointer) main_area); - - scrolled_area = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_area), - GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - gtk_widget_show(scrolled_area); - gtk_container_add(GTK_CONTAINER(scrolled_area), main_area); - gtk_box_pack_start(GTK_BOX(main_vbox), scrolled_area, TRUE, TRUE, 0); - - status_bar = gtk_statusbar_new(); - gtk_widget_show(status_bar); - gtk_box_pack_start(GTK_BOX(main_vbox), status_bar, FALSE, TRUE, 0); - statusbar_context = gtk_statusbar_get_context_id(GTK_STATUSBAR(status_bar), "filename"); - - gtk_widget_show(main_vbox); - - if (gtk_math_view_get_anti_aliasing(GTK_MATH_VIEW(main_area))) - gtk_menu_item_activate(anti_aliasing_item); - - if (gtk_math_view_get_kerning(GTK_MATH_VIEW(main_area))) - gtk_menu_item_activate(kerning_item); - - gtk_math_view_set_font_size(GTK_MATH_VIEW(main_area), DEFAULT_FONT_SIZE); - gtk_menu_item_activate(font_size_item); -} - -GtkWidget* -get_main_menu() -{ - GtkItemFactory* item_factory; - GtkAccelGroup* accel_group; - GtkWidget* menu_item; - - gint nmenu_items = sizeof(menu_items) / sizeof(menu_items[0]); - - accel_group = gtk_accel_group_new(); - - item_factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "
", accel_group); - - gtk_item_factory_create_items(item_factory, nmenu_items, menu_items, NULL); - - gtk_window_add_accel_group(GTK_WINDOW(window), accel_group); - - menu_item = gtk_item_factory_get_widget(item_factory, "/Options/Kerning"); - kerning_item = GTK_MENU_ITEM(menu_item); - - menu_item = gtk_item_factory_get_widget(item_factory, "/Options/Anti Aliasing"); - anti_aliasing_item = GTK_MENU_ITEM(menu_item); - - /* !!!BEWARE!!! the default font size must be kept aligned with the definition - * in defs.h - */ - menu_item = gtk_item_factory_get_widget(item_factory, "/Options/Default Font Size/14pt"); - font_size_item = GTK_MENU_ITEM(menu_item); - - return gtk_item_factory_get_widget(item_factory, "
"); -} - diff --git a/helm/helmpot/guiGTK.h b/helm/helmpot/guiGTK.h deleted file mode 100644 index 83f5f866a..000000000 --- a/helm/helmpot/guiGTK.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of HelmPot, a minimal browser for HELM. - * - * HelmPot is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HelmPot is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HelmPot; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, see the HelmPot World-Wide-Web page, - * http://cs.unibo.it/helm/helmview, or send a mail to - * - */ - -#ifndef __guiGTK_h__ -#define __guiGTK_h__ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - - /* initGUI: some initialization stuff, creates the main window, sets it with a title */ - void GUI_init(gint *, gchar ***, gchar *, guint, guint, GtkFunction, guint32); - void GUI_uninit(void); - - int GUI_load_document(const gchar*); - void GUI_unload_document(void); - void GUI_dump_entities(void); - - /* main: this is the main event loop, to be called when the program is ready to run */ - void GUI_run(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __guiGTK_h__ */ diff --git a/helm/helmpot/helmpot.spec.in b/helm/helmpot/helmpot.spec.in deleted file mode 100644 index 641f1849f..000000000 --- a/helm/helmpot/helmpot.spec.in +++ /dev/null @@ -1,24 +0,0 @@ -Summary: A minimal browser for the HELM library -Name: @PACKAGE@ -Version: @VERSION@ -Release: 1 -Copyright: GPL -Group: Development/Libraries -Source: www.cs.unibo.it:/helm/helmpot/@PACKAGE@-@VERSION@.tar.gz -%description -HelmView is a minimal browser for the HELM library. - -%prep -%setup - -%build -./configure -make - -%install -make install - -%files -%doc AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README TODO - -/usr/local/bin/@PACKAGE@ diff --git a/helm/helmpot/main.c b/helm/helmpot/main.c deleted file mode 100644 index c2abc2d7e..000000000 --- a/helm/helmpot/main.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2000-2002, Luca Padovani . - * - * This file is part of HelmPot, a minimal browser for HELM. - * - * HelmPot is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HelmPot is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HelmPot; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, see the HelmPot World-Wide-Web page, - * http://cs.unibo.it/helm/helmpot, or send a mail to - * - */ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "defs.h" -#include "guiGTK.h" - -#define BUFFER_SIZE 2048 - -PRIVATE gchar app_name[64]; -PRIVATE gint sockfd; -PRIVATE struct sockaddr_in address; - -PRIVATE void -error(const gchar* msg) -{ - g_assert(msg != NULL); - fprintf(stderr, "%s: fatal error: %s\n", app_name, msg); -} - -#if 0 -PRIVATE void -print_version() -{ - printf("%s - written by Luca Padovani (C) 2000.\n", app_name); -#ifdef DEBUG - printf("Compiled %s %s\n", __DATE__, __TIME__); -#endif - exit(0); -} -#endif - -PRIVATE gboolean -timeout(gpointer user_data) -{ - static gchar file_name[BUFFER_SIZE]; - - if (recv(sockfd, file_name, BUFFER_SIZE, 0) < 0) { - if (errno != EAGAIN && errno != EWOULDBLOCK) - error("error receving message"); - } else - GUI_load_document(file_name); - - return TRUE; -} - -int -main(int argc, char *argv[]) -{ - sprintf(app_name, "HELM Pot (Plug-OuT) v%s", VERSION); - - if (argc != 2) { - fprintf(stderr, "%s\n\n", app_name); - fprintf(stderr, "Usage: helmpot URL\n"); - exit(-1); - } - - sockfd = socket(PF_INET, SOCK_DGRAM, 0); - if (sockfd < 0) error("could not create socket"); - - if (inet_aton("127.0.0.1", &address.sin_addr) < 0) - error("could not create address"); - address.sin_port = 8778; - address.sin_family = PF_INET; - - if (bind(sockfd, &address, sizeof(address)) < 0) { - if (sendto(sockfd, argv[1], strlen(argv[1]), 0, &address, sizeof(address)) < 0) - error("could not send message"); - sleep(1); - exit(0); - } - - if (fcntl(sockfd, F_SETFL, O_NONBLOCK) < 0) - error("could not set the socket to non-block mode"); - - GUI_init(&argc, &argv, app_name, 500, 600, timeout, 500); - - GUI_load_document(argv[1]); - - GUI_run(); - GUI_uninit(); - GUI_unload_document(); - - return 0; -} diff --git a/helm/helmpot/pot_mask b/helm/helmpot/pot_mask deleted file mode 100644 index 09f71a6a9..000000000 --- a/helm/helmpot/pot_mask +++ /dev/null @@ -1,6 +0,0 @@ -#define pot_mask_width 16 -#define pot_mask_height 16 -static unsigned char pot_mask_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xe0, 0x0f, 0xe0, 0x0f, - 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfc, 0x7f, - 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0x1f, 0x00, 0x00}; diff --git a/helm/http_getter/.cvsignore b/helm/http_getter/.cvsignore deleted file mode 100644 index 111b760aa..000000000 --- a/helm/http_getter/.cvsignore +++ /dev/null @@ -1,14 +0,0 @@ -*.cmi -*.cmo -*.cma -*.cmx -*.cmxa -*.a -*.o -http_getter -http_getter.opt -autom4te.cache -buildTimeOpts.ml -config.log -config.status -configure diff --git a/helm/http_getter/AUTHORS b/helm/http_getter/AUTHORS deleted file mode 100644 index 5eab6c071..000000000 --- a/helm/http_getter/AUTHORS +++ /dev/null @@ -1,11 +0,0 @@ - -- current version (the OCaml one!): - - Stefano Zacchiroli - -- for the old Perl version: - - Claudio Sacerdoti Coen - Stefano Zacchiroli - Luca Padovani - diff --git a/helm/http_getter/BUGS b/helm/http_getter/BUGS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/http_getter/COPYING b/helm/http_getter/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/helm/http_getter/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/helm/http_getter/ChangeLog b/helm/http_getter/ChangeLog deleted file mode 100644 index cd6f55bbd..000000000 --- a/helm/http_getter/ChangeLog +++ /dev/null @@ -1,6 +0,0 @@ -- ignore comments and blank lines in servers file -- added "list_servers", "add_server", "remove_server" methods -- bugfix: multiple definition of URI by different servers are now permitted - -08/01/2003: OCaml reimplementation available! (version 0.2.1) -28/12/2000: First alpha release diff --git a/helm/http_getter/Makefile b/helm/http_getter/Makefile deleted file mode 100644 index 94668953e..000000000 --- a/helm/http_getter/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -VERSION = 0.3.0 -NAME = http_getter - -REQUIRES = helm-getter helm-logger helm-registry -COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o -thread -OCAMLFIND = ocamlfind -OCAMLC = $(OCAMLFIND) ocamlc -g $(COMMONOPTS) -OCAMLOPT = $(OCAMLFIND) opt $(COMMONOPTS) - -all: byte -byte: $(NAME) -opt: $(NAME).opt -world: byte opt - -$(NAME): buildTimeOpts.cmo main.ml - $(OCAMLC) -linkpkg -o $@ $^ -$(NAME).opt: buildTimeOpts.cmx main.ml - $(OCAMLOPT) -linkpkg -o $@ $^ - -%.cmo: %.ml - $(OCAMLC) -c $< -%.cmx: %.ml - $(OCAMLOPT) -c $< - -distclean: clean - rm -f buildTimeOpts.ml -clean: - rm -f *.cm[aiox] *.o $(NAME){,.opt} *.dot - -.PHONY: all byte opt world clean distclean - diff --git a/helm/http_getter/Makefile.overrides b/helm/http_getter/Makefile.overrides deleted file mode 100644 index 4b669eb49..000000000 --- a/helm/http_getter/Makefile.overrides +++ /dev/null @@ -1,2 +0,0 @@ -http_getter_types.cmi http_getter_types.cmo: http_getter_types.ml - $(OCAMLC) -c $< diff --git a/helm/http_getter/NEWS b/helm/http_getter/NEWS deleted file mode 100644 index aaf0047a2..000000000 --- a/helm/http_getter/NEWS +++ /dev/null @@ -1,13 +0,0 @@ - -09/02/2004 - - Split getter in backend and frontend. Frontend is the only remaining file here - (namely main.ml). Backend is shipped in the helm-http_getter library (look in - the HELM cvs, dir ocaml/getter/). - -- Zack - -08/01/2003 - - Fully OCaml HTTP Getter is now available: go and burn the Perl implementation! - -- Zack - diff --git a/helm/http_getter/README b/helm/http_getter/README deleted file mode 100644 index 1074b3bf5..000000000 --- a/helm/http_getter/README +++ /dev/null @@ -1,7 +0,0 @@ -HELM (Hypertextual Electronic Library of Mathematics) is a project aimed -at the creation of tools for the development and exploitation of a huge -distributed library of formal mathematical knowledge. This package holds -the getter used to map logical names into phisical names and download -the required files. - -For more information see http://helm.cs.unibo.it diff --git a/helm/http_getter/buildTimeOpts.ml.in b/helm/http_getter/buildTimeOpts.ml.in deleted file mode 100644 index b4865ac3e..000000000 --- a/helm/http_getter/buildTimeOpts.ml.in +++ /dev/null @@ -1,3 +0,0 @@ - -let conffile = "@GETTER_CONF_FILE@";; - diff --git a/helm/http_getter/configure.ac b/helm/http_getter/configure.ac deleted file mode 100644 index 36efda576..000000000 --- a/helm/http_getter/configure.ac +++ /dev/null @@ -1,13 +0,0 @@ -AC_INIT(main.ml) - -AC_ARG_WITH(conffile, - AS_HELP_STRING([--with-conffile=fname], - [set default run time configuration file (default is /etc/http_getter.conf.xml]), - [GETTER_CONF_FILE=$withval], [GETTER_CONF_FILE=/etc/http_getter.conf.xml]) - -AC_SUBST(GETTER_CONF_FILE) - -AC_OUTPUT([ - buildTimeOpts.ml -]) - diff --git a/helm/http_getter/http_getter.conf.xml.sample b/helm/http_getter/http_getter.conf.xml.sample deleted file mode 100644 index 8551ff0e7..000000000 --- a/helm/http_getter/http_getter.conf.xml.sample +++ /dev/null @@ -1,37 +0,0 @@ - - -
- /projects/helm/var - /tmp/helm/cache -
- -
- $(user_settings.dbm_dir)/servers.txt - - $(user_settings.cache_dir)/cic_library - $(user_settings.cache_dir)/nuprl_library - $(user_settings.cache_dir)/rdf_library - /projects/helm/xml/dtd - - $(user_settings.dbm_dir)/cic_db - $(user_settings.dbm_dir)/nuprl_db - $(user_settings.dbm_dir)/rdf_db - $(user_settings.dbm_dir)/xsl_db - - gz - - index.txt - rdf_index.txt - xslt_index.txt - - - http://mowgli.cs.unibo.it/dtd - http://helm.cs.unibo.it/dtd - - - 58081 - - 1 - http_getter.log -
-
diff --git a/helm/http_getter/main.ml b/helm/http_getter/main.ml deleted file mode 100644 index 47784d137..000000000 --- a/helm/http_getter/main.ml +++ /dev/null @@ -1,349 +0,0 @@ -(* - * Copyright (C) 2003-2004: - * Stefano Zacchiroli - * for the HELM Team http://helm.cs.unibo.it/ - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open Printf - -open Http_getter_common -open Http_getter_misc -open Http_getter_types - - (* constants *) - -let configuration_file = BuildTimeOpts.conffile - -let common_headers = [ - "Cache-Control", "no-cache"; - "Pragma", "no-cache"; - "Expires", "0" -] - - (* HTTP queries argument parsing *) - - (* parse encoding ("format" parameter), default is `Normal *) -let parse_enc (req: Http_types.request) = - try - (match req#param "format" with - | "normal" -> `Normal - | "gz" -> `Gzipped - | s -> raise (Bad_request ("Invalid format: " ^ s))) - with Http_types.Param_not_found _ -> `Normal - - (* parse "patch_dtd" parameter, default is true *) -let parse_patch (req: Http_types.request) = - try - (match req#param "patch_dtd" with - | s when String.lowercase s = "yes" -> true - | s when String.lowercase s = "no" -> false - | s -> raise (Bad_request ("Invalid patch_dtd value: " ^ s))) - with Http_types.Param_not_found _ -> true - - (* parse output format ("format" parameter), no default value *) -let parse_output_format meth (req: Http_types.request) = - match req#param "format" with - | s when String.lowercase s = "txt" -> `Text - | s when String.lowercase s = "xml" -> `Xml - | s -> raise (Bad_request ("Invalid /" ^ meth ^ " format: " ^ s)) - - (* parse "position" argument, default is 0 *) -let parse_position (req: Http_types.request) = - try - let res = int_of_string (req#param "position") in - if res < 0 then - raise (Failure "int_of_string"); - res - with - | Http_types.Param_not_found _ -> 0 - | Failure "int_of_string" -> - raise (Bad_request - (sprintf "position must be a non negative integer (%s given)" - (req#param "position"))) - -let parse_rdf_class (req: Http_types.request) = - match req#param "class" with - | "forward" -> `Forward - | "backward" -> `Backward - | c -> raise (Bad_request ("Invalid RDF class: " ^ c)) - -let mk_return_fun pp_fun contype msg outchan = - Http_daemon.respond - ~body:(pp_fun msg) ~headers:["Content-Type", contype] outchan -let pp_error s = - sprintf "Http Getter error: %s" s -let pp_internal_error s = - sprintf "Http Getter Internal error: %s" s -let pp_msg s = sprintf "%s" s -let null_pp s = s -let return_html_error = mk_return_fun pp_error "text/html" -let return_html_internal_error = mk_return_fun pp_internal_error "text/html" -let return_html_msg = mk_return_fun pp_msg "text/html" -let return_html_raw = mk_return_fun null_pp "text/html" -let return_xml_raw = mk_return_fun null_pp "text/xml" -let return_400 body outchan = - Http_daemon.respond_error ~code:(`Code 400) ~body outchan - -let return_all_foo_uris doctype uris outchan = - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_header "Content-Type" "text/xml" outchan; - Http_daemon.send_headers common_headers outchan; - Http_daemon.send_CRLF outchan; - output_string - outchan - (sprintf -" - - -<%s> -" - doctype - (Lazy.force Http_getter_env.my_own_url) - doctype - doctype); - List.iter - (fun uri -> output_string outchan (sprintf "\t\n" uri)) - uris; - output_string outchan (sprintf "\n" doctype) - -let return_all_xml_uris fmt outchan = - let uris = Http_getter.getalluris () in - match fmt with - | `Text -> - let buf = Buffer.create 10240 in - List.iter (bprintf buf "%s\n") uris ; - let body = Buffer.contents buf in - Http_daemon.respond - ~headers:(("Content-Type", "text/plain") :: common_headers) - ~body outchan - | `Xml -> - return_all_foo_uris "alluris" uris outchan - -let return_all_rdf_uris classs outchan = - return_all_foo_uris "allrdfuris" (Http_getter.getallrdfuris classs) outchan - -let return_ls regexp fmt outchan = - let ls_items = Http_getter.ls regexp in - let buf = Buffer.create 10240 in - (match fmt with - | `Text -> - List.iter - (function - | Ls_section dir -> bprintf buf "dir, %s\n" dir - | Ls_object obj -> - bprintf buf "object, %s, <%s,%s,%s,%s>\n" - obj.uri (if obj.ann then "YES" else "NO") - (string_of_ls_flag obj.types) - (string_of_ls_flag obj.body) - (string_of_ls_flag obj.proof_tree)) - ls_items - | `Xml -> - Buffer.add_string buf "\n"; - bprintf buf "\n" - (Lazy.force Http_getter_env.my_own_url); - Buffer.add_string buf "\n"; - List.iter - (function - | Ls_section dir -> bprintf buf "
%s
\n" dir - | Ls_object obj -> - bprintf buf -" -\t -\t -\t -\t - -" - obj.uri (if obj.ann then "YES" else "NO") - (string_of_ls_flag obj.types) - (string_of_ls_flag obj.body) - (string_of_ls_flag obj.proof_tree)) - ls_items; - Buffer.add_string buf "
\n"); - let body = Buffer.contents buf in - Http_daemon.respond - ~headers:(("Content-Type", "text/plain") :: common_headers) - ~body outchan - -let return_help outchan = return_html_raw (Http_getter.help ()) outchan - -let return_resolve uri outchan = - try - return_xml_raw - (sprintf "\n" (Http_getter.resolve uri)) - outchan - with - | Unresolvable_URI _ -> return_xml_raw "\n" outchan - | Key_not_found _ -> return_xml_raw "\n" outchan - -let return_list_servers outchan = - return_html_raw - (sprintf "\n%s\n
" - (String.concat "\n" - (List.map - (fun (pos, server) -> - sprintf "%d%s" pos server) - (Http_getter.list_servers ())))) - outchan - -let log_failure msg = Http_getter_logger.log ("Request not fulfilled: " ^ msg) - - (** given an action (i.e. a function which expects a logger and do something - * using it as a logger), perform it sending its output incrementally to the - * given output channel. Response is sent embedded in an HTML document. - * Channel is closed afterwards. *) -let send_log_to ?prepend action outchan = - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_header "Content-Type" "text/html" outchan; - Http_daemon.send_CRLF outchan; - output_string outchan "\n"; flush outchan; - (match prepend with - | None -> () - | Some text -> output_string outchan text; flush outchan); - let logger tag = - output_string outchan (HelmLogger.html_of_html_tag tag); - flush outchan - in - action logger; - output_string outchan "\n"; - close_out outchan - - (* thread action *) - -let callback (req: Http_types.request) outchan = - try - Http_getter_logger.log ("Connection from " ^ req#clientAddr); - Http_getter_logger.log ("Received request: " ^ req#path); - (match req#path with - | "/help" -> return_help outchan - | "/getxml" -> - let uri = req#param "uri" in - Http_getter_cache.respond_xml ~url:(Http_getter.resolve uri) ~uri - ~enc:(parse_enc req) ~patch:(parse_patch req) outchan - | "/getxslt" -> - Http_getter_cache.respond_xsl - ~url:(Http_getter.resolve (req#param "uri")) - ~patch:(parse_patch req) outchan - | "/getdtd" -> - Http_getter_cache.respond_dtd ~patch:(parse_patch req) - ~url:(sprintf "%s/%s" - (Helm_registry.get "getter.dtd_dir") (req#param "uri")) - outchan - | "/resolve" -> return_resolve (req#param "uri") outchan - | "/register" -> - Http_getter.register ~uri:(req#param "uri") ~url:(req#param "url"); - return_html_msg "Register done" outchan - | "/unregister" -> - Http_getter.unregister (req#param "uri"); - return_html_msg "Unregister done" outchan - | "/clean_cache" -> - Http_getter.clean_cache (); - return_html_msg "Done." outchan - | "/update" -> - Http_getter_env.reload (); (* reload servers list from servers file *) - send_log_to (fun logger -> Http_getter.update ~logger ()) outchan - | "/list_servers" -> return_list_servers outchan - | "/add_server" -> - let name = req#param "url" in - let position = parse_position req in - let prepend = - sprintf "Added server %s in position %d)
\n" name position - in - send_log_to ~prepend - (fun logger -> Http_getter.add_server ~logger ~position name) outchan - | "/remove_server" -> - let position = parse_position req in - if not (Http_getter.has_server position) then - raise (Bad_request (sprintf "no server with position %d" position)) - else - let prepend = - sprintf "Removed server at position %d
\n" position - in - send_log_to ~prepend - (fun logger -> Http_getter.remove_server ~logger position) outchan - | "/getalluris" -> - return_all_xml_uris (parse_output_format "getalluris" req) outchan - | "/getallrdfuris" -> return_all_rdf_uris (parse_rdf_class req) outchan - | "/ls" -> - return_ls (req#param "baseuri") (parse_output_format "ls" req) outchan - | "/getempty" -> - Http_daemon.respond ~body:Http_getter_const.empty_xml outchan - | invalid_request -> - Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) - outchan); - Http_getter_logger.log "Done!\n" - with - | Http_types.Param_not_found attr_name -> - let msg = sprintf "Parameter '%s' is missing" attr_name in - log_failure msg; - return_400 msg outchan - | Bad_request msg -> - log_failure msg; - return_html_error msg outchan - | Internal_error msg -> - log_failure msg; - return_html_internal_error msg outchan - | Shell.Subprocess_error l -> - let msgs = - List.map - (fun (cmd, code) -> - sprintf "Command '%s' returned %s" cmd (string_of_proc_status code)) - l - in - log_failure (String.concat ", " msgs); - return_html_internal_error (String.concat "
\n" msgs) outchan - | exc -> - let msg = "Uncaught exception: " ^ (Printexc.to_string exc) in - log_failure msg; - return_html_error msg outchan - - (* Main *) - -let main () = - Helm_registry.load_from configuration_file; - Http_getter_logger.set_log_level - (Helm_registry.get_opt_default Helm_registry.get_int 1 "getter.log_level"); - Http_getter_logger.set_log_file - (Helm_registry.get_opt Helm_registry.get_string "getter.log_file"); - Http_getter_env.reload (); - print_string (Http_getter_env.env_to_string ()); - flush stdout; - let batch_update = - try Sys.argv.(1) = "-update" with Invalid_argument _ -> false - in - if batch_update then (* batch mode: performs update and exit *) - Http_getter.update ~logger:Http_getter.stdout_logger () - else begin (* daemon mode: start http daemon *) - at_exit Http_getter.close_maps; - Sys.catch_break true; - try - Http_daemon.start' ~mode:`Thread - ~timeout:(Some 600) ~port:(Helm_registry.get_int "getter.port") - callback - with Sys.Break -> () (* 'close_maps' already registered with 'at_exit' *) - end - -let _ = main () - diff --git a/helm/http_getter/panel/.cvsignore b/helm/http_getter/panel/.cvsignore deleted file mode 100644 index 5c9fd1612..000000000 --- a/helm/http_getter/panel/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -getter-panel.tar.gz diff --git a/helm/http_getter/panel/Makefile b/helm/http_getter/panel/Makefile deleted file mode 100644 index 2663e20a1..000000000 --- a/helm/http_getter/panel/Makefile +++ /dev/null @@ -1,12 +0,0 @@ - -all: - -clean: - rm -f getter-panel.tar.gz - -cleanbak: - rm -rf *~ - -dist: clean cleanbak - cd ..; tar cvfz getter-panel.tar.gz panel ; mv getter-panel.tar.gz panel - diff --git a/helm/http_getter/panel/control.html b/helm/http_getter/panel/control.html deleted file mode 100644 index 495c420e7..000000000 --- a/helm/http_getter/panel/control.html +++ /dev/null @@ -1,129 +0,0 @@ - - - -Getter Control Panel - - - - - - - - - - - -
Getter Control Panel
- -
- -
- -
-
- - - - - - - - - - - - - - - - - - - - - - -
-
- Getter URL - - -
-
-
- Check if Getter is running and request Help:
- -
-
-
- Update Getter's maps:
- -
-
-
- Clean cache (must be done every time a file is modified)
- -
-
-
- List servers:
- -
-
-
- Add a server to the servers list:
- Server URL:
- Server position:
- -
-
-
- Remove a server from the servers list:
- Server number:
- -
-
-
- -
- - -
- -
- -
-
- In case you want to customize the panel for your own needs, you can download - the source archive (HTML + JavaScript): - -
- - - - - diff --git a/helm/http_getter/panel/control.js b/helm/http_getter/panel/control.js deleted file mode 100644 index 45736aaa4..000000000 --- a/helm/http_getter/panel/control.js +++ /dev/null @@ -1,35 +0,0 @@ - -function getParam(name, def) -{ - var search = top.location.search; - search = search.slice(1); - var args = search.split("&"); - var value = "-1"; - for (var i = 0 ; i < args.length ; i++) { - var couple = args[i].split("="); - if (couple[0] == name) value = couple[1]; - } - if (value == "-1") value = def; - return value; -} - -function getInitialGetterURL() -{ - return getParam("getterURL", "http://mowgli.cs.unibo.it:58081/"); -} - -function getGetterURL() -{ - return document.getterURL.elements[0].value; -} - -function selectGetterURL(ss) -{ - if (ss.selectedIndex == 0) { - document.getterURL.elements[0].value = ""; - } else { - //document.getterURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value + ":8081/"; - document.getterURL.elements[0].value = "http://" + ss.options[ss.selectedIndex].value; - } -} - diff --git a/helm/http_getter/panel/index.html b/helm/http_getter/panel/index.html deleted file mode 100644 index caeebcf24..000000000 --- a/helm/http_getter/panel/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/helm/http_getter/panel/welcome.html b/helm/http_getter/panel/welcome.html deleted file mode 100644 index f6fbed438..000000000 --- a/helm/http_getter/panel/welcome.html +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/helm/http_getter/tools/dump_db.ml b/helm/http_getter/tools/dump_db.ml deleted file mode 100755 index 3a64f1dd6..000000000 --- a/helm/http_getter/tools/dump_db.ml +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/ocamlrun /usr/bin/ocaml -#use "topfind";; -#require "dbm";; -let db = Dbm.opendbm Sys.argv.(1) [ Dbm.Dbm_rdonly ] 0 in -Dbm.iter (Printf.printf "%s: %s\n") db; -Dbm.close db diff --git a/helm/http_getter/tools/dump_db.pl b/helm/http_getter/tools/dump_db.pl deleted file mode 100755 index 95d3f4ab5..000000000 --- a/helm/http_getter/tools/dump_db.pl +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/perl -w - -# dump on stdout the data contained in a db file. -# Print one line for each record in this format -# = -# -# Stefano "Zack" Zacchiroli -# - -use strict qw(O_RDONLY); -use DB_File; - -my $dbfile = shift || die "which db file ?"; -my %map; -tie(%map, 'DB_File', $dbfile, O_RDONLY, 0664); -while(($key,$value) = each %map) { - print "$key = $value\n"; -} - diff --git a/helm/http_getter/tools/uri_escape.pl b/helm/http_getter/tools/uri_escape.pl deleted file mode 100755 index 0303e3f73..000000000 --- a/helm/http_getter/tools/uri_escape.pl +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -# escape a URI with uri escaping -# -# Stefano "Zack" Zacchiroli -# - - -use URI::Escape; - -while(<>) { - chomp; - print uri_escape($_); - print "\n"; -} diff --git a/helm/http_getter/tools/uri_unescape.pl b/helm/http_getter/tools/uri_unescape.pl deleted file mode 100755 index 7f77d3768..000000000 --- a/helm/http_getter/tools/uri_unescape.pl +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -# unescape a URI escaped with uri escaping -# -# Stefano "Zack" Zacchiroli -# - -use URI::Escape; - -while(<>) { - chomp; - print uri_unescape($_); - print "\n"; -} diff --git a/helm/hxp/.cvsignore b/helm/hxp/.cvsignore deleted file mode 100644 index bc0401ddc..000000000 --- a/helm/hxp/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.cm[aiox] *.cmxa *.output *.opt hxp -hxpParser.ml hxpParser.mli hxpLexer.ml diff --git a/helm/hxp/.depend b/helm/hxp/.depend deleted file mode 100644 index 7f855a44b..000000000 --- a/helm/hxp/.depend +++ /dev/null @@ -1,9 +0,0 @@ -hxpTop.cmo: hxpTypes.cmo hxpXML.cmo -hxpTop.cmx: hxpTypes.cmx hxpXML.cmx -hxpParser.cmo: hxpTypes.cmo hxpParser.cmi -hxpParser.cmx: hxpTypes.cmx hxpParser.cmi -hxpParser.cmi: hxpTypes.cmo -hxpLexer.cmo: hxpParser.cmi -hxpLexer.cmx: hxpParser.cmx -hxpXML.cmo: hxpLexer.cmo hxpParser.cmi hxpTypes.cmo -hxpXML.cmx: hxpLexer.cmx hxpParser.cmx hxpTypes.cmx diff --git a/helm/hxp/EXAMPLE.txt b/helm/hxp/EXAMPLE.txt deleted file mode 100644 index 83e02a5cb..000000000 --- a/helm/hxp/EXAMPLE.txt +++ /dev/null @@ -1,5 +0,0 @@ -On mowgli.cs.unibo.it this line outputs the names' list in a format suitable for -Postgres. Each line of this list contains a uri and its short name separated by -a tab character (as produced by pg_dump). see hxp --help for details. - -hxp.opt -l /projects/helm/EXPORT/examples_mowgli/objects -r pg-names diff --git a/helm/hxp/Makefile b/helm/hxp/Makefile deleted file mode 100644 index 4c41e6598..000000000 --- a/helm/hxp/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -BIN_DIR = /usr/local/bin -REQUIRES = zip -# unix helm-cic_textual_parser \ -# helm-mathql helm-mathql_interpreter helm-mathql_generator -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) -OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) -OCAMLDEP = ocamldep -OCAMLYACC = ocamlyacc -OCAMLLEX = ocamllex - -LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) -LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) - -HXPTOP = hxpTop.ml - -DEPOBJS = $(HXPTOP) -AUXOBJS = hxpTypes.ml hxpParser.ml hxpParser.mli hxpLexer.ml hxpXML.ml - -all: hxp -opt: hxp.opt - -depend: $(AUXOBJS) - $(OCAMLDEP) $(DEPOBJS) $(AUXOBJS) > .depend - -hxp: hxpParser.cmi $(AUXOBJS:.ml=.cmo) $(HXPTOP:.ml=.cmo) $(LIBRARIES) - $(OCAMLC) -linkpkg -o hxp $(AUXOBJS:.ml=.cmo) $(HXPTOP:.ml=.cmo) - -hxp.opt: $(AUXOBJS:.ml=.cmx) $(HXPTOP:.ml=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o hxp.opt $(AUXOBJS:.ml=.cmx) $(HXPTOP:.ml=.cmx) - -.SUFFIXES: .ml .mli .cmo .cmi .cmx .mly .mll -.ml.cmo: $(LIBRARIES) - $(OCAMLC) -c $< -.mli.cmi: $(LIBRARIES) - $(OCAMLC) -c $< -.ml.cmx: $(LIBRARIES_OPT) - $(OCAMLOPT) -c $< -.mly.ml: - $(OCAMLYACC) $< -.mly.mli: - $(OCAMLYACC) $< -.mll.ml: - $(OCAMLLEX) $< - -$(DEPOBJS:%.ml=%.cmo): $(LIBRARIES) -$(DEPOBJS:%.ml=%.cmx): $(LIBRARIES_OPT) - -clean: - rm -f *.cm[iox] *.o hxp hxp.opt \ - hxpParser.ml hxpParser.mli hxpLexer.ml - -install: - cp hxp hxp.opt $(BIN_DIR) - -uninstall: - cd $(BIN_DIR) - rm -f hxp hxp.opt - -.PHONY: install uninstall clean - -ifneq ($(MAKECMDGOALS), depend) - include .depend -endif - diff --git a/helm/hxp/hxpLexer.mll b/helm/hxp/hxpLexer.mll deleted file mode 100644 index fbec4aca7..000000000 --- a/helm/hxp/hxpLexer.mll +++ /dev/null @@ -1,56 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://www.cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -{ - open HxpParser -} - -let SPC = [' ' '\t' '\n' '\r' '?' '!']+ -let ALPHA = ['A'-'Z' 'a'-'z']+ -let STR = '"'[^'"']*'"' -let NUM = ['0'-'9' '.']+ -let BEF = [^ '=' '0'-'9' '.' ':' '*']* - -rule xml_token = parse - | SPC { xml_token lexbuf } - | '<' { OPEN } - | '>' { CLOSE } - | '=' { EQ } - | '/' { SL } - | ALPHA { NAME (Lexing.lexeme lexbuf) } - | STR { VAL (Lexing.lexeme lexbuf) } - | eof { DONE } - -and time_token = parse - | BEF { time_token lexbuf } - | NUM { DATA (float_of_string (Lexing.lexeme lexbuf)) } - | '=' { EQ } - | ':' { CLN } - | _ { DONE } - | eof { DONE } - diff --git a/helm/hxp/hxpParser.mly b/helm/hxp/hxpParser.mly deleted file mode 100644 index aed627abf..000000000 --- a/helm/hxp/hxpParser.mly +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - */ - -/* AUTOR: Ferruccio Guidi - */ - -%{ - module T = HxpTypes -%} - %token DONE - %token NAME VAL - %token OPEN CLOSE EQ SL /* < > = / */ - %start xml - %type xml - - %token DATA - %token CLN - %start time - %type time -%% - xml : - OPEN NAME { T.XML_Open $2 } - | NAME EQ VAL { T.XML_Attribute ($1, $3) } - | CLOSE { T.XML_End } - | OPEN SL NAME CLOSE { T.XML_Close $3 } - | SL CLOSE { T.XML_Close "" } - | NAME NAME VAL { T.XML_Attribute ($1 ^ " " ^ $2, $3) } - | DONE { T.XML_Done } - ; - time : - EQ DATA CLN DATA { ($2, $4) } - | DATA EQ DATA CLN DATA { ($3, $5) } - | DONE { (-1., -1.) } - ; diff --git a/helm/hxp/hxpTop.ml b/helm/hxp/hxpTop.ml deleted file mode 100644 index 1030c6447..000000000 --- a/helm/hxp/hxpTop.ml +++ /dev/null @@ -1,345 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://www.cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -module T = HxpTypes - -module X = HxpXML.Make - -let build = ref "EXPORT" - -let lib = ref Filename.current_dir_name - -let uq s = String.sub s 1 (String.length s - 2) - -let rec esc s = - try - let i = String.index s '\'' in - let l = String.length s in - String.sub s 0 i ^ "\\\'" ^ esc (String.sub s (succ i) (l - succ i)) - with Not_found -> s - -let split_filename f = - let len = String.length f in - let dot = String.rindex f '.' in - let slash = String.rindex f '/' in - let path = String.sub f 0 slash in - let name = String.sub f (succ slash) (dot - succ slash) in - let ext = String.sub f (succ dot) (len - succ dot) in - (path, (name, ext)) - -let ins0 name filter = - let sort = ref "\"\"" in - let relative = ref 0 in - let count = ref 0 in - let max = ref 0 in - let flags = String.create 3 in - let set_flags_for = function - | T.XML_Open "LAMBDA" -> flags.[0] <- 'L' - | T.XML_Open "MUTCASE" -> flags.[1] <- 'C' - | T.XML_Open "FIX" -> flags.[2] <- 'F' - | T.XML_Open "COFIX" -> flags.[2] <- 'F' - | _ -> () - in - let rec skip_premises h = - match X.xnext h with - | h, (T.XML_Attribute _, _) -> skip_premises h - | h, (T.XML_End, _) -> skip_premises h - | h, (T.XML_Open "PROD", i) -> - let h = - if ! sort = "\"\"" then - match X.xnext h with - | h, (T.XML_Attribute ("type", str), _) -> sort := str; h - | h, _ -> sort := ""; h - else h - in - let h = X.scan_for h (T.XML_Close "source", succ i) in - let h, (obj, i) = X.xnext h in - relative := i + 2; (* XML_Open "target" *) - skip_premises h - | h, (obj, _) -> - print_string (! sort ^ " " ^ T.string_of_object obj); - set_flags_for obj; h - in - let rec ins_aux h = - match X.xnext h with - | h, (T.XML_Done, _) -> h - | h, (T.XML_Attribute ("uri", v), i) -> - incr count; - if i > ! max then max := i; - ins_aux h - | h, (obj, _) -> - set_flags_for obj; ins_aux h - in - if snd (snd (split_filename name)) = "con" then begin - flags.[0] <- '-'; flags.[1] <- '-'; flags.[2] <- '-'; - let h = X.start (Filename.concat ! lib (name ^ ".xml")) filter in - let h = X.scan_for h (T.XML_Open "type", 3) in - X.stop (ins_aux (skip_premises h)); - print_endline (" \"cic:" ^ name ^ "\" " ^ flags ^ - " count " ^ string_of_int ! count ^ - " max_depth " ^ string_of_int (! max - ! relative) ^ - "

"); - flush stdout - end - -type style_t = HTML | PG | RDF - -let ins1 style name filter = - let maior = ref 0 in - let minor = ref (-1) in - let make_uris () = - let make_ref pre sep post = - if ! maior > 0 then - name ^ pre ^ string_of_int ! maior ^ - (if ! minor > 0 then sep ^ string_of_int ! minor else "") ^ post - else name - in - incr minor; - (make_ref "#xpointer(1/" "/" ")", make_ref "," "," "") - in - let out_alias n = - match style with - | HTML -> - print_endline ("\"" ^ n ^ "\" alias of \"cic:" ^ - fst (make_uris ()) ^ "\"

") - | PG -> - print_endline ("cic:/" ^ fst (make_uris ()) ^ "\t" ^ n) - | RDF -> - let uris = make_uris () in - let dir = ! build ^ fst (split_filename name) in - let rc = Sys.command ("mkdir -p " ^ esc dir) in - let och = open_out (! build ^ snd uris ^ ".xml") in - output_string och "\n\n"; - output_string och "\n"; - output_string och (" \n"); - output_string och (" " ^ n ^ "\n"); - output_string och " \n"; - output_string och "\n"; - close_out och; -(* print_endline ("\"" ^ fst uris ^ "\" alias \"" ^ n ^ "\"") -*) in - let rec ins_aux h = - match X.xnext h with - | h, (T.XML_Done, _) -> h - | h, (T.XML_Attribute ("name", n), i) -> - if i = 4 then begin incr maior; minor := -1; out_alias (uq n) end else - if i = 5 then out_alias (uq n); - ins_aux h - | h, _ -> ins_aux h - in - let split = snd (split_filename name) in - if snd split <> "ind" then out_alias (fst split) else - let h = X.start (Filename.concat ! lib (name ^ ".xml")) filter in - X.stop (ins_aux h); - flush stdout - -let test s name filter = - if s = "con-info" then ins0 name filter else - if s = "html-names" then ins1 HTML name filter else - if s = "pg-names" then ins1 PG name filter else - if s = "rdf-names" then ins1 RDF name filter else () - -let read_index_txt () = - let uris = ref [] in - let ich = open_in (Filename.concat ! lib "index.txt") in - let rec aux () = - let line = input_line ich in - let p0 = succ (String.index line '/') in - let p1 = succ (String.rindex line '.') in - let uri = String.sub line p0 (p1 - p0) in - let ext = String.sub line p1 (String.length line - p1) in - match ext with - | "con gz" -> uris := (uri ^ "con", true) :: ! uris; aux () - | "ind gz" -> uris := (uri ^ "ind", true) :: ! uris; aux () - | "var gz" -> uris := (uri ^ "var", true) :: ! uris; aux () - | "con" -> uris := (uri ^ "con", false) :: ! uris; aux () - | "ind" -> uris := (uri ^ "ind", false) :: ! uris; aux () - | "var" -> uris := (uri ^ "var", false) :: ! uris; aux () - | _ -> aux () - in - begin try aux () with End_of_file -> close_in ich end; ! uris - -let read_xml s = - let l = read_index_txt () in - let rec loop_on = function - | [] -> () - | (uri, filter) :: tail -> test s uri filter; loop_on tail - in loop_on l; - prerr_endline ("total time: " ^ string_of_float (Sys.time ()) ^ " seconds") -(* -let get_timing () = - let lexbuf = Lexing.from_channel stdin in - let tm = ref [] in - let cont = ref true in - while ! cont do - let data = Parser.tm Lexer.tmt lexbuf in - if fst data > 0. then begin - let d = (fst data, snd data, snd data /. fst data) in - tm := d :: ! tm end else - if fst data < 0. then cont := false else - print_endline ("[" ^ string_of_int (1 + List.length ! tm) ^ "] "); - done; print_newline (); ! tm - -let compare1 (r1, t1, p1) (r2, t2, p2) = - if r1 > r2 then 1 else - if r1 < r2 then -1 else - if p1 > p2 then 1 else - if p1 < p2 then -1 else 0 - -let rec count min max = function - | [] -> 0 - | (r, _, _) :: tail -> - let p = count min max tail in - if r >= min && r <= max then succ p else p - -let mean min max l = - let num = ref 0. in - let sum = ref 0. in - let rec mean_aux = function - | [] -> ! sum /. ! num - | (r, _, p) :: tail -> - if r >= min && r <= max then begin - num := ! num +. 1.; sum := ! sum +. p; mean_aux tail end - else mean_aux tail - in mean_aux l - -let variance min max m l = - let num = ref 0. in - let sum = ref 0. in - let rec variance_aux = function - | [] -> ! sum /. ! num - | (r, _, p) :: tail -> - if r >= min && r <= max then begin - num := ! num +. 1.; sum := ! sum +. (p -. m) *. (p -. m); - variance_aux tail end - else variance_aux tail - in sqrt (variance_aux l) - -let read_timing min max = - let l = List.sort compare1 (get_timing ()) in - let c = count min max l in - let m = mean min max l in - let v = variance min max m l in - print_timing l; - print_endline (string_of_int c ^ " " ^ string_of_float m ^ " " ^ - string_of_float v); - flush stdout - -let diff_timing () = - let rec diff_aux = function - | ((r1, q1, p1) :: t1, (r2, q2, p2) :: t2) when r1 = r2 -> - (r1, q1 -. q2, p1 -. p2) :: diff_aux (t1, t2) - | ([], []) -> print_newline (); [] - | (_ :: t1, _ :: t2) -> - print_string ("[" ^ string_of_int (1 + List.length t1) ^ "] "); - diff_aux (t1, t2) - | _ -> assert false - in - let l1 = get_timing () in - let l2 = get_timing () in - print_string (string_of_int (List.length l1) ^ " "); - print_string (string_of_int (List.length l2) ^ "\n"); - diff_aux (l1, l2) - -let comp_timing min max = - let l = List.sort compare1 (diff_timing ()) in - let c = count min max l in - let m = mean min max l in - let v = variance min max m l in - print_timing l; - print_endline (string_of_int c ^ " " ^ string_of_float m ^ " " ^ - string_of_float v); - flush stdout - -let print file = - let rec print_aux () = - let xobj = Xml.xnext() in - if fst xobj = XML_Done then () else - begin print_endline (string_of_xobject xobj); print_aux () end - in Xml.start file false; print_aux (); Xml.stop () - -let count_bytes s = - let mbytes = ref 0.0 in - let num = ref 0 in - let k = 1024.0 ** float (int_of_string s) in - let rec count_bytes_aux () = - try - let s = read_line () in - (* prerr_endline ("*" ^ s ^ "*"); *) - let j = String.rindex s ' ' in - let i = - try succ (String.rindex_from s (pred j) ' ') - with Not_found -> 0 in - (* prerr_endline ("*" ^ String.sub s i (j - i) ^ "*"); *) - let b = int_of_string (String.sub s i (j - i)) in - mbytes := ! mbytes +. float b /. k; incr num; - count_bytes_aux () - with End_of_file -> () - in - count_bytes_aux (); - prerr_endline (string_of_int ! num ^ " " ^ string_of_float ! mbytes) -*) - -let _ = - let usage = "Usage: hxp [-lx

] [-p ]" in - - let _l = " set the path to the index.txt file (default is .)" in - let _x = " set the path to the RDF export directory (default is EXPORT)" in - let _r = " read the XML files extracting the specified information - : con-info produce information about .con files in HTML format - html-names produce short names' list in HTML format - pg-names produce short names' list in Postgres input format - rdf-names produce RDF files with short names' metadata" - in - - Arg.parse [ - ("-l", Arg.String (fun dir -> lib := dir), _l); - ("-x", Arg.String (fun dir -> build := dir), _x); - ("-r", Arg.String read_xml, _r) - ] ignore usage - -(* -let parse_args () = - let rec parse = function - | [] -> () - | ("-l"|"-library") :: dir :: rem -> lib := dir; parse rem - | ("-x"|"-export") :: dir :: rem -> build := dir; parse rem - | ("-s"|"-stat") :: min :: max :: rem -> - read_timing (float_of_string min) (float_of_string max); parse rem - | ("-c"|"-comp") :: min :: max :: rem -> - comp_timing (float_of_string min) (float_of_string max); parse rem - | ("-i"|"-ins") :: s :: file :: rem -> test s file false; parse rem - | ("-t"|"-text") :: s :: rem -> read_xml s false; parse rem - | ("-z"|"-gzip") :: s :: rem -> read_xml s true; parse rem - | ("-b"|"-bytes") :: s :: rem -> count_bytes s; parse rem - | _ :: rem -> parse rem - in - parse (List.tl (Array.to_list Sys.argv)) -*) diff --git a/helm/hxp/hxpTypes.ml b/helm/hxp/hxpTypes.ml deleted file mode 100644 index fb8cfeceb..000000000 --- a/helm/hxp/hxpTypes.ml +++ /dev/null @@ -1,57 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://www.cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -type xml_object = - | XML_Open of string - | XML_Attribute of string * string - | XML_Close of string - | XML_End - | XML_Done - -type xml_xobject = xml_object * int - -type timing = float * float * float - -let string_of_object = function - | XML_Open t -> "OPEN " ^ t - | XML_Close t -> "CLOSE " ^ t - | XML_Attribute (n, v) -> "ATTRIBUTE " ^ n ^ "=" ^ v - | XML_End -> "END" - | XML_Done -> "" - -let string_of_xobject (o, i) = - string_of_object o ^ " [" ^ string_of_int i ^ "]" - -let string_of_timing (r, t, p) = - string_of_float r ^ "," ^ string_of_float t ^ "s, " ^ string_of_float p - -let rec print_timing = function - | [] -> () - | head :: tail -> - print_endline (string_of_timing head); flush stdout; - print_timing tail diff --git a/helm/hxp/hxpXML.ml b/helm/hxp/hxpXML.ml deleted file mode 100644 index 7c4dc4cb4..000000000 --- a/helm/hxp/hxpXML.ml +++ /dev/null @@ -1,91 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://www.cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -module T = HxpTypes - -module type Type = sig - - type handle - - val start : string -> bool -> handle - - val stop : handle -> unit - - val next : handle -> T.xml_object - - val xnext : handle -> handle * T.xml_xobject - - val scan_for : handle -> T.xml_xobject -> handle - -end - -module Make : Type = struct - - module L = HxpLexer - - module P = HxpParser - - type mode_t = Text of in_channel * Lexing.lexbuf - | GZip of Gzip.in_channel * Lexing.lexbuf - - type handle = {mode : mode_t; level : int} - - let start s filter = - let gread gch s n = Gzip.input gch s 0 n in - if filter then - let gch = Gzip.open_in (s ^ ".gz") in - let glb = Lexing.from_function (gread gch) in - {mode = GZip (gch, glb); level = 0} - else - let ch = open_in s in - let lb = Lexing.from_channel ch in - {mode = Text (ch, lb); level = 0} - - let stop = function - | {mode = GZip (gch, _)} -> Gzip.close_in gch - | {mode = Text (ch, _)} -> close_in ch - - let next h = - let lexbuf = match h.mode with - | GZip (_, glb) -> glb - | Text (_, lb) -> lb - in - P.xml L.xml_token lexbuf - - let xnext h = - let obj = next h in - match obj with - | T.XML_Open _ -> {h with level = succ h.level}, (obj, h.level) - | T.XML_Close _ -> {h with level = pred h.level}, (obj, pred h.level) - | _ -> h, (obj, h.level) - - let rec scan_for h xobj = - let h, curr_xobj = xnext h in - if curr_xobj = xobj then h else scan_for h xobj - -end diff --git a/helm/hxsp/config b/helm/hxsp/config deleted file mode 100644 index 87cd74d8a..000000000 --- a/helm/hxsp/config +++ /dev/null @@ -1,47 +0,0 @@ -######################################################################## -######################################################################## -# -# Main config file for hxsp -# Author: Alessandro Barzanti (barzu@libero.it) -# -######################################################################## -######################################################################## - -######################################################################## -# Working path of hxsp -######################################################################## -#working_path = helm/puwobo -working_path = helm/uwobo -#working_path = helm/hxsp - -######################################################################## -# Port to use for hxsp -######################################################################## -port = 8080 - -######################################################################## -# Interface language -######################################################################## -language = IT -#language = EN - -######################################################################## -# Use complete command description on syntax error if ON -######################################################################## -all_usage_synerr = OFF -#all_usage_synerr = ON - -######################################################################## -# Include XIncludes on the fly if ON -######################################################################## -expand_xinc = OFF -#expand_xinc = ON - -######################################################################## -# Max Depth of the DOM tree while parsing -######################################################################## -max_depth = 1000 - -######################################################################## -######################################################################## -######################################################################## diff --git a/helm/hxsp/hxsp.pl b/helm/hxsp/hxsp.pl deleted file mode 100644 index 14fd24361..000000000 --- a/helm/hxsp/hxsp.pl +++ /dev/null @@ -1,1250 +0,0 @@ -#!/usr/bin/perl - -################################################################################################# -################################################################################################# -################################################################################################# -# -# H.X.S.P. V 1.0 -# T S T R -# T L Y O -# P T E C -# S E -# H S -# E S -# E O -# T R -# -################################################################################################# -################################################################################################# -################################################################################################# - -use HTTP::Daemon; -use HTTP::Status; -use HTTP::Request; -use LWP::UserAgent; -use URI::Escape; -use CGI; -use FindBin; -use XML::LibXML; -use XML::LibXSLT; -use IO; - -################################################################################################# -################################################################################################# -################################################################################################# -# Global Variables -################################################################################################# -################################################################################################# -################################################################################################# - -# Version number -my $ver ="1.0"; - -# Working path of hxsp (loaded from config) -my $working_path; - -# Interface language (loaded from config) -my $language; - -# Port to use for hxsp (loaded from config) -my $port; - -# Use complete command description on syntax error if ON (loaded from config) -my $all_usage_synerr; - -# Include XIncludes on the fly if ON (loaded from config) -my $expand_xinc; - -# Max Depth of the DOM tree while parsing -my $max_depth; - -# Message sent when hxsp was called without commands (loaded from message.##) -my $home_message; - -# Message sent when hxsp was called with the help command (loaded from message.##) -my $help_message; - -# Message sent when a stylesheet is added (loaded from message.##) -my $s_add; - -# Message sent when a stylesheet is reloaded (loaded from message.##) -my $s_reload; - -# Message sent when a stylesheet is removed (loaded from message.##) -my $s_remove; - -# Message to print the stylesheet status for list command (loaded from message.##) -my $list; - -# Message sent when the list command was called -# and there is no stylesheet loaded (loaded from message.##) -my $empty; - -# Message sent after "home_message" when hxsp was called without commands -# and sent after "help_message" when hxsp was called with the help command -# and after all syntax errors if "all_usage_synerr" is set ON (loaded from message.##) -my $all_usage; - -# All the following syntax errors messages are used #only# if "all_usage_synerr" is set OFF - -# Message sent on help syntax errors (loaded from message.##) -my $help_usage; - -# Message sent on add syntax errors (loaded from message.##) -my $add_usage; - -# Message sent on remove syntax errors (loaded from message.##) -my $remove_usage; - -# Message sent on list syntax errors (loaded from message.##) -my $list_usage; - -# Message sent on reload syntax errors (loaded from message.##) -my $reload_usage; - -# Message sent on apply syntax errors (loaded from message.##) -my $apply_usage; - -# The error hash contains the error messages to call in case of syntax -# or operative errors, the keys are defined by the left value of each line in error## -my %error; - -# load ok template -my $ok_tpl; - -# load operror template -my $operror_tpl; - -# load synerror template -my $synerror_tpl; - -# This is the data structure to store the loaded stylesheets (hash of array) -# [0] :Styleseet URI , [1] : Loaded styleseet -my %stylesheet_hash; - -# This is a hash for fast duplicate uri detection -my %by_name; - -################################################################################################# -################################################################################################# -################################################################################################# -# Starting Operations -################################################################################################# -################################################################################################# -################################################################################################# - -# chdir to the directory of this perl script -chdir $FindBin::Bin; - -# load CONFIG -load_conf(); - -# initialize the objects to use LibXML and LibXSLT -my $parser = XML::LibXML->new(); -my $xslt = XML::LibXSLT->new(); - -# initialize the LibXML callbacks to load uri's -XML::LibXML->callbacks(\&match_uri,\&open_uri,\&read_uri,\&close_uri); - -# include XIncludes on the fly if required -if ($expand_xinc eq "ON") { $parser->expand_xinclude( 1 ); } - -# initialize the hxsp as HTTP::Daemon -my $d = new HTTP::Daemon LocalPort => $port; - -# get the complete working url of hxsp -my $puwobo_url = $d->url().$working_path; - -# set the working path to be comparable with url->path -$working_path = "/". $working_path; - -# load messages -load_messages(); - -# load error -load_err(); - -# load templates -load_templates(); - -# print starting information on console -print qq{ -hxsp v$ver active at: - Language is $language - On syntax error usage of every command is $all_usage_synerr - Include XIncludes on the fly is $expand_xinc; -}; - -################################################################################################# -################################################################################################# -# HTTP::Daemon Operations -################################################################################################# -################################################################################################# - -# do not accumulate defunct processes -$SIG{CHLD} = "IGNORE"; -$SIG{USR1} = \&listen; # sent by the child to make the parent read the pipe - -pipe LIST_CHILD, TELL_PARENT; -pipe LIST_PARENT, TELL_CHILD; -TELL_PARENT->autoflush(1); -TELL_CHILD->autoflush(1); - - -sub listen { - my $res; - my $query = ; - if ($query =~ /^add /) { - $query =~ s/^add //; - chomp($query); - $res = add($query); - } - elsif ($query =~ /^reload /) { - $query =~ s/^reload //; - chomp($query); - $res = reload($query); - } - elsif ($query =~ /^remove /) { - $query =~ s/^remove //; - chomp($query); - $res = remove($query); - } - print TELL_CHILD "$res\n"; - print TELL_CHILD "____\n"; # end of response -} - -while (my $c = $d->accept) #connect -{ - if (fork() == 0) #start new concurrent process - { - while (my $r = $c->get_request) #get http request - { - if ($r->method eq 'GET' && - ($r->url->path eq $working_path or $r->url->path eq $working_path."/"))#start dir - { - my $response = new HTTP::Response; - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content(home($r->url->query)); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/help")#usage - { - my $response = new HTTP::Response; - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content(help($r->url->query)); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/add")#add - { - my $response = new HTTP::Response; - kill(USR1,getppid()); # ask the parent to read the pipe - my $qs = $r->url->query; - print TELL_PARENT "add $qs\n"; - my $in; - while (($in = ) ne "____\n") { - $res .= $in; - } - chomp($res); - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content($res); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/remove")#remove - { - my $response = new HTTP::Response; - kill(USR1,getppid()); # ask the parent to read the pipe - my $qs = $r->url->query; - print TELL_PARENT "remove $qs\n"; - my $in; - my $res=""; - while (($in = ) ne "____\n") { - $res .= $in; - } - chomp($res); - $response->content($res); - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/reload")#reload - { - my $response = new HTTP::Response; - kill(USR1,getppid()); # ask the parent to read the pipe - my $qs = $r->url->query; - print TELL_PARENT "reload $qs\n"; - my $in; - my $res=""; - while (($in = ) ne "____\n") { - $res .= $in; - } - chomp($res); - $response->content($res); - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/list")#list - { - my $response = new HTTP::Response; - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content(list($r->url->query)); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/apply")#apply - { - my %headers; - my $response = new HTTP::Response; - $response->content(apply($r->url->query,\%headers)); - $response->header(%headers); - $c->send_response($response); - } - else #wrong command or not working_path - { - $c->send_error(RC_FORBIDDEN) - } - } - $c->close; - undef($c); - exit; - } # fork -} - -################################################################################################# -################################################################################################# -################################################################################################# -# Stylesheet hash check subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub addcheckvalues -# Usage: addcheckvalues($key,$uri); -# Returns: error message or 0 if no errors found -# Do: check if key and uri are already loaded -# Used by: addvalues -# Uses : err_replace -################################################################################################# -sub addcheckvalues -{ - my $ac_key = shift(@_); - my $ac_uri = shift(@_); - if (exists $stylesheet_hash{$ac_key}) - { - return err_replace($error{"add_dup_key"},$ac_key,$ac_uri,""); - } - elsif (exists $by_name{$ac_uri}) - { - return err_replace($error{"add_dup_value"},$ac_key,$ac_uri,$by_name{$ac_key}); - } - else { return 0; } -} -################################################################################################# - -################################################################################################# -# sub recheckvalues -# Usage: recheckvalues($key); -# Returns: error message or 0 if no errors found -# Do: check if key are loaded -# Used by: remove, reloadvalues -# Uses : err_replace -################################################################################################# -sub recheckvalues -{ - my $re_key = shift(@_); - if (not exists $stylesheet_hash{$re_key}) - { - return err_replace($error{"re_inv_key"},$re_key,"",""); - } - else { return 0; } -} -################################################################################################# - -################################################################################################# -# sub applycheckvalues -# Usage: applycheckvalues(\@keys); -# Returns: error message or 0 if no errors found -# Do: check if keys in @keys are loaded -# Used by: remove, reloadvalues -# Uses : err_replace -################################################################################################# -sub applycheckvalues -{ - my $applykeys_ptr = shift(@_); - foreach $applykey (@$applykeys_ptr) - { - if (not exists $stylesheet_hash{$applykey}) - { - return err_replace($error{"apply_inv_key"},$applykey,"",""); - } - } - return 0; -} -################################################################################################# - -################################################################################################# -################################################################################################# -################################################################################################# -# Stylesheet hash modify subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub addvalues -# Usage: if add_halt_on_errors is ON addvalues($key,$uri,@added); -# else addvalues($key,$uri) -# Returns: error message or 0 on success, -# if add_halt_on_errors is ON return all the added keys on @added -# Do: add the values to the stylesheet hash -# Used by: add -# Uses : addcheckvalues, loadstyle -################################################################################################# -sub addvalues -{ - my $av_key = shift(@_); - my $av_uri = shift(@_); - my $av_stylesheet; #parsed stylesheet to be placed in hash - if (my $err = addcheckvalues($av_key,$av_uri)) { return $err; } - elsif (my $err = loadstyle($av_key, $av_uri, $av_stylesheet)) { return $err; } - else - { - $stylesheet_hash{$av_key}[0]=$av_uri; - $stylesheet_hash{$av_key}[1]=$av_stylesheet; - $by_name{$av_uri}=$av_key; - return 0; - } -} -################################################################################################# - -################################################################################################# -# sub removevalues -# Usage: removevalues($key); -# Returns: message -# Do: remove the key specified and relative values from the stylesheet hash -# Used by: remove, do_remove -# Uses : ok_replace -################################################################################################# -sub removevalues -{ - my $cr_key = shift(@_); - my $cr_uri = $stylesheet_hash{$cr_key}[0]; - delete $stylesheet_hash{$cr_key}; - delete $by_name{$cr_uri}; - return ok_replace("$s_remove\n",$cr_key,$cr_uri); -} -################################################################################################# - -################################################################################################# -# sub reloadvalues -# Usage: if add_halt_on_errors is ON reloadvalues($key.\%reloaded); -# else reloadvalues($key); -# Returns: error message or 0 on success, -# if add_halt_on_errors is ON return the old stylesheets in %reloaded -# Do: reload the stlylesheet with the key specified -# Used by: do_reload -# Uses : recheckvalues, loadstyle -################################################################################################# -sub reloadvalues -{ - my $rv_key = shift(@_); - my $rv_uri = $stylesheet_hash{$rv_key}[0]; - my $rv_stylesheet; #parsed stylesheet to be placed in hash - if (my $err = recheckvalues($rv_key)) { return $err; } - elsif (my $err = loadstyle($rv_key, $rv_uri, $rv_stylesheet)) { return $err; } - else - { - $stylesheet_hash{$rv_key}[1] = $rv_stylesheet; - return 0; - } -} -################################################################################################# - -################################################################################################# -################################################################################################# -################################################################################################# -# LibXML LIBXSLT access subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub loadstyle -# Usage: loadstyle($key,$uri,$stylesheet); -# Returns: error message or 0 on success, -# parsed stylesheet in $stylesheet -# Do: parse the stylesheet at the given uri -# Used by: addvalues , reloadvalues -# Uses : err_replace, parser_error_replace -################################################################################################# -sub loadstyle -{ - my $ls_key= shift(@_); - my $ls_uri= shift(@_); - my $uncatched = ""; - my $line = ""; - my $style_doc; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $style_doc = $parser->parse_file($ls_uri); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - - if ($@ or $uncatched ne "") - { - return err_replace($error{"add_xml_error"},$ls_key,$ls_uri,parser_error_replace($@.$uncatched)); - } - else - { - pipe P, STDERR; - STDERR->autoflush(1); - $uncatched = ""; - $line = ""; - eval { $_[0] = $xslt->parse_stylesheet($style_doc); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - return err_replace($error{"add_xslt_error"},$ls_key,$ls_uri,parser_error_replace($@.$uncatched)); - } - else {return 0} - } -} - -sub load_xml_doc -{ - my $xmluri = shift(@_); - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $_[0] = $parser->parse_file($xmluri); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - return err_replace($error{"apply_xml_error"},"",$xmluri,parser_error_replace($@.$uncatched)); - } - else {return 0} -} - -sub apply_style -{ - my $k = shift(@_); - my $params_ptr = shift(@_); - my %params = XML::LibXSLT::xpath_to_string(%$params_ptr); - my $pippo; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - XML::LibXSLT->max_depth($max_depth); - eval { $_[0] = $stylesheet_hash{$k}[1]->transform($_[0],%params); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return err_replace($error{"apply_xslt_error"},$k,$stylesheet_hash{$k}[0],$e_r); - } - else {return 0} -} -sub get_results -{ - my $k = shift(@_); - my $results = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = $stylesheet_hash{$k}[1]->output_string($results); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} -sub get_results_prop -{ - my $result = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = $result->toString; }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} - -sub get_results_html -{ - my $result = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = $result->toStringHTML();}; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} - -sub decode -{ - my $result = shift(@_); - my $enc = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = decodeFromUTF8($enc, $result);}; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} -################################################################################################# - -################################################################################################# -################################################################################################# -################################################################################################# -# Commands subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub add -# Usage: add($http_query); -# Returns: values for HTTP::Response -# Do: add stylesheet(s) to hash -# Used by: daemon -# Uses : addparsequery, addvalues, ok_replace, -# ok_print, synerror_print, operror_print -################################################################################################# -sub add -{ - my $http_query = shift(@_); # querystring - my $cont =""; # return value - my @binds; #values of binds passed via querystring - my $err; # error string - if ($err = addparsequery($http_query,\@binds)) { return synerror_print($err,$add_usage); } - else - { - foreach my $bind (@binds) - { - my ($a_key , $e_uri) = split(/,/,$bind,2); - my $une_uri = uri_unescape($e_uri); - if ($err = addvalues($a_key,$une_uri)) { $cont .= "$err\n"; } - else { $cont .= ok_replace("$s_add\n",$a_key,$une_uri); } - }#foreach - return ok_print($cont); - } -} -################################################################################################# - -################################################################################################# -# sub remove -# Usage: remove($http_query); -# Returns: values for HTTP::Response -# Do: remove stylesheet(s) from hash -# Used by: daemon -# Uses : reparsequery, getkeys, recheckvalues, removevalues, -# ok_print, synerror_print, operror_print -################################################################################################# -sub remove -{ - my $http_query = shift(@_); # querystring - my $rem_keys; - my $cont=""; - my $err; - if ($http_query eq "") - { - my $i=0; - foreach my $rem_key (keys %stylesheet_hash) - { - $cont .= removevalues($rem_key); - $i++; - } - if ($i==0) { return operror_print($error{"re_no_sl"}); } - } - elsif ($err = reparsequery($http_query,$rem_keys)){return synerror_print($err,$remove_usage);} - else - { - foreach my $rem_key (split (/,/,$rem_keys)) - { - if (my $err = recheckvalues($rem_key)) { $cont .= "$err\n"; } - else { $cont .= removevalues($rem_key); } - } - } - return ok_print($cont); -} -################################################################################################# - -################################################################################################# -# sub reload -# Usage: remove($http_query); -# Returns: values for HTTP::Response -# Do: remove stylesheet(s) from hash -# Used by: daemon -# Uses : reparsequery, getkeys, recheckvalues, removevalues, -# ok_print, synerror_print, operror_print -################################################################################################# -sub reload #reload stylesheet(s) from hash -{ - my $http_query = shift(@_); - my $rel_keys; - my @rel_k; - my $dr_cont = ""; - if ($http_query eq "") - { - my $i=0; - foreach my $key (keys %stylesheet_hash) - { - if (my $err = reloadvalues($key)) { return $dr_cont .= $err; } - else {$dr_cont .= ok_replace("$s_reload\n",$key,$stylesheet_hash{$key}[0]);} - $i++; - } - if ($i==0) { return operror_print($error{"re_no_sl"}); } - } - elsif ($err = reparsequery($http_query,$rel_keys)){return synerror_print($err,$reload_usage);} - else - { - foreach my $key (split (/,/,$rel_keys)) - { - if (my $err = reloadvalues($key)) { return $dr_cont .= $err; } - else {$dr_cont .= ok_replace("$s_reload\n",$key,$stylesheet_hash{$key}[0]);} - } - } - return ok_print($dr_cont); -} -################################################################################################# - -sub apply #apply stylesheets -{ - my $http_query = shift(@_); - my $headers_ptr = shift(@_); - my $xmluri; - my @applykeys; - my %app_param; - my %app_prop; - my $results; - my $lastkey; - my $enc; - - if (my $err=applyparsequery($http_query,\@applykeys,\%app_param,\%app_prop,$xmluri)) - { - return synerror_print($err,$apply_usage); - } - elsif (my $err=applycheckvalues(\@applykeys)) { return operror_print($err); } - elsif (my $err=load_xml_doc($xmluri,$results)) { return operror_print($err); } - #apply - foreach my $applykey (@applykeys) - { - $lastkey=$applykey; - if (my $err=apply_style($applykey,\%{$app_param{$applykey}},$results)) - { - return operror_print($err); - } - }#foreach - my $i=0; - while (my ($n, $v) = each %app_prop) - { - if (($n eq "method") or ($n eq "METHOD")) - { - if ($v eq 'html') { $headers_ptr->{'Content-Type'}='text/html'; } - elsif ($v eq 'text') { $headers_ptr->{'Content-Type'}='text/plain'; } - else { $headers_ptr->{'Content-Type'}='text/xml'; } - } - if (($n eq "encoding") or ($n eq "ENCODING")) - { - $headers_ptr->{'Content-Encoding'}=$v; - if ($v ne "UTF-8") { $enc = $v; } - } - if (($n eq "media-type") or ($n eq "MEDIA_TYPE") or ($n eq "MEDIA-TYPE")) - { - $headers_ptr->{'Content-Type'}=$v; - } - $i++; - } - if ($i == 0) - { - %$headers_ptr= ('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - return get_results($lastkey,$results); - } - else - { - my $result; - $headers_ptr->{'Cache-Control'} = 'no-cache'; - $headers_ptr->{'Pragma'} = "no-cache"; - $headers_ptr->{'Expires'} = '0'; - if ($headers_ptr->{'Content-Type'} eq 'text/html') - { - $result = get_results_html($results); - } - else - { - $result = get_results_prop($results); - if ($enc) - { - $result = decode($result,$enc); - } - } - return $result; - } -} - -sub list #list all the stylesheet loaded -{ - my $cont=""; - my $ind = 0; - foreach $key (keys %stylesheet_hash) - { - $cont .= ok_replace("$list\n",$key,$stylesheet_hash{$key}[0]); - $ind++; - } - if ($ind > 0) { return ok_print($cont); } - else { return ok_print($empty); } -} - -sub home #return Dispay active -{ - if ($_[0] ne "") { return synerror_print($error{"home_qs"},$all_usage); } - else { - return ok_print($home_message.$all_usage); - } -} - -sub help #return html help -{ - if ($_[0] ne "") { return synerror_print($error{"help_qs"},$help_usage); } - return ok_print($help_message.$all_usage); -} - -################################################################################################# -################################################################################################# -# Subrutines to get parameters for commands from Query String (query string parsing) -################################################################################################# -################################################################################################# - -sub add_comma_analysis -{ - my $bind = shift(@_); - my ($l , $r) = split(/,/,$bind,2); - if (index($bind ,",") == -1) { return $error{"add_no_sep"}; } - elsif (index($r ,",") != -1) { return $error{"add_many_sep"}; } - elsif (($l eq "") or ($r eq "")) { return $error{"add_null_bind"}; } - else { return 0; } -} -## -#usage: -#addparsequery($querystring,\@binds) -#returns $errcode; -sub addparsequery -{ - my $query = shift(@_); - my $value_ptr = shift(@_); - if ($query eq "") { return $error{"add_no_bind"}; } - else - { - foreach my $params (split(/&/,$query)) - { - my ($k , $v) = split(/=/,$params,2); - $v=uri_unescape($v); - if ($k ne "bind") { return $error{"add_oth"}; } - elsif ($v eq "") { return $error{"add_null_bind"}; } - elsif (my $err=add_comma_analysis($v)) { return $err; } - else { push @$value_ptr,$v;} - }#foreach - return 0; - } -} - -sub reparsequery -{ - my $query = shift(@_); - my $k; - my $v; - my $err; - if (index($query, "&") == -1) - { - ($k , $v) = split(/=/,$query,2); - $v=uri_unescape($v); - if ($k ne "keys") { return $error{"re_oth"}; } - elsif ($v eq "") { return $error{"re_null_keys"}; } - elsif ((index($v,",")==0) or (index($v,",,")!=-1) or (substr($v,-1) eq ",")) - { - return $error{"re_null_keys"}; - } - else { $_[0] = $v; return 0; } - } - else { return $error{"re_many"}; } -} - -sub get_req -{ - my $arr_ptr = shift(@_); - my $xmluri_found = 0; - my $keys_found = 0; - foreach my $el (@$arr_ptr) - { - my ($k , $v) = split(/=/,$el,2); - $v=uri_unescape($v); - if ($k eq "param") { return $error{"apply_no_dots_param"}; } - elsif ($k eq "prop") { return $error{"apply_no_dots_prop"}; } - elsif ($k eq "xmluri") - { - if ($xmluri_found) { return $error{"apply_many_uri"}; } - else - { - if ($v eq "") { return $error{"apply_null_uri"}; } - else { $_[0] = $v; $xmluri_found = 1; } - } - } - elsif ($k eq "keys") - { - if ($keys_found) { return $error{"apply_many_keys"}; } - else - { - if ($v eq "") { return $error{"apply_null_keys"}; } - elsif ((index($v,",")==0) or (index($v,",,")!=-1) or (substr($v,-1) eq ",")) - { - return $error{"apply_null_keys"}; - } - else { $_[1] = $v; $keys_found = 1; } - } - } - else { return $error{"apply_oth"}; } - }#foreach my $el (@$arr_ptr) - if ((!$xmluri_found or !$keys_found)) { return $error{"apply_few_pars"}; } - else { return 0; } -} - -sub applyparsequery -{ - my $query = shift(@_); - my $apply_keys_ptr = shift(@_); - my $keyparshoh = shift(@_); - my $proph_ptr = shift(@_); - my $applykeys; - my %prop_h; - my %genparam_h; - my %keyparam_h; - my @nodots; - - if ($query eq "") { return $error{"apply_few_pars"}; } - if (index($query, "&") == -1) { return $error{"apply_few_pars"}; } - foreach my $param (split(/&/,$query)) - { - my ($k , $v) = split(/=/,$param,2); - $v=uri_unescape($v); - if (index($k, ".") == -1) { push @nodots,$param; } - else - { - my ($l , $r) = split(/\./,$k,2); - if ($l eq "prop") - { - if (($r eq "") or ($v eq "")) { return $error{"apply_null_prop"}; } - elsif (index($r, ".") > -1) { return $error{"apply_dots_prop"}; } - else { $prop_h{$r} = $v; } - } - elsif ($l eq "param") - { - if (($r eq "") or ($v eq "")) { return $error{"apply_null_param"}; } - elsif (index($r, ".") == -1) { $genparam_h{$r} = $v; } - else - { - my ($kk , $va) = split(/\./,$r,2); - if (index($va, ".") > -1) { return $error{"apply_dots_param"}; } - elsif (($kk eq "") or ($va eq "")) { return $error{"apply_null_param"}; } - else { $keyparam_h{$kk}{$va}=$v; } - } - } - else { return $error{"apply_oth"}; } - } - } - - if (my $err = get_req(\@nodots,$_[0],$applykeys)) { return $err; } - while (my ($gn, $gv) = each %prop_h) - { - $proph_ptr->{$gn} = $gv; - } - foreach my $pkey ( keys %keyparam_h ) - { - my $k_found=0; - foreach my $verkey (split (/,/,$applykeys)) - { - if ($pkey eq $verkey) { $k_found = 1; } - } - if (! $k_found) { return $error{"apply_inv_param"}; } - } - - foreach my $applykey (split (/,/,$applykeys)) - { - while (my ($gn, $gv) = each %genparam_h) - { - $keyparshoh->{$applykey}{$gn} = $gv; - } - while (my ($kn, $kv) = each %{ $keyparam_h{$applykey} } ) - { - $keyparshoh->{$applykey}{$kn} = $kv; - } - push @$apply_keys_ptr, $applykey; - }#foreach - return 0; -} - -################################################################################################# -################################################################################################# -################################################################################################# -# Subrutines to replace values between {} on loaded templates -################################################################################################# -################################################################################################# -################################################################################################# - -sub ok_print -{ - my $message = shift(@_); - $message =~ s/(\n)/
\1/g; - my $retval = $ok_tpl; - $retval =~ s/\{MESSAGE\}/$message/g; - return $retval; -} - -sub operror_print -{ - my $message = shift(@_); - $message =~ s/(\n)/
\1/g; - my $retval = $operror_tpl; - $retval =~ s/\{ERROR\}/$message/g; - return $retval; -} - -sub synerror_print -{ - my $message = shift(@_); - my $us = shift(@_); - $message =~ s/(\n)/
\1/g; - my $retval = $synerror_tpl; - $retval =~ s/\{ERROR\}/$message/g; - $retval =~ s/\{USAGE\}/$us/g; - return $retval; -} - -################################################################################################# -################################################################################################# -################################################################################################# -# Subrutines to replace values between {} on loaded messages -################################################################################################# -################################################################################################# -################################################################################################# - -sub ok_replace -{ - my $message = shift(@_); - my $key = shift(@_); - my $s_uri = shift(@_); - $message =~ s/\{KEY\}/$key/g; - $message =~ s/\{URI\}/$s_uri/g; - return $message; -} - -sub err_replace -{ - my $message = shift(@_); - my $key = shift(@_); - my $s_uri = shift(@_); - my $errr = shift(@_); - $message =~ s/\{KEY\}/$key/g; - $message =~ s/\{URI\}/$s_uri/g; - $message =~ s/\{ERROR\}/$errr/g; - $message =~ s/\{OLDKEY\}/$errr/g; - return $message; -} - -sub parser_error_replace -{ - my $no_at = shift(@_); - $no_at =~ s/(.*)\sat\s(.*)/\1/g; - $no_at =~ s//>/g; - return $no_at; -} - -################################################################################################# -################################################################################################# -################################################################################################# -# Subrutines to load config files and templates -################################################################################################# -################################################################################################# -################################################################################################# - -sub load_messages -{ - if ($language eq "IT") - { - open(MESSAGE, "./msg/message.it") || die "Can't open config file '/msg/message.it' : $!"; - } - else - { - open(MESSAGE, "./msg/message.en") || die "Can't open config file '/msg/message.en' : $!"; - } - while(my $line = ) { - # ignore comments and full line comments - $line =~ s/#.*$//; - next unless $line =~ /\S/; - $line =~ s/\{URL\}/$puwobo_url/g; - $line =~ s/\{VER\}/$ver/g; - if ($line =~ /^(home_message)\s*=\s*(.*)$/) {$home_message = $2; } - if ($line =~ /^(help_message)\s*=\s*(.*)$/) {$help_message = $2; } - if ($line =~ /^(s_add)\s*=\s*(.*)$/) {$s_add = $2; } - if ($line =~ /^(s_reload)\s*=\s*(.*)$/) {$s_reload = $2; } - if ($line =~ /^(s_remove)\s*=\s*(.*)$/) {$s_remove = $2; } - if ($line =~ /^(list)\s*=\s*(.*)$/) {$list = $2; } - if ($line =~ /^(empty)\s*=\s*(.*)$/) {$empty = $2; } - if ($line =~ /^(all_usage)\s*=\s*(.*)$/) {$all_usage = $2; } - if ($all_usage_synerr eq "ON") - { - $help_usage=$add_usage=$remove_usage=$list_usage=$reload_usage=$apply_usage=$all_usage; - } - else - { - if ($line =~ /^(help_usage)\s*=\s*(.*)$/) {$help_usage = $2; } - if ($line =~ /^(add_usage)\s*=\s*(.*)$/) {$add_usage = $2; } - if ($line =~ /^(remove_usage)\s*=\s*(.*)$/) {$remove_usage = $2; } - if ($line =~ /^(list_usage)\s*=\s*(.*)$/) {$list_usage = $2; } - if ($line =~ /^(reload_usage)\s*=\s*(.*)$/) {$reload_usage = $2; } - if ($line =~ /^(apply_usage)\s*=\s*(.*)$/) {$apply_usage = $2; } - } - } - close MESSAGE; -} - -sub load_conf -{ - open(CONFIG, "./config") || die "Can't open config file 'config' : $!"; - while(my $line = ) { - # ignore comments and full line comments - $line =~ s/#.*$//; - next unless $line =~ /\S/; - if ($line =~ /^(working_path)\s*=\s*(.*)$/) {$working_path = $2; } - if ($line =~ /^(language)\s*=\s*(.*)$/) {$language = $2; } - if ($line =~ /^(port)\s*=\s*(.*)$/) {$port = $2; } - if ($line =~ /^(all_usage_synerr)\s*=\s*(.*)$/) {$all_usage_synerr = $2; } - if ($line =~ /^(expand_xinc)\s*=\s*(.*)$/) {$expand_xinc = $2; } - if ($line =~ /^(max_depth)\s*=\s*(.*)$/) {$max_depth = $2; } - } - close CONFIG; -} - -sub load_err -{ - if ($language eq "IT") - { - open(ERRO, "./msg/error.it") || die "Can't open config file '/msg/error.it' : $!"; - } - else - { - open(ERRO, "./msg/error.en") || die "Can't open config file '/msg/error.en' : $!"; - } - while(my $line = ) - { - # ignore comments and full line comments - $line =~ s/#.*$//; - next unless $line =~ /\S/; - if ($line =~ /^(.*?)\s*=\s*(.*)$/) {$error{$1} = $2; } - } - close ERRO; -} - -sub load_templates -{ - # load ok template - open(OK_TPL, "./tpl/ok.tpl") - || die "Can't open template file '/tpl/ok.tpl' : $!"; - while(my $line = ) {$ok_tpl .= $line; } - close OK_TPL; - - # load operror template - open(OPERROR_TPL, "./tpl/operror.tpl") - || die "Can't open template file '/tpl/operror.tpl' : $!"; - while(my $line = ) {$operror_tpl .= $line; } - close OPERROR_TPL; - - # load synerror template - open(SYNERROR_TPL, "./tpl/synerror.tpl") - || die "Can't open template file '/tpl/synerror.tpl' : $!"; - while(my $line = ) {$synerror_tpl .= $line; } - close SYNERROR_TPL; -} - -################################################################################################# -################################################################################################# -################################################################################################# -# the LibXML callbacks follow -# these callbacks are used for both the original parse AND the XInclude (if set) -################################################################################################# -################################################################################################# -################################################################################################# - -sub match_uri { - my $uri = shift; - return $uri !~ /:\/\// ? 1 : 0; # we handle only files -} - -sub open_uri { - my $uri = shift; - - my $handler = new IO::File; - if ( not $handler->open( "<$uri" ) ){ - $file = 0; - } - - return $file; -} - -sub read_uri { - my $handler = shift; - my $length = shift; - my $buffer = undef; - if ( $handler ) { - $handler->read( $rv , $length ); - } - return $buffer; -} - -sub close_uri { - my $handler = shift; - if ( $handler ) { - $handler->close(); - } - return 1; -} diff --git a/helm/hxsp/make.pl b/helm/hxsp/make.pl deleted file mode 100644 index ecd3a2886..000000000 --- a/helm/hxsp/make.pl +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -open(MAIN, ">","./hxsp.pl")|| die "Can't open ./hxsp.pl : $!"; -my $pd = "./splitted/"; -my @pieces = ("0.init.p.pl","1.globvars.p.pl","2.start.p.pl", - "3.daemon.p.pl","4.hash.p.pl","5.libxslt.p.pl", - "6.commands.p.pl","7.qsparse.p.pl", - "8.strrep.p.pl","9.load.p.pl"); - -foreach $p (@pieces) -{ - open(P, "$pd$p") || die "Can't open $pd$p : $!"; - while(my $line =

) { print MAIN $line; } - close P; - print MAIN "\n"; -} - -close MAIN; diff --git a/helm/hxsp/msg/error.en b/helm/hxsp/msg/error.en deleted file mode 100644 index 9ac62ab87..000000000 --- a/helm/hxsp/msg/error.en +++ /dev/null @@ -1,45 +0,0 @@ -#syntax errors - -home_qs = syntax error: don't use parameters on hxsp if they aren't required by a specific command - -help_qs = syntax error: too parameters, help don't require any parameter - -list_qs = syntax error: too parameters, list don't require any parameter - -add_no_bind = syntax error: you must use the "bind" parameter -add_oth = syntax error: you may use only the "bind" parameter -add_null_bind = syntax error: bad bind value (NULL) -add_many_sep = syntax error: bad bind value (too commas) -add_no_sep = syntax error: bad bind value (no comma) - -re_oth = syntax error: you may use only the "keys" parameter -re_many = syntax error: you may use only the "keys" parameter and you must use it once -re_null_keys = syntax error: bad keys value (NULL) - -apply_few_pars = syntax error: xmluri and keys are both required -apply_oth = syntax error: you may use only keys, xmluri e param as parameters -apply_many_uri = syntax error: you must use the xmluri parameter once -apply_null_uri = syntax error: bad xmluri value (NULL) -apply_many_keys = syntax error: you must use the keys parameter once -apply_null_keys = syntax error: bad keys value (NULL) -apply_no_dots_param = syntax error: bad param value (no dots) -apply_no_dots_prop = syntax error: bad prop value (no dots) -apply_dots_param = syntax error: bad param value (more than 2 dots) -apply_dots_prop = syntax error: bad prop value (many dots) -apply_null_param = syntax error: bad param value (NULL) -apply_null_prop = syntax error: bad prop value (NULL) -apply_inv_param = syntax error: bad param value (key not specified in the keys parameter) - -#operative errors -add_dup_key = error in the stylesheet with key {KEY} and uri {URI}: a stylesheet with key {KEY} was already loaded use another key -add_dup_value = error in the stylesheet with key {KEY} and uri {URI}: the stylesheet with uri {URI} was already loaded with key {OLDKEY} use "reload" instead -add_xml_error = the XML parser found an error in the stylesheet with key {KEY} and uri {URI}:
{ERROR} -add_xslt_error = the XSLT parser found an error in the stylesheet with key {KEY} and uri {URI}:
{ERROR} - -re_inv_key = the stylesheet with key {KEY} was not loaded -re_no_sl = there is no stylesheets loaded - -apply_inv_key = the stylesheet with key {KEY} was not loaded -apply_xml_error = the XML parser found an error in the file {URI}:
{ERROR} -apply_xslt_error = the LibXSLT library found an error applying the stylesheet with key {KEY} and uri {URI}:
{ERROR} -apply_xslt_out_error = lthe LibXSLT library found an error creating the return file:
{ERROR} diff --git a/helm/hxsp/msg/error.it b/helm/hxsp/msg/error.it deleted file mode 100644 index ebbfa8f6b..000000000 --- a/helm/hxsp/msg/error.it +++ /dev/null @@ -1,46 +0,0 @@ -#sintax errors - -home_qs = errore di sintassi: non passare parametri a hxsp se non per l'utilizzo dei comandi specificati - -help_qs = errore di sintassi: troppi parametri specificati, help non richiede parametri - -list_qs = errore di sintassi: troppi parametri specificati, list non richiede parametri - -add_no_bind = errore di sintassi: si deve assegnare almeno un valore a bind -add_oth = errore di sintassi: si possono assegnare valori solo a bind -add_null_bind = errore di sintassi: valore di bind errato (NULL) -add_many_sep = errore di sintassi: valore di bind errato (troppe virgole) -add_no_sep = errore di sintassi: valore di bind errato (non seperato da virgola) - -re_oth = errore di sintassi: si possono assegnare valori solo a keys -re_many = errore di sintassi: si possono assegnare valori solo a keys e una sola volta -re_null_keys = errore di sintassi: valore di keys errato (NULL) - -apply_few_pars = errore di sintassi: richiesti almeno xmluri e keys -apply_oth = errore di sintassi: si possono assegnare valori solo a keys, xmluri e param -apply_many_uri = errore di sintassi: si può assegnare solo un valore a xmluri -apply_null_uri = errore di sintassi: valore di xmluri errato (NULL) -apply_many_keys = errore di sintassi: si possono assegnare valori a keys una sola volta -apply_null_keys = errore di sintassi: valore di keys errato (NULL) -apply_no_dots_param = errore di sintassi: valore di param errato (param richiede il punto) -apply_no_dots_prop = errore di sintassi: valore di prop errato (prop richiede il punto) -apply_dots_param = errore di sintassi: valore di param errato (param richiede al massimo 2 punti) -apply_dots_prop = errore di sintassi: valore di prop errato (prop richiede un solo punto) -apply_null_param = errore di sintassi: valore di param errato (NULL) -apply_null_prop = errore di sintassi: valore di prop errato (NULL) -apply_inv_param = errore di sintassi: valore di param errato (chiave non indicata in keys) - -#operative errors -add_dup_key = errore nello stylesheet con chiave {KEY} e uri {URI}: esiste già uno stilesheet con chiave {KEY} usare un altra chiave -add_dup_value = errore nello stylesheet con chiave {KEY} e uri {URI}: lo stylesheet con uri {URI} è già stato caricato con la chiave {OLDKEY} usare "reload" per ricaricarlo -add_xml_error = il parser xml ha rilevato un errore nello stylesheet con chiave {KEY} e uri {URI}:
{ERROR} -add_xslt_error = il parser xslt ha rilevato un errore nello stylesheet con chiave {KEY} e uri {URI}:
{ERROR} - -re_inv_key = lo stylesheet con chiave {KEY} non è stato caricato -re_no_sl = nessuno stylesheet è stato caricato - -apply_inv_key = lo stylesheet con chiave {KEY} non è stato caricato -apply_xml_error = il parser xml ha rilevato un errore nello file {URI}:
{ERROR} -apply_xslt_error = la libreria LibXSLT ha rilevato un errore applicando lo stylesheet con chiave {KEY} e uri {URI}:
{ERROR} -apply_xslt_out_error = la libreria LibXSLT ha rilevato un errore nella creazione del file in uscita:
{ERROR} - diff --git a/helm/hxsp/msg/message.en b/helm/hxsp/msg/message.en deleted file mode 100644 index 6a43e828b..000000000 --- a/helm/hxsp/msg/message.en +++ /dev/null @@ -1,96 +0,0 @@ -######################################################################## -######################################################################## -# -# Interface messages config file in EN language for hxsp -# Author: Alessandro Barzanti (barzu@libero.it) -# -######################################################################## -######################################################################## - -######################################################################## -######################################################################## -# usage messages -######################################################################## -######################################################################## - -######################################################################## -# Message sent after help syntax errors if "all_usage_synerr" is set OFF -######################################################################## -help_usage = usage:
{URL}/help - -######################################################################## -# Message sent after add syntax errors if "all_usage_synerr" is set OFF -######################################################################## -add_usage = usage:
{URL}/add?bind=key,stylesheet[&bind=key,stylesheet]* - -######################################################################## -# Message sent after remove syntax errors if "all_usage_synerr" is set OFF -######################################################################## -remove_usage = usage:
{URL}/remove[?keys=key_1,...,key_n] - -######################################################################## -# Message sent after list syntax errors if "all_usage_synerr" is set OFF -######################################################################## -list_usage = usage:
{URL}/list - -######################################################################## -# Message sent after reload syntax errors if "all_usage_synerr" is set OFF -######################################################################## -reload_usage =usage:
{URL}/reload[?keys=key_1,...,key_n] - -######################################################################## -# Message sent after apply syntax errors if "all_usage_synerr" is set OFF -######################################################################## -apply_usage =usage:
{URL}/apply?xmluri=xmldata&keys=key_1,...,key_n[¶m.name=value]*[¶m.key.name=value]*[&prop.name=[value]]* - -######################################################################## -# Message sent after "home_message" when hxsp was called without commands -# and sent after "help_message" when hxsp was called with the help command -# and after all syntax errors if "all_usage_synerr" is set ON -######################################################################## -all_usage = usage:

  • {URL}/help
  • {URL}/add?bind=key,stylesheet&bind=key,stylesheet]*
  • {URL}/remove[?keys=key_1,...,key_n]
  • {URL}/list
  • {URL}/reload[?keys=key_1,...,key_n]
  • {URL}/apply?xmluri=xmldata&keys=key_1,...,key_n[¶m.name=value]*[¶m.key.name=value]*[&prop.name=[value]]*
- -######################################################################## -######################################################################## -#operative messages -######################################################################## -######################################################################## - -######################################################################## -# Message sent when hxsp was called without commands -######################################################################## -home_message =

hxsp v{VER} active


- -######################################################################## -# Message sent when hxsp was called with the help command -######################################################################## -help_message = - -######################################################################## -# Message sent when a stylesheet is added -######################################################################## -s_add = the stylesheet with key: {KEY} and uri: {URI} was successfully loaded - -######################################################################## -# Message sent when a stylesheet is reloaded -######################################################################## -s_reload = the stylesheet with key: {KEY} and uri: {URI} was successfully reloaded - -######################################################################## -# Message sent when a stylesheet is removed -######################################################################## -s_remove = the stylesheet with key: {KEY} and uri: {URI} was successfully removed - -######################################################################## -# Message to print the stylesheet status for list command -######################################################################## -list = the stylesheet with key: {KEY} and uri: {URI} was loaded - -######################################################################## -# Message sent when the list command was called -# and there is no stylesheet loaded -######################################################################## -empty = there is no stylesheet loaded - -######################################################################## -######################################################################## diff --git a/helm/hxsp/msg/message.it b/helm/hxsp/msg/message.it deleted file mode 100644 index 77c1d6b79..000000000 --- a/helm/hxsp/msg/message.it +++ /dev/null @@ -1,96 +0,0 @@ -######################################################################## -######################################################################## -# -# Interface messages config file in IT language for hxsp -# Author: Alessandro Barzanti (barzu@libero.it) -# -######################################################################## -######################################################################## - -######################################################################## -######################################################################## -# usage messages -######################################################################## -######################################################################## - -######################################################################## -# Message sent after help syntax errors if "all_usage_synerr" is set OFF -######################################################################## -help_usage = utilizzo:
{URL}/help - -######################################################################## -# Message sent after add syntax errors if "all_usage_synerr" is set OFF -######################################################################## -add_usage = utilizzo:
{URL}/add?bind=key,stylesheet[&bind=key,stylesheet]* - -######################################################################## -# Message sent after remove syntax errors if "all_usage_synerr" is set OFF -######################################################################## -remove_usage = utilizzo:
{URL}/remove[?keys=key_1,...,key_n] - -######################################################################## -# Message sent after list syntax errors if "all_usage_synerr" is set OFF -######################################################################## -list_usage = utilizzo:
{URL}/list - -######################################################################## -# Message sent after reload syntax errors if "all_usage_synerr" is set OFF -######################################################################## -reload_usage = utilizzo:
{URL}/reload[?keys=key_1,...,key_n] - -######################################################################## -# Message sent after apply syntax errors if "all_usage_synerr" is set OFF -######################################################################## -apply_usage = utilizzo:
{URL}/apply?xmluri=xmldata&keys=key_1,...,key_n[¶m.name=value]*[¶m.key.name=value]*[&prop.name=[value]]* - -######################################################################## -# Message sent after "home_message" when hxsp was called without commands -# and sent after "help_message" when hxsp was called with the help command -# and after all syntax errors if "all_usage_synerr" is set ON -######################################################################## -all_usage = utilizzo:
  • {URL}/help
  • {URL}/add?bind=key,stylesheet&bind=key,stylesheet]*
  • {URL}/remove[?keys=key_1,...,key_n]
  • {URL}/list
  • {URL}/reload[?keys=key_1,...,key_n]
  • {URL}/apply?xmluri=xmldata&keys=key_1,...,key_n[¶m.name=value]*[¶m.key.name=value]*[&prop.name=[value]]*
- -######################################################################## -######################################################################## -#operative messages -######################################################################## -######################################################################## - -######################################################################## -# Message sent when hxsp was called without commands -######################################################################## -home_message =

hxsp v{VER} attivo


- -######################################################################## -# Message sent when hxsp was called with the help command -######################################################################## -help_message =

hxsp v{VER} attivo


- -######################################################################## -# Message sent when a stylesheet is added -######################################################################## -s_add = lo stylesheet con chiave: {KEY} e uri: {URI} è stato caricato con successo - -######################################################################## -# Message sent when a stylesheet is reloaded -######################################################################## -s_reload = lo stylesheet con chiave: {KEY} e uri: {URI} è stato ricaricato con successo - -######################################################################## -# Message sent when a stylesheet is removed -######################################################################## -s_remove = lo stylesheet con chiave: {KEY} e uri: {URI} è stato rimosso - -######################################################################## -# Message to print the stylesheet status for list command -######################################################################## -list = lo stylesheet con chiave: {KEY} e uri: {URI} è presente nel sistema - -######################################################################## -# Message sent when the list command was called -# and there is no stylesheet loaded -######################################################################## -empty = non è ancora stato caricato nessuno stylesheet - -######################################################################## -######################################################################## diff --git a/helm/hxsp/splitted/0.init.p.pl b/helm/hxsp/splitted/0.init.p.pl deleted file mode 100644 index 6c378c716..000000000 --- a/helm/hxsp/splitted/0.init.p.pl +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/perl - -################################################################################################# -################################################################################################# -################################################################################################# -# -# H.X.S.P. V 1.0 -# T S T R -# T L Y O -# P T E C -# S E -# H S -# E S -# E O -# T R -# -################################################################################################# -################################################################################################# -################################################################################################# - -use HTTP::Daemon; -use HTTP::Status; -use HTTP::Request; -use LWP::UserAgent; -use URI::Escape; -use CGI; -use FindBin; -use XML::LibXML; -use XML::LibXSLT; -use IO; diff --git a/helm/hxsp/splitted/1.globvars.p.pl b/helm/hxsp/splitted/1.globvars.p.pl deleted file mode 100644 index 9a9a88708..000000000 --- a/helm/hxsp/splitted/1.globvars.p.pl +++ /dev/null @@ -1,95 +0,0 @@ -################################################################################################# -################################################################################################# -################################################################################################# -# Global Variables -################################################################################################# -################################################################################################# -################################################################################################# - -# Version number -my $ver ="1.0"; - -# Working path of hxsp (loaded from config) -my $working_path; - -# Interface language (loaded from config) -my $language; - -# Port to use for hxsp (loaded from config) -my $port; - -# Use complete command description on syntax error if ON (loaded from config) -my $all_usage_synerr; - -# Include XIncludes on the fly if ON (loaded from config) -my $expand_xinc; - -# Max Depth of the DOM tree while parsing -my $max_depth; - -# Message sent when hxsp was called without commands (loaded from message.##) -my $home_message; - -# Message sent when hxsp was called with the help command (loaded from message.##) -my $help_message; - -# Message sent when a stylesheet is added (loaded from message.##) -my $s_add; - -# Message sent when a stylesheet is reloaded (loaded from message.##) -my $s_reload; - -# Message sent when a stylesheet is removed (loaded from message.##) -my $s_remove; - -# Message to print the stylesheet status for list command (loaded from message.##) -my $list; - -# Message sent when the list command was called -# and there is no stylesheet loaded (loaded from message.##) -my $empty; - -# Message sent after "home_message" when hxsp was called without commands -# and sent after "help_message" when hxsp was called with the help command -# and after all syntax errors if "all_usage_synerr" is set ON (loaded from message.##) -my $all_usage; - -# All the following syntax errors messages are used #only# if "all_usage_synerr" is set OFF - -# Message sent on help syntax errors (loaded from message.##) -my $help_usage; - -# Message sent on add syntax errors (loaded from message.##) -my $add_usage; - -# Message sent on remove syntax errors (loaded from message.##) -my $remove_usage; - -# Message sent on list syntax errors (loaded from message.##) -my $list_usage; - -# Message sent on reload syntax errors (loaded from message.##) -my $reload_usage; - -# Message sent on apply syntax errors (loaded from message.##) -my $apply_usage; - -# The error hash contains the error messages to call in case of syntax -# or operative errors, the keys are defined by the left value of each line in error## -my %error; - -# load ok template -my $ok_tpl; - -# load operror template -my $operror_tpl; - -# load synerror template -my $synerror_tpl; - -# This is the data structure to store the loaded stylesheets (hash of array) -# [0] :Styleseet URI , [1] : Loaded styleseet -my %stylesheet_hash; - -# This is a hash for fast duplicate uri detection -my %by_name; diff --git a/helm/hxsp/splitted/2.start.p.pl b/helm/hxsp/splitted/2.start.p.pl deleted file mode 100644 index a123ca798..000000000 --- a/helm/hxsp/splitted/2.start.p.pl +++ /dev/null @@ -1,49 +0,0 @@ -################################################################################################# -################################################################################################# -################################################################################################# -# Starting Operations -################################################################################################# -################################################################################################# -################################################################################################# - -# chdir to the directory of this perl script -chdir $FindBin::Bin; - -# load CONFIG -load_conf(); - -# initialize the objects to use LibXML and LibXSLT -my $parser = XML::LibXML->new(); -my $xslt = XML::LibXSLT->new(); - -# initialize the LibXML callbacks to load uri's -XML::LibXML->callbacks(\&match_uri,\&open_uri,\&read_uri,\&close_uri); - -# include XIncludes on the fly if required -if ($expand_xinc eq "ON") { $parser->expand_xinclude( 1 ); } - -# initialize the hxsp as HTTP::Daemon -my $d = new HTTP::Daemon LocalPort => $port; - -# get the complete working url of hxsp -my $puwobo_url = $d->url().$working_path; - -# set the working path to be comparable with url->path -$working_path = "/". $working_path; - -# load messages -load_messages(); - -# load error -load_err(); - -# load templates -load_templates(); - -# print starting information on console -print qq{ -hxsp v$ver active at: - Language is $language - On syntax error usage of every command is $all_usage_synerr - Include XIncludes on the fly is $expand_xinc; -}; diff --git a/helm/hxsp/splitted/3.daemon.p.pl b/helm/hxsp/splitted/3.daemon.p.pl deleted file mode 100644 index 3e3787336..000000000 --- a/helm/hxsp/splitted/3.daemon.p.pl +++ /dev/null @@ -1,131 +0,0 @@ -################################################################################################# -################################################################################################# -# HTTP::Daemon Operations -################################################################################################# -################################################################################################# - -# do not accumulate defunct processes -$SIG{CHLD} = "IGNORE"; -$SIG{USR1} = \&listen; # sent by the child to make the parent read the pipe - -pipe LIST_CHILD, TELL_PARENT; -pipe LIST_PARENT, TELL_CHILD; -TELL_PARENT->autoflush(1); -TELL_CHILD->autoflush(1); - - -sub listen { - my $res; - my $query = ; - if ($query =~ /^add /) { - $query =~ s/^add //; - chomp($query); - $res = add($query); - } - elsif ($query =~ /^reload /) { - $query =~ s/^reload //; - chomp($query); - $res = reload($query); - } - elsif ($query =~ /^remove /) { - $query =~ s/^remove //; - chomp($query); - $res = remove($query); - } - print TELL_CHILD "$res\n"; - print TELL_CHILD "____\n"; # end of response -} - -while (my $c = $d->accept) #connect -{ - if (fork() == 0) #start new concurrent process - { - while (my $r = $c->get_request) #get http request - { - if ($r->method eq 'GET' && - ($r->url->path eq $working_path or $r->url->path eq $working_path."/"))#start dir - { - my $response = new HTTP::Response; - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content(home($r->url->query)); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/help")#usage - { - my $response = new HTTP::Response; - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content(help($r->url->query)); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/add")#add - { - my $response = new HTTP::Response; - kill(USR1,getppid()); # ask the parent to read the pipe - my $qs = $r->url->query; - print TELL_PARENT "add $qs\n"; - my $in; - while (($in = ) ne "____\n") { - $res .= $in; - } - chomp($res); - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content($res); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/remove")#remove - { - my $response = new HTTP::Response; - kill(USR1,getppid()); # ask the parent to read the pipe - my $qs = $r->url->query; - print TELL_PARENT "remove $qs\n"; - my $in; - my $res=""; - while (($in = ) ne "____\n") { - $res .= $in; - } - chomp($res); - $response->content($res); - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/reload")#reload - { - my $response = new HTTP::Response; - kill(USR1,getppid()); # ask the parent to read the pipe - my $qs = $r->url->query; - print TELL_PARENT "reload $qs\n"; - my $in; - my $res=""; - while (($in = ) ne "____\n") { - $res .= $in; - } - chomp($res); - $response->content($res); - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/list")#list - { - my $response = new HTTP::Response; - $response->header('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - $response->content(list($r->url->query)); - $c->send_response($response); - } - elsif ($r->method eq 'GET' && $r->url->path eq $working_path."/apply")#apply - { - my %headers; - my $response = new HTTP::Response; - $response->content(apply($r->url->query,\%headers)); - $response->header(%headers); - $c->send_response($response); - } - else #wrong command or not working_path - { - $c->send_error(RC_FORBIDDEN) - } - } - $c->close; - undef($c); - exit; - } # fork -} diff --git a/helm/hxsp/splitted/4.hash.p.pl b/helm/hxsp/splitted/4.hash.p.pl deleted file mode 100644 index e3b1fc140..000000000 --- a/helm/hxsp/splitted/4.hash.p.pl +++ /dev/null @@ -1,150 +0,0 @@ -################################################################################################# -################################################################################################# -################################################################################################# -# Stylesheet hash check subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub addcheckvalues -# Usage: addcheckvalues($key,$uri); -# Returns: error message or 0 if no errors found -# Do: check if key and uri are already loaded -# Used by: addvalues -# Uses : err_replace -################################################################################################# -sub addcheckvalues -{ - my $ac_key = shift(@_); - my $ac_uri = shift(@_); - if (exists $stylesheet_hash{$ac_key}) - { - return err_replace($error{"add_dup_key"},$ac_key,$ac_uri,""); - } - elsif (exists $by_name{$ac_uri}) - { - return err_replace($error{"add_dup_value"},$ac_key,$ac_uri,$by_name{$ac_key}); - } - else { return 0; } -} -################################################################################################# - -################################################################################################# -# sub recheckvalues -# Usage: recheckvalues($key); -# Returns: error message or 0 if no errors found -# Do: check if key are loaded -# Used by: remove, reloadvalues -# Uses : err_replace -################################################################################################# -sub recheckvalues -{ - my $re_key = shift(@_); - if (not exists $stylesheet_hash{$re_key}) - { - return err_replace($error{"re_inv_key"},$re_key,"",""); - } - else { return 0; } -} -################################################################################################# - -################################################################################################# -# sub applycheckvalues -# Usage: applycheckvalues(\@keys); -# Returns: error message or 0 if no errors found -# Do: check if keys in @keys are loaded -# Used by: remove, reloadvalues -# Uses : err_replace -################################################################################################# -sub applycheckvalues -{ - my $applykeys_ptr = shift(@_); - foreach $applykey (@$applykeys_ptr) - { - if (not exists $stylesheet_hash{$applykey}) - { - return err_replace($error{"apply_inv_key"},$applykey,"",""); - } - } - return 0; -} -################################################################################################# - -################################################################################################# -################################################################################################# -################################################################################################# -# Stylesheet hash modify subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub addvalues -# Usage: if add_halt_on_errors is ON addvalues($key,$uri,@added); -# else addvalues($key,$uri) -# Returns: error message or 0 on success, -# if add_halt_on_errors is ON return all the added keys on @added -# Do: add the values to the stylesheet hash -# Used by: add -# Uses : addcheckvalues, loadstyle -################################################################################################# -sub addvalues -{ - my $av_key = shift(@_); - my $av_uri = shift(@_); - my $av_stylesheet; #parsed stylesheet to be placed in hash - if (my $err = addcheckvalues($av_key,$av_uri)) { return $err; } - elsif (my $err = loadstyle($av_key, $av_uri, $av_stylesheet)) { return $err; } - else - { - $stylesheet_hash{$av_key}[0]=$av_uri; - $stylesheet_hash{$av_key}[1]=$av_stylesheet; - $by_name{$av_uri}=$av_key; - return 0; - } -} -################################################################################################# - -################################################################################################# -# sub removevalues -# Usage: removevalues($key); -# Returns: message -# Do: remove the key specified and relative values from the stylesheet hash -# Used by: remove, do_remove -# Uses : ok_replace -################################################################################################# -sub removevalues -{ - my $cr_key = shift(@_); - my $cr_uri = $stylesheet_hash{$cr_key}[0]; - delete $stylesheet_hash{$cr_key}; - delete $by_name{$cr_uri}; - return ok_replace("$s_remove\n",$cr_key,$cr_uri); -} -################################################################################################# - -################################################################################################# -# sub reloadvalues -# Usage: if add_halt_on_errors is ON reloadvalues($key.\%reloaded); -# else reloadvalues($key); -# Returns: error message or 0 on success, -# if add_halt_on_errors is ON return the old stylesheets in %reloaded -# Do: reload the stlylesheet with the key specified -# Used by: do_reload -# Uses : recheckvalues, loadstyle -################################################################################################# -sub reloadvalues -{ - my $rv_key = shift(@_); - my $rv_uri = $stylesheet_hash{$rv_key}[0]; - my $rv_stylesheet; #parsed stylesheet to be placed in hash - if (my $err = recheckvalues($rv_key)) { return $err; } - elsif (my $err = loadstyle($rv_key, $rv_uri, $rv_stylesheet)) { return $err; } - else - { - $stylesheet_hash{$rv_key}[1] = $rv_stylesheet; - return 0; - } -} -################################################################################################# diff --git a/helm/hxsp/splitted/5.libxslt.p.pl b/helm/hxsp/splitted/5.libxslt.p.pl deleted file mode 100644 index 4d90dc1fb..000000000 --- a/helm/hxsp/splitted/5.libxslt.p.pl +++ /dev/null @@ -1,174 +0,0 @@ -################################################################################################# -################################################################################################# -################################################################################################# -# LibXML LIBXSLT access subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub loadstyle -# Usage: loadstyle($key,$uri,$stylesheet); -# Returns: error message or 0 on success, -# parsed stylesheet in $stylesheet -# Do: parse the stylesheet at the given uri -# Used by: addvalues , reloadvalues -# Uses : err_replace, parser_error_replace -################################################################################################# -sub loadstyle -{ - my $ls_key= shift(@_); - my $ls_uri= shift(@_); - my $uncatched = ""; - my $line = ""; - my $style_doc; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $style_doc = $parser->parse_file($ls_uri); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - - if ($@ or $uncatched ne "") - { - return err_replace($error{"add_xml_error"},$ls_key,$ls_uri,parser_error_replace($@.$uncatched)); - } - else - { - pipe P, STDERR; - STDERR->autoflush(1); - $uncatched = ""; - $line = ""; - eval { $_[0] = $xslt->parse_stylesheet($style_doc); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - return err_replace($error{"add_xslt_error"},$ls_key,$ls_uri,parser_error_replace($@.$uncatched)); - } - else {return 0} - } -} - -sub load_xml_doc -{ - my $xmluri = shift(@_); - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $_[0] = $parser->parse_file($xmluri); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - return err_replace($error{"apply_xml_error"},"",$xmluri,parser_error_replace($@.$uncatched)); - } - else {return 0} -} - -sub apply_style -{ - my $k = shift(@_); - my $params_ptr = shift(@_); - my %params = XML::LibXSLT::xpath_to_string(%$params_ptr); - my $pippo; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - XML::LibXSLT->max_depth($max_depth); - eval { $_[0] = $stylesheet_hash{$k}[1]->transform($_[0],%params); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return err_replace($error{"apply_xslt_error"},$k,$stylesheet_hash{$k}[0],$e_r); - } - else {return 0} -} -sub get_results -{ - my $k = shift(@_); - my $results = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = $stylesheet_hash{$k}[1]->output_string($results); }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} -sub get_results_prop -{ - my $result = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = $result->toString; }; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} - -sub get_results_html -{ - my $result = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = $result->toStringHTML();}; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} - -sub decode -{ - my $result = shift(@_); - my $enc = shift(@_); - my $retval; - my $uncatched = ""; - my $line = ""; - pipe P, STDERR; - STDERR->autoflush(1); - eval { $retval = decodeFromUTF8($enc, $result);}; - print STDERR "____\n"; - while(($line =

) ne "____\n") { $uncatched .= $line; } - close P; - if ($@ or $uncatched ne "") - { - my $e_r = parser_error_replace($@.$uncatched); - return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r)); - } - else { return $retval; } -} -################################################################################################# diff --git a/helm/hxsp/splitted/6.commands.p.pl b/helm/hxsp/splitted/6.commands.p.pl deleted file mode 100644 index 142acc590..000000000 --- a/helm/hxsp/splitted/6.commands.p.pl +++ /dev/null @@ -1,215 +0,0 @@ -################################################################################################# -################################################################################################# -################################################################################################# -# Commands subrutines -################################################################################################# -################################################################################################# -################################################################################################# - -################################################################################################# -# sub add -# Usage: add($http_query); -# Returns: values for HTTP::Response -# Do: add stylesheet(s) to hash -# Used by: daemon -# Uses : addparsequery, addvalues, ok_replace, -# ok_print, synerror_print, operror_print -################################################################################################# -sub add -{ - my $http_query = shift(@_); # querystring - my $cont =""; # return value - my @binds; #values of binds passed via querystring - my $err; # error string - if ($err = addparsequery($http_query,\@binds)) { return synerror_print($err,$add_usage); } - else - { - foreach my $bind (@binds) - { - my ($a_key , $e_uri) = split(/,/,$bind,2); - my $une_uri = uri_unescape($e_uri); - if ($err = addvalues($a_key,$une_uri)) { $cont .= "$err\n"; } - else { $cont .= ok_replace("$s_add\n",$a_key,$une_uri); } - }#foreach - return ok_print($cont); - } -} -################################################################################################# - -################################################################################################# -# sub remove -# Usage: remove($http_query); -# Returns: values for HTTP::Response -# Do: remove stylesheet(s) from hash -# Used by: daemon -# Uses : reparsequery, getkeys, recheckvalues, removevalues, -# ok_print, synerror_print, operror_print -################################################################################################# -sub remove -{ - my $http_query = shift(@_); # querystring - my $rem_keys; - my $cont=""; - my $err; - if ($http_query eq "") - { - my $i=0; - foreach my $rem_key (keys %stylesheet_hash) - { - $cont .= removevalues($rem_key); - $i++; - } - if ($i==0) { return operror_print($error{"re_no_sl"}); } - } - elsif ($err = reparsequery($http_query,$rem_keys)){return synerror_print($err,$remove_usage);} - else - { - foreach my $rem_key (split (/,/,$rem_keys)) - { - if (my $err = recheckvalues($rem_key)) { $cont .= "$err\n"; } - else { $cont .= removevalues($rem_key); } - } - } - return ok_print($cont); -} -################################################################################################# - -################################################################################################# -# sub reload -# Usage: remove($http_query); -# Returns: values for HTTP::Response -# Do: remove stylesheet(s) from hash -# Used by: daemon -# Uses : reparsequery, getkeys, recheckvalues, removevalues, -# ok_print, synerror_print, operror_print -################################################################################################# -sub reload #reload stylesheet(s) from hash -{ - my $http_query = shift(@_); - my $rel_keys; - my @rel_k; - my $dr_cont = ""; - if ($http_query eq "") - { - my $i=0; - foreach my $key (keys %stylesheet_hash) - { - if (my $err = reloadvalues($key)) { return $dr_cont .= $err; } - else {$dr_cont .= ok_replace("$s_reload\n",$key,$stylesheet_hash{$key}[0]);} - $i++; - } - if ($i==0) { return operror_print($error{"re_no_sl"}); } - } - elsif ($err = reparsequery($http_query,$rel_keys)){return synerror_print($err,$reload_usage);} - else - { - foreach my $key (split (/,/,$rel_keys)) - { - if (my $err = reloadvalues($key)) { return $dr_cont .= $err; } - else {$dr_cont .= ok_replace("$s_reload\n",$key,$stylesheet_hash{$key}[0]);} - } - } - return ok_print($dr_cont); -} -################################################################################################# - -sub apply #apply stylesheets -{ - my $http_query = shift(@_); - my $headers_ptr = shift(@_); - my $xmluri; - my @applykeys; - my %app_param; - my %app_prop; - my $results; - my $lastkey; - my $enc; - - if (my $err=applyparsequery($http_query,\@applykeys,\%app_param,\%app_prop,$xmluri)) - { - return synerror_print($err,$apply_usage); - } - elsif (my $err=applycheckvalues(\@applykeys)) { return operror_print($err); } - elsif (my $err=load_xml_doc($xmluri,$results)) { return operror_print($err); } - #apply - foreach my $applykey (@applykeys) - { - $lastkey=$applykey; - if (my $err=apply_style($applykey,\%{$app_param{$applykey}},$results)) - { - return operror_print($err); - } - }#foreach - my $i=0; - while (my ($n, $v) = each %app_prop) - { - if (($n eq "method") or ($n eq "METHOD")) - { - if ($v eq 'html') { $headers_ptr->{'Content-Type'}='text/html'; } - elsif ($v eq 'text') { $headers_ptr->{'Content-Type'}='text/plain'; } - else { $headers_ptr->{'Content-Type'}='text/xml'; } - } - if (($n eq "encoding") or ($n eq "ENCODING")) - { - $headers_ptr->{'Content-Encoding'}=$v; - if ($v ne "UTF-8") { $enc = $v; } - } - if (($n eq "media-type") or ($n eq "MEDIA_TYPE") or ($n eq "MEDIA-TYPE")) - { - $headers_ptr->{'Content-Type'}=$v; - } - $i++; - } - if ($i == 0) - { - %$headers_ptr= ('Cache-Control' => 'no-cache','Pragma' => "no-cache",'Expires' => '0'); - return get_results($lastkey,$results); - } - else - { - my $result; - $headers_ptr->{'Cache-Control'} = 'no-cache'; - $headers_ptr->{'Pragma'} = "no-cache"; - $headers_ptr->{'Expires'} = '0'; - if ($headers_ptr->{'Content-Type'} eq 'text/html') - { - $result = get_results_html($results); - } - else - { - $result = get_results_prop($results); - if ($enc) - { - $result = decode($result,$enc); - } - } - return $result; - } -} - -sub list #list all the stylesheet loaded -{ - my $cont=""; - my $ind = 0; - foreach $key (keys %stylesheet_hash) - { - $cont .= ok_replace("$list\n",$key,$stylesheet_hash{$key}[0]); - $ind++; - } - if ($ind > 0) { return ok_print($cont); } - else { return ok_print($empty); } -} - -sub home #return Dispay active -{ - if ($_[0] ne "") { return synerror_print($error{"home_qs"},$all_usage); } - else { - return ok_print($home_message.$all_usage); - } -} - -sub help #return html help -{ - if ($_[0] ne "") { return synerror_print($error{"help_qs"},$help_usage); } - return ok_print($help_message.$all_usage); -} diff --git a/helm/hxsp/splitted/7.qsparse.p.pl b/helm/hxsp/splitted/7.qsparse.p.pl deleted file mode 100644 index aa7be53b5..000000000 --- a/helm/hxsp/splitted/7.qsparse.p.pl +++ /dev/null @@ -1,172 +0,0 @@ -################################################################################################# -################################################################################################# -# Subrutines to get parameters for commands from Query String (query string parsing) -################################################################################################# -################################################################################################# - -sub add_comma_analysis -{ - my $bind = shift(@_); - my ($l , $r) = split(/,/,$bind,2); - if (index($bind ,",") == -1) { return $error{"add_no_sep"}; } - elsif (index($r ,",") != -1) { return $error{"add_many_sep"}; } - elsif (($l eq "") or ($r eq "")) { return $error{"add_null_bind"}; } - else { return 0; } -} -## -#usage: -#addparsequery($querystring,\@binds) -#returns $errcode; -sub addparsequery -{ - my $query = shift(@_); - my $value_ptr = shift(@_); - if ($query eq "") { return $error{"add_no_bind"}; } - else - { - foreach my $params (split(/&/,$query)) - { - my ($k , $v) = split(/=/,$params,2); - $v=uri_unescape($v); - if ($k ne "bind") { return $error{"add_oth"}; } - elsif ($v eq "") { return $error{"add_null_bind"}; } - elsif (my $err=add_comma_analysis($v)) { return $err; } - else { push @$value_ptr,$v;} - }#foreach - return 0; - } -} - -sub reparsequery -{ - my $query = shift(@_); - my $k; - my $v; - my $err; - if (index($query, "&") == -1) - { - ($k , $v) = split(/=/,$query,2); - $v=uri_unescape($v); - if ($k ne "keys") { return $error{"re_oth"}; } - elsif ($v eq "") { return $error{"re_null_keys"}; } - elsif ((index($v,",")==0) or (index($v,",,")!=-1) or (substr($v,-1) eq ",")) - { - return $error{"re_null_keys"}; - } - else { $_[0] = $v; return 0; } - } - else { return $error{"re_many"}; } -} - -sub get_req -{ - my $arr_ptr = shift(@_); - my $xmluri_found = 0; - my $keys_found = 0; - foreach my $el (@$arr_ptr) - { - my ($k , $v) = split(/=/,$el,2); - $v=uri_unescape($v); - if ($k eq "param") { return $error{"apply_no_dots_param"}; } - elsif ($k eq "prop") { return $error{"apply_no_dots_prop"}; } - elsif ($k eq "xmluri") - { - if ($xmluri_found) { return $error{"apply_many_uri"}; } - else - { - if ($v eq "") { return $error{"apply_null_uri"}; } - else { $_[0] = $v; $xmluri_found = 1; } - } - } - elsif ($k eq "keys") - { - if ($keys_found) { return $error{"apply_many_keys"}; } - else - { - if ($v eq "") { return $error{"apply_null_keys"}; } - elsif ((index($v,",")==0) or (index($v,",,")!=-1) or (substr($v,-1) eq ",")) - { - return $error{"apply_null_keys"}; - } - else { $_[1] = $v; $keys_found = 1; } - } - } - else { return $error{"apply_oth"}; } - }#foreach my $el (@$arr_ptr) - if ((!$xmluri_found or !$keys_found)) { return $error{"apply_few_pars"}; } - else { return 0; } -} - -sub applyparsequery -{ - my $query = shift(@_); - my $apply_keys_ptr = shift(@_); - my $keyparshoh = shift(@_); - my $proph_ptr = shift(@_); - my $applykeys; - my %prop_h; - my %genparam_h; - my %keyparam_h; - my @nodots; - - if ($query eq "") { return $error{"apply_few_pars"}; } - if (index($query, "&") == -1) { return $error{"apply_few_pars"}; } - foreach my $param (split(/&/,$query)) - { - my ($k , $v) = split(/=/,$param,2); - $v=uri_unescape($v); - if (index($k, ".") == -1) { push @nodots,$param; } - else - { - my ($l , $r) = split(/\./,$k,2); - if ($l eq "prop") - { - if (($r eq "") or ($v eq "")) { return $error{"apply_null_prop"}; } - elsif (index($r, ".") > -1) { return $error{"apply_dots_prop"}; } - else { $prop_h{$r} = $v; } - } - elsif ($l eq "param") - { - if (($r eq "") or ($v eq "")) { return $error{"apply_null_param"}; } - elsif (index($r, ".") == -1) { $genparam_h{$r} = $v; } - else - { - my ($kk , $va) = split(/\./,$r,2); - if (index($va, ".") > -1) { return $error{"apply_dots_param"}; } - elsif (($kk eq "") or ($va eq "")) { return $error{"apply_null_param"}; } - else { $keyparam_h{$kk}{$va}=$v; } - } - } - else { return $error{"apply_oth"}; } - } - } - - if (my $err = get_req(\@nodots,$_[0],$applykeys)) { return $err; } - while (my ($gn, $gv) = each %prop_h) - { - $proph_ptr->{$gn} = $gv; - } - foreach my $pkey ( keys %keyparam_h ) - { - my $k_found=0; - foreach my $verkey (split (/,/,$applykeys)) - { - if ($pkey eq $verkey) { $k_found = 1; } - } - if (! $k_found) { return $error{"apply_inv_param"}; } - } - - foreach my $applykey (split (/,/,$applykeys)) - { - while (my ($gn, $gv) = each %genparam_h) - { - $keyparshoh->{$applykey}{$gn} = $gv; - } - while (my ($kn, $kv) = each %{ $keyparam_h{$applykey} } ) - { - $keyparshoh->{$applykey}{$kn} = $kv; - } - push @$apply_keys_ptr, $applykey; - }#foreach - return 0; -} diff --git a/helm/hxsp/splitted/8.strrep.p.pl b/helm/hxsp/splitted/8.strrep.p.pl deleted file mode 100644 index 90557fefd..000000000 --- a/helm/hxsp/splitted/8.strrep.p.pl +++ /dev/null @@ -1,76 +0,0 @@ -################################################################################################# -################################################################################################# -################################################################################################# -# Subrutines to replace values between {} on loaded templates -################################################################################################# -################################################################################################# -################################################################################################# - -sub ok_print -{ - my $message = shift(@_); - $message =~ s/(\n)/
\1/g; - my $retval = $ok_tpl; - $retval =~ s/\{MESSAGE\}/$message/g; - return $retval; -} - -sub operror_print -{ - my $message = shift(@_); - $message =~ s/(\n)/
\1/g; - my $retval = $operror_tpl; - $retval =~ s/\{ERROR\}/$message/g; - return $retval; -} - -sub synerror_print -{ - my $message = shift(@_); - my $us = shift(@_); - $message =~ s/(\n)/
\1/g; - my $retval = $synerror_tpl; - $retval =~ s/\{ERROR\}/$message/g; - $retval =~ s/\{USAGE\}/$us/g; - return $retval; -} - -################################################################################################# -################################################################################################# -################################################################################################# -# Subrutines to replace values between {} on loaded messages -################################################################################################# -################################################################################################# -################################################################################################# - -sub ok_replace -{ - my $message = shift(@_); - my $key = shift(@_); - my $s_uri = shift(@_); - $message =~ s/\{KEY\}/$key/g; - $message =~ s/\{URI\}/$s_uri/g; - return $message; -} - -sub err_replace -{ - my $message = shift(@_); - my $key = shift(@_); - my $s_uri = shift(@_); - my $errr = shift(@_); - $message =~ s/\{KEY\}/$key/g; - $message =~ s/\{URI\}/$s_uri/g; - $message =~ s/\{ERROR\}/$errr/g; - $message =~ s/\{OLDKEY\}/$errr/g; - return $message; -} - -sub parser_error_replace -{ - my $no_at = shift(@_); - $no_at =~ s/(.*)\sat\s(.*)/\1/g; - $no_at =~ s//>/g; - return $no_at; -} diff --git a/helm/hxsp/splitted/9.load.p.pl b/helm/hxsp/splitted/9.load.p.pl deleted file mode 100644 index 2746b273a..000000000 --- a/helm/hxsp/splitted/9.load.p.pl +++ /dev/null @@ -1,149 +0,0 @@ -################################################################################################# -################################################################################################# -################################################################################################# -# Subrutines to load config files and templates -################################################################################################# -################################################################################################# -################################################################################################# - -sub load_messages -{ - if ($language eq "IT") - { - open(MESSAGE, "./msg/message.it") || die "Can't open config file '/msg/message.it' : $!"; - } - else - { - open(MESSAGE, "./msg/message.en") || die "Can't open config file '/msg/message.en' : $!"; - } - while(my $line = ) { - # ignore comments and full line comments - $line =~ s/#.*$//; - next unless $line =~ /\S/; - $line =~ s/\{URL\}/$puwobo_url/g; - $line =~ s/\{VER\}/$ver/g; - if ($line =~ /^(home_message)\s*=\s*(.*)$/) {$home_message = $2; } - if ($line =~ /^(help_message)\s*=\s*(.*)$/) {$help_message = $2; } - if ($line =~ /^(s_add)\s*=\s*(.*)$/) {$s_add = $2; } - if ($line =~ /^(s_reload)\s*=\s*(.*)$/) {$s_reload = $2; } - if ($line =~ /^(s_remove)\s*=\s*(.*)$/) {$s_remove = $2; } - if ($line =~ /^(list)\s*=\s*(.*)$/) {$list = $2; } - if ($line =~ /^(empty)\s*=\s*(.*)$/) {$empty = $2; } - if ($line =~ /^(all_usage)\s*=\s*(.*)$/) {$all_usage = $2; } - if ($all_usage_synerr eq "ON") - { - $help_usage=$add_usage=$remove_usage=$list_usage=$reload_usage=$apply_usage=$all_usage; - } - else - { - if ($line =~ /^(help_usage)\s*=\s*(.*)$/) {$help_usage = $2; } - if ($line =~ /^(add_usage)\s*=\s*(.*)$/) {$add_usage = $2; } - if ($line =~ /^(remove_usage)\s*=\s*(.*)$/) {$remove_usage = $2; } - if ($line =~ /^(list_usage)\s*=\s*(.*)$/) {$list_usage = $2; } - if ($line =~ /^(reload_usage)\s*=\s*(.*)$/) {$reload_usage = $2; } - if ($line =~ /^(apply_usage)\s*=\s*(.*)$/) {$apply_usage = $2; } - } - } - close MESSAGE; -} - -sub load_conf -{ - open(CONFIG, "./config") || die "Can't open config file 'config' : $!"; - while(my $line = ) { - # ignore comments and full line comments - $line =~ s/#.*$//; - next unless $line =~ /\S/; - if ($line =~ /^(working_path)\s*=\s*(.*)$/) {$working_path = $2; } - if ($line =~ /^(language)\s*=\s*(.*)$/) {$language = $2; } - if ($line =~ /^(port)\s*=\s*(.*)$/) {$port = $2; } - if ($line =~ /^(all_usage_synerr)\s*=\s*(.*)$/) {$all_usage_synerr = $2; } - if ($line =~ /^(expand_xinc)\s*=\s*(.*)$/) {$expand_xinc = $2; } - if ($line =~ /^(max_depth)\s*=\s*(.*)$/) {$max_depth = $2; } - } - close CONFIG; -} - -sub load_err -{ - if ($language eq "IT") - { - open(ERRO, "./msg/error.it") || die "Can't open config file '/msg/error.it' : $!"; - } - else - { - open(ERRO, "./msg/error.en") || die "Can't open config file '/msg/error.en' : $!"; - } - while(my $line = ) - { - # ignore comments and full line comments - $line =~ s/#.*$//; - next unless $line =~ /\S/; - if ($line =~ /^(.*?)\s*=\s*(.*)$/) {$error{$1} = $2; } - } - close ERRO; -} - -sub load_templates -{ - # load ok template - open(OK_TPL, "./tpl/ok.tpl") - || die "Can't open template file '/tpl/ok.tpl' : $!"; - while(my $line = ) {$ok_tpl .= $line; } - close OK_TPL; - - # load operror template - open(OPERROR_TPL, "./tpl/operror.tpl") - || die "Can't open template file '/tpl/operror.tpl' : $!"; - while(my $line = ) {$operror_tpl .= $line; } - close OPERROR_TPL; - - # load synerror template - open(SYNERROR_TPL, "./tpl/synerror.tpl") - || die "Can't open template file '/tpl/synerror.tpl' : $!"; - while(my $line = ) {$synerror_tpl .= $line; } - close SYNERROR_TPL; -} - -################################################################################################# -################################################################################################# -################################################################################################# -# the LibXML callbacks follow -# these callbacks are used for both the original parse AND the XInclude (if set) -################################################################################################# -################################################################################################# -################################################################################################# - -sub match_uri { - my $uri = shift; - return $uri !~ /:\/\// ? 1 : 0; # we handle only files -} - -sub open_uri { - my $uri = shift; - - my $handler = new IO::File; - if ( not $handler->open( "<$uri" ) ){ - $file = 0; - } - - return $file; -} - -sub read_uri { - my $handler = shift; - my $length = shift; - my $buffer = undef; - if ( $handler ) { - $handler->read( $rv , $length ); - } - return $buffer; -} - -sub close_uri { - my $handler = shift; - if ( $handler ) { - $handler->close(); - } - return 1; -} \ No newline at end of file diff --git a/helm/hxsp/tpl/ok.tpl b/helm/hxsp/tpl/ok.tpl deleted file mode 100644 index 633267e4e..000000000 --- a/helm/hxsp/tpl/ok.tpl +++ /dev/null @@ -1,5 +0,0 @@ - - -{MESSAGE} - - diff --git a/helm/hxsp/tpl/operror.tpl b/helm/hxsp/tpl/operror.tpl deleted file mode 100644 index 4dbe1f56b..000000000 --- a/helm/hxsp/tpl/operror.tpl +++ /dev/null @@ -1,5 +0,0 @@ - - -{ERROR} - - diff --git a/helm/hxsp/tpl/synerror.tpl b/helm/hxsp/tpl/synerror.tpl deleted file mode 100644 index 990df9cb5..000000000 --- a/helm/hxsp/tpl/synerror.tpl +++ /dev/null @@ -1,6 +0,0 @@ - - -{ERROR}
-{USAGE} - - diff --git a/helm/mathql/doc/.cvsignore b/helm/mathql/doc/.cvsignore deleted file mode 100644 index c24dc0f5b..000000000 --- a/helm/mathql/doc/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.dvi *.aux *.log *.ps *.gz *.toc diff --git a/helm/mathql/doc/llncs.cls b/helm/mathql/doc/llncs.cls deleted file mode 100644 index 29e505e60..000000000 --- a/helm/mathql/doc/llncs.cls +++ /dev/null @@ -1,1189 +0,0 @@ -% LLNCS DOCUMENT CLASS -- version 2.13 (28-Jan-2002) -% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science -% -%% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{llncs}[2002/01/28 v2.13 -^^J LaTeX document class for Lecture Notes in Computer Science] -% Options -\let\if@envcntreset\iffalse -\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} -\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} -\DeclareOption{oribibl}{\let\oribibl=Y} -\let\if@custvec\iftrue -\DeclareOption{orivec}{\let\if@custvec\iffalse} -\let\if@envcntsame\iffalse -\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} -\let\if@envcntsect\iffalse -\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} -\let\if@runhead\iffalse -\DeclareOption{runningheads}{\let\if@runhead\iftrue} - -\let\if@openbib\iffalse -\DeclareOption{openbib}{\let\if@openbib\iftrue} - -% languages -\let\switcht@@therlang\relax -\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}} -\def\ds@francais{\def\switcht@@therlang{\switcht@francais}} - -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} - -\ProcessOptions - -\LoadClass[twoside]{article} -\RequirePackage{multicol} % needed for the list of participants, index - -\setlength{\textwidth}{12.2cm} -\setlength{\textheight}{19.3cm} -\renewcommand\@pnumwidth{2em} -\renewcommand\@tocrmarg{3.5em} -% -\def\@dottedtocline#1#2#3#4#5{% - \ifnum #1>\c@tocdepth \else - \vskip \z@ \@plus.2\p@ - {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm - \parfillskip -\rightskip \pretolerance=10000 - \parindent #2\relax\@afterindenttrue - \interlinepenalty\@M - \leavevmode - \@tempdima #3\relax - \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip - {#4}\nobreak - \leaders\hbox{$\m@th - \mkern \@dotsep mu\hbox{.}\mkern \@dotsep - mu$}\hfill - \nobreak - \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% - \par}% - \fi} -% -\def\switcht@albion{% -\def\abstractname{Abstract.} -\def\ackname{Acknowledgement.} -\def\andname{and} -\def\lastandname{\unskip, and} -\def\appendixname{Appendix} -\def\chaptername{Chapter} -\def\claimname{Claim} -\def\conjecturename{Conjecture} -\def\contentsname{Table of Contents} -\def\corollaryname{Corollary} -\def\definitionname{Definition} -\def\examplename{Example} -\def\exercisename{Exercise} -\def\figurename{Fig.} -\def\keywordname{{\bf Key words:}} -\def\indexname{Index} -\def\lemmaname{Lemma} -\def\contriblistname{List of Contributors} -\def\listfigurename{List of Figures} -\def\listtablename{List of Tables} -\def\mailname{{\it Correspondence to\/}:} -\def\noteaddname{Note added in proof} -\def\notename{Note} -\def\partname{Part} -\def\problemname{Problem} -\def\proofname{Proof} -\def\propertyname{Property} -\def\propositionname{Proposition} -\def\questionname{Question} -\def\remarkname{Remark} -\def\seename{see} -\def\solutionname{Solution} -\def\subclassname{{\it Subject Classifications\/}:} -\def\tablename{Table} -\def\theoremname{Theorem}} -\switcht@albion -% Names of theorem like environments are already defined -% but must be translated if another language is chosen -% -% French section -\def\switcht@francais{%\typeout{On parle francais.}% - \def\abstractname{R\'esum\'e.}% - \def\ackname{Remerciements.}% - \def\andname{et}% - \def\lastandname{ et}% - \def\appendixname{Appendice} - \def\chaptername{Chapitre}% - \def\claimname{Pr\'etention}% - \def\conjecturename{Hypoth\`ese}% - \def\contentsname{Table des mati\`eres}% - \def\corollaryname{Corollaire}% - \def\definitionname{D\'efinition}% - \def\examplename{Exemple}% - \def\exercisename{Exercice}% - \def\figurename{Fig.}% - \def\keywordname{{\bf Mots-cl\'e:}} - \def\indexname{Index} - \def\lemmaname{Lemme}% - \def\contriblistname{Liste des contributeurs} - \def\listfigurename{Liste des figures}% - \def\listtablename{Liste des tables}% - \def\mailname{{\it Correspondence to\/}:} - \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% - \def\notename{Remarque}% - \def\partname{Partie}% - \def\problemname{Probl\`eme}% - \def\proofname{Preuve}% - \def\propertyname{Caract\'eristique}% -%\def\propositionname{Proposition}% - \def\questionname{Question}% - \def\remarkname{Remarque}% - \def\seename{voir} - \def\solutionname{Solution}% - \def\subclassname{{\it Subject Classifications\/}:} - \def\tablename{Tableau}% - \def\theoremname{Th\'eor\`eme}% -} -% -% German section -\def\switcht@deutsch{%\typeout{Man spricht deutsch.}% - \def\abstractname{Zusammenfassung.}% - \def\ackname{Danksagung.}% - \def\andname{und}% - \def\lastandname{ und}% - \def\appendixname{Anhang}% - \def\chaptername{Kapitel}% - \def\claimname{Behauptung}% - \def\conjecturename{Hypothese}% - \def\contentsname{Inhaltsverzeichnis}% - \def\corollaryname{Korollar}% -%\def\definitionname{Definition}% - \def\examplename{Beispiel}% - \def\exercisename{\"Ubung}% - \def\figurename{Abb.}% - \def\keywordname{{\bf Schl\"usselw\"orter:}} - \def\indexname{Index} -%\def\lemmaname{Lemma}% - \def\contriblistname{Mitarbeiter} - \def\listfigurename{Abbildungsverzeichnis}% - \def\listtablename{Tabellenverzeichnis}% - \def\mailname{{\it Correspondence to\/}:} - \def\noteaddname{Nachtrag}% - \def\notename{Anmerkung}% - \def\partname{Teil}% -%\def\problemname{Problem}% - \def\proofname{Beweis}% - \def\propertyname{Eigenschaft}% -%\def\propositionname{Proposition}% - \def\questionname{Frage}% - \def\remarkname{Anmerkung}% - \def\seename{siehe} - \def\solutionname{L\"osung}% - \def\subclassname{{\it Subject Classifications\/}:} - \def\tablename{Tabelle}% -%\def\theoremname{Theorem}% -} - -% Ragged bottom for the actual page -\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil -\global\let\@textbottom\relax}} - -\renewcommand\small{% - \@setfontsize\small\@ixpt{11}% - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ - \abovedisplayshortskip \z@ \@plus2\p@ - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ - \def\@listi{\leftmargin\leftmargini - \parsep 0\p@ \@plus1\p@ \@minus\p@ - \topsep 8\p@ \@plus2\p@ \@minus4\p@ - \itemsep0\p@}% - \belowdisplayskip \abovedisplayskip -} - -\frenchspacing -\widowpenalty=10000 -\clubpenalty=10000 - -\setlength\oddsidemargin {63\p@} -\setlength\evensidemargin {63\p@} -\setlength\marginparwidth {90\p@} - -\setlength\headsep {16\p@} - -\setlength\footnotesep{7.7\p@} -\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@} -\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@} - -\setcounter{secnumdepth}{2} - -\newcounter {chapter} -\renewcommand\thechapter {\@arabic\c@chapter} - -\newif\if@mainmatter \@mainmattertrue -\newcommand\frontmatter{\cleardoublepage - \@mainmatterfalse\pagenumbering{Roman}} -\newcommand\mainmatter{\cleardoublepage - \@mainmattertrue\pagenumbering{arabic}} -\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi - \@mainmatterfalse} - -\renewcommand\part{\cleardoublepage - \thispagestyle{empty}% - \if@twocolumn - \onecolumn - \@tempswatrue - \else - \@tempswafalse - \fi - \null\vfil - \secdef\@part\@spart} - -\def\@part[#1]#2{% - \ifnum \c@secnumdepth >-2\relax - \refstepcounter{part}% - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% - \else - \addcontentsline{toc}{part}{#1}% - \fi - \markboth{}{}% - {\centering - \interlinepenalty \@M - \normalfont - \ifnum \c@secnumdepth >-2\relax - \huge\bfseries \partname~\thepart - \par - \vskip 20\p@ - \fi - \Huge \bfseries #2\par}% - \@endpart} -\def\@spart#1{% - {\centering - \interlinepenalty \@M - \normalfont - \Huge \bfseries #1\par}% - \@endpart} -\def\@endpart{\vfil\newpage - \if@twoside - \null - \thispagestyle{empty}% - \newpage - \fi - \if@tempswa - \twocolumn - \fi} - -\newcommand\chapter{\clearpage - \thispagestyle{empty}% - \global\@topnum\z@ - \@afterindentfalse - \secdef\@chapter\@schapter} -\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \refstepcounter{chapter}% - \typeout{\@chapapp\space\thechapter.}% - \addcontentsline{toc}{chapter}% - {\protect\numberline{\thechapter}#1}% - \else - \addcontentsline{toc}{chapter}{#1}% - \fi - \else - \addcontentsline{toc}{chapter}{#1}% - \fi - \chaptermark{#1}% - \addtocontents{lof}{\protect\addvspace{10\p@}}% - \addtocontents{lot}{\protect\addvspace{10\p@}}% - \if@twocolumn - \@topnewpage[\@makechapterhead{#2}]% - \else - \@makechapterhead{#2}% - \@afterheading - \fi} -\def\@makechapterhead#1{% -% \vspace*{50\p@}% - {\centering - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \large\bfseries \@chapapp{} \thechapter - \par\nobreak - \vskip 20\p@ - \fi - \fi - \interlinepenalty\@M - \Large \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\def\@schapter#1{\if@twocolumn - \@topnewpage[\@makeschapterhead{#1}]% - \else - \@makeschapterhead{#1}% - \@afterheading - \fi} -\def\@makeschapterhead#1{% -% \vspace*{50\p@}% - {\centering - \normalfont - \interlinepenalty\@M - \Large \bfseries #1\par\nobreak - \vskip 40\p@ - }} - -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-18\p@ \@plus -4\p@ \@minus -4\p@}% - {12\p@ \@plus 4\p@ \@minus 4\p@}% - {\normalfont\large\bfseries\boldmath - \rightskip=\z@ \@plus 8em\pretolerance=10000 }} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-18\p@ \@plus -4\p@ \@minus -4\p@}% - {8\p@ \@plus 4\p@ \@minus 4\p@}% - {\normalfont\normalsize\bfseries\boldmath - \rightskip=\z@ \@plus 8em\pretolerance=10000 }} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-18\p@ \@plus -4\p@ \@minus -4\p@}% - {-0.5em \@plus -0.22em \@minus -0.1em}% - {\normalfont\normalsize\bfseries\boldmath}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% - {-12\p@ \@plus -4\p@ \@minus -4\p@}% - {-0.5em \@plus -0.22em \@minus -0.1em}% - {\normalfont\normalsize\itshape}} -\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use - \string\subparagraph\space with this class}\vskip0.5cm -You should not use \verb|\subparagraph| with this class.\vskip0.5cm} - -\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} -\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} -\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} -\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} -\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} -\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} -\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} -\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} -\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} -\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} -\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} - -\let\footnotesize\small - -\if@custvec -\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} -{\mbox{\boldmath$\textstyle#1$}} -{\mbox{\boldmath$\scriptstyle#1$}} -{\mbox{\boldmath$\scriptscriptstyle#1$}}} -\fi - -\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} -\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil -\penalty50\hskip1em\null\nobreak\hfil\squareforqed -\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} - -\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip -\halign{\hfil -$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets -\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets -\cr\to\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -\gets\cr\to\cr}}}}} -\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr -\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr -\noalign{\vskip1pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr -<\cr -\noalign{\vskip0.9pt}=\cr}}}}} -\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr -\noalign{\vskip1.2pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr -\noalign{\vskip1pt}=\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr -\noalign{\vskip0.9pt}=\cr}}}}} -\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip -\halign{\hfil -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr ->\cr\noalign{\vskip-1pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr ->\cr\noalign{\vskip-0.8pt}<\cr}}} -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr ->\cr\noalign{\vskip-0.3pt}<\cr}}}}} -\def\bbbr{{\rm I\!R}} %reelle Zahlen -\def\bbbm{{\rm I\!M}} -\def\bbbn{{\rm I\!N}} %natuerliche Zahlen -\def\bbbf{{\rm I\!F}} -\def\bbbh{{\rm I\!H}} -\def\bbbk{{\rm I\!K}} -\def\bbbp{{\rm I\!P}} -\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} -{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} -\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} -\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} -\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm -T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} -\def\bbbs{{\mathchoice -{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox -to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} -{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox -to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox -to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} -\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} -{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}} -{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}} - -\let\ts\, - -\setlength\leftmargini {17\p@} -\setlength\leftmargin {\leftmargini} -\setlength\leftmarginii {\leftmargini} -\setlength\leftmarginiii {\leftmargini} -\setlength\leftmarginiv {\leftmargini} -\setlength \labelsep {.5em} -\setlength \labelwidth{\leftmargini} -\addtolength\labelwidth{-\labelsep} - -\def\@listI{\leftmargin\leftmargini - \parsep 0\p@ \@plus1\p@ \@minus\p@ - \topsep 8\p@ \@plus2\p@ \@minus4\p@ - \itemsep0\p@} -\let\@listi\@listI -\@listi -\def\@listii {\leftmargin\leftmarginii - \labelwidth\leftmarginii - \advance\labelwidth-\labelsep - \topsep 0\p@ \@plus2\p@ \@minus\p@} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii - \advance\labelwidth-\labelsep - \topsep 0\p@ \@plus\p@\@minus\p@ - \parsep \z@ - \partopsep \p@ \@plus\z@ \@minus\p@} - -\renewcommand\labelitemi{\normalfont\bfseries --} -\renewcommand\labelitemii{$\m@th\bullet$} - -\setlength\arraycolsep{1.4\p@} -\setlength\tabcolsep{1.4\p@} - -\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}% - {{\contentsname}}} - \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} - \def\lastand{\ifnum\value{auco}=2\relax - \unskip{} \andname\ - \else - \unskip \lastandname\ - \fi}% - \def\and{\stepcounter{@auth}\relax - \ifnum\value{@auth}=\value{auco}% - \lastand - \else - \unskip, - \fi}% - \@starttoc{toc}\if@restonecol\twocolumn\fi} - -\def\l@part#1#2{\addpenalty{\@secpenalty}% - \addvspace{2em plus\p@}% % space above part line - \begingroup - \parindent \z@ - \rightskip \z@ plus 5em - \hrule\vskip5pt - \large % same size as for a contribution heading - \bfseries\boldmath % set line in boldface - \leavevmode % TeX command to enter horizontal mode. - #1\par - \vskip5pt - \hrule - \vskip1pt - \nobreak % Never break after part entry - \endgroup} - -\def\@dotsep{2} - -\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else -{chapter.\thechapter}\fi} - -\def\addnumcontentsmark#1#2#3{% -\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline - {\thechapter}#3}{\thepage}\hyperhrefextend}} -\def\addcontentsmark#1#2#3{% -\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}} -\def\addcontentsmarkwop#1#2#3{% -\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}} - -\def\@adcmk[#1]{\ifcase #1 \or -\def\@gtempa{\addnumcontentsmark}% - \or \def\@gtempa{\addcontentsmark}% - \or \def\@gtempa{\addcontentsmarkwop}% - \fi\@gtempa{toc}{chapter}} -\def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}} - -\def\l@chapter#1#2{\addpenalty{-\@highpenalty} - \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup - \parindent \z@ \rightskip \@tocrmarg - \advance\rightskip by 0pt plus 2cm - \parfillskip -\rightskip \pretolerance=10000 - \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip - {\large\bfseries\boldmath#1}\ifx0#2\hfil\null - \else - \nobreak - \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern - \@dotsep mu$}\hfill - \nobreak\hbox to\@pnumwidth{\hss #2}% - \fi\par - \penalty\@highpenalty \endgroup} - -\def\l@title#1#2{\addpenalty{-\@highpenalty} - \addvspace{8pt plus 1pt} - \@tempdima \z@ - \begingroup - \parindent \z@ \rightskip \@tocrmarg - \advance\rightskip by 0pt plus 2cm - \parfillskip -\rightskip \pretolerance=10000 - \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip - #1\nobreak - \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern - \@dotsep mu$}\hfill - \nobreak\hbox to\@pnumwidth{\hss #2}\par - \penalty\@highpenalty \endgroup} - -\def\l@author#1#2{\addpenalty{\@highpenalty} - \@tempdima=\z@ %15\p@ - \begingroup - \parindent \z@ \rightskip \@tocrmarg - \advance\rightskip by 0pt plus 2cm - \pretolerance=10000 - \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip - \textit{#1}\par - \penalty\@highpenalty \endgroup} - -\setcounter{tocdepth}{0} -\newdimen\tocchpnum -\newdimen\tocsecnum -\newdimen\tocsectotal -\newdimen\tocsubsecnum -\newdimen\tocsubsectotal -\newdimen\tocsubsubsecnum -\newdimen\tocsubsubsectotal -\newdimen\tocparanum -\newdimen\tocparatotal -\newdimen\tocsubparanum -\tocchpnum=\z@ % no chapter numbers -\tocsecnum=15\p@ % section 88. plus 2.222pt -\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt -\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt -\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt -\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt -\def\calctocindent{% -\tocsectotal=\tocchpnum -\advance\tocsectotal by\tocsecnum -\tocsubsectotal=\tocsectotal -\advance\tocsubsectotal by\tocsubsecnum -\tocsubsubsectotal=\tocsubsectotal -\advance\tocsubsubsectotal by\tocsubsubsecnum -\tocparatotal=\tocsubsubsectotal -\advance\tocparatotal by\tocparanum} -\calctocindent - -\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} -\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} -\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} -\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} -\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} - -\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn - \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}} - \@starttoc{lof}\if@restonecol\twocolumn\fi} -\def\l@figure{\@dottedtocline{1}{0em}{1.5em}} - -\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn - \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}} - \@starttoc{lot}\if@restonecol\twocolumn\fi} -\let\l@table\l@figure - -\renewcommand\listoffigures{% - \section*{\listfigurename - \@mkboth{\listfigurename}{\listfigurename}}% - \@starttoc{lof}% - } - -\renewcommand\listoftables{% - \section*{\listtablename - \@mkboth{\listtablename}{\listtablename}}% - \@starttoc{lot}% - } - -\ifx\oribibl\undefined -\ifx\citeauthoryear\undefined -\renewenvironment{thebibliography}[1] - {\section*{\refname} - \def\@biblabel##1{##1.} - \small - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \if@openbib - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \fi - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \if@openbib - \renewcommand\newblock{\par}% - \else - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% - \fi - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.=\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} -\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw - {\let\protect\noexpand\immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} -\newcount\@tempcntc -\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi - \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do - {\@ifundefined - {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries - ?}\@warning - {Citation `\@citeb' on page \thepage \space undefined}}% - {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% - \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne - \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% - \else - \advance\@tempcntb\@ne - \ifnum\@tempcntb=\@tempcntc - \else\advance\@tempcntb\m@ne\@citeo - \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} -\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else - \@citea\def\@citea{,\,\hskip\z@skip}% - \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else - {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else - \def\@citea{--}\fi - \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} -\else -\renewenvironment{thebibliography}[1] - {\section*{\refname} - \small - \list{}% - {\settowidth\labelwidth{}% - \leftmargin\parindent - \itemindent=-\parindent - \labelsep=\z@ - \if@openbib - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \fi - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{}}% - \if@openbib - \renewcommand\newblock{\par}% - \else - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% - \fi - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.=\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} - \def\@cite#1{#1}% - \def\@lbibitem[#1]#2{\item[]\if@filesw - {\def\protect##1{\string ##1\space}\immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} - \fi -\else -\@cons\@openbib@code{\noexpand\small} -\fi - -\def\idxquad{\hskip 10\p@}% space that divides entry from number - -\def\@idxitem{\par\hangindent 10\p@} - -\def\subitem{\par\setbox0=\hbox{--\enspace}% second order - \noindent\hangindent\wd0\box0}% index entry - -\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third - \noindent\hangindent\wd0\box0}% order index entry - -\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} - -\renewenvironment{theindex} - {\@mkboth{\indexname}{\indexname}% - \thispagestyle{empty}\parindent\z@ - \parskip\z@ \@plus .3\p@\relax - \let\item\par - \def\,{\relax\ifmmode\mskip\thinmuskip - \else\hskip0.2em\ignorespaces\fi}% - \normalfont\small - \begin{multicols}{2}[\@makeschapterhead{\indexname}]% - } - {\end{multicols}} - -\renewcommand\footnoterule{% - \kern-3\p@ - \hrule\@width 2truecm - \kern2.6\p@} - \newdimen\fnindent - \fnindent1em -\long\def\@makefntext#1{% - \parindent \fnindent% - \leftskip \fnindent% - \noindent - \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1} - -\long\def\@makecaption#1#2{% - \vskip\abovecaptionskip - \sbox\@tempboxa{{\bfseries #1.} #2}% - \ifdim \wd\@tempboxa >\hsize - {\bfseries #1.} #2\par - \else - \global \@minipagefalse - \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \vskip\belowcaptionskip} - -\def\fps@figure{htbp} -\def\fnum@figure{\figurename\thinspace\thefigure} -\def \@floatboxreset {% - \reset@font - \small - \@setnobreak - \@setminipage -} -\def\fps@table{htbp} -\def\fnum@table{\tablename~\thetable} -\renewenvironment{table} - {\setlength\abovecaptionskip{0\p@}% - \setlength\belowcaptionskip{10\p@}% - \@float{table}} - {\end@float} -\renewenvironment{table*} - {\setlength\abovecaptionskip{0\p@}% - \setlength\belowcaptionskip{10\p@}% - \@dblfloat{table}} - {\end@dblfloat} - -\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname - ext@#1\endcsname}{#1}{\protect\numberline{\csname - the#1\endcsname}{\ignorespaces #2}}\begingroup - \@parboxrestore - \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par - \endgroup} - -% LaTeX does not provide a command to enter the authors institute -% addresses. The \institute command is defined here. - -\newcounter{@inst} -\newcounter{@auth} -\newcounter{auco} -\newdimen\instindent -\newbox\authrun -\newtoks\authorrunning -\newtoks\tocauthor -\newbox\titrun -\newtoks\titlerunning -\newtoks\toctitle - -\def\clearheadinfo{\gdef\@author{No Author Given}% - \gdef\@title{No Title Given}% - \gdef\@subtitle{}% - \gdef\@institute{No Institute Given}% - \gdef\@thanks{}% - \global\titlerunning={}\global\authorrunning={}% - \global\toctitle={}\global\tocauthor={}} - -\def\institute#1{\gdef\@institute{#1}} - -\def\institutename{\par - \begingroup - \parskip=\z@ - \parindent=\z@ - \setcounter{@inst}{1}% - \def\and{\par\stepcounter{@inst}% - \noindent$^{\the@inst}$\enspace\ignorespaces}% - \setbox0=\vbox{\def\thanks##1{}\@institute}% - \ifnum\c@@inst=1\relax - \gdef\fnnstart{0}% - \else - \xdef\fnnstart{\c@@inst}% - \setcounter{@inst}{1}% - \noindent$^{\the@inst}$\enspace - \fi - \ignorespaces - \@institute\par - \endgroup} - -\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or - {\star\star\star}\or \dagger\or \ddagger\or - \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger - \or \ddagger\ddagger \else\@ctrerr\fi}} - -\def\inst#1{\unskip$^{#1}$} -\def\fnmsep{\unskip$^,$} -\def\email#1{{\tt#1}} -\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% -\@ifpackageloaded{babel}{% -\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% -\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}% -\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% -}{\switcht@@therlang}% -} -\def\homedir{\~{ }} - -\def\subtitle#1{\gdef\@subtitle{#1}} -\clearheadinfo - -\renewcommand\maketitle{\newpage - \refstepcounter{chapter}% - \stepcounter{section}% - \setcounter{section}{0}% - \setcounter{subsection}{0}% - \setcounter{figure}{0} - \setcounter{table}{0} - \setcounter{equation}{0} - \setcounter{footnote}{0}% - \begingroup - \parindent=\z@ - \renewcommand\thefootnote{\@fnsymbol\c@footnote}% - \if@twocolumn - \ifnum \col@number=\@ne - \@maketitle - \else - \twocolumn[\@maketitle]% - \fi - \else - \newpage - \global\@topnum\z@ % Prevents figures from going at top of page. - \@maketitle - \fi - \thispagestyle{empty}\@thanks -% - \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% - \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% - \instindent=\hsize - \advance\instindent by-\headlineindent - \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else - \addcontentsline{toc}{title}{\the\toctitle}\fi - \if@runhead - \if!\the\titlerunning!\else - \edef\@title{\the\titlerunning}% - \fi - \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% - \ifdim\wd\titrun>\instindent - \typeout{Title too long for running head. Please supply}% - \typeout{a shorter form with \string\titlerunning\space prior to - \string\maketitle}% - \global\setbox\titrun=\hbox{\small\rm - Title Suppressed Due to Excessive Length}% - \fi - \xdef\@title{\copy\titrun}% - \fi -% - \if!\the\tocauthor!\relax - {\def\and{\noexpand\protect\noexpand\and}% - \protected@xdef\toc@uthor{\@author}}% - \else - \def\\{\noexpand\protect\noexpand\newline}% - \protected@xdef\scratch{\the\tocauthor}% - \protected@xdef\toc@uthor{\scratch}% - \fi - \addcontentsline{toc}{author}{\toc@uthor}% - \if@runhead - \if!\the\authorrunning! - \value{@inst}=\value{@auth}% - \setcounter{@auth}{1}% - \else - \edef\@author{\the\authorrunning}% - \fi - \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% - \ifdim\wd\authrun>\instindent - \typeout{Names of authors too long for running head. Please supply}% - \typeout{a shorter form with \string\authorrunning\space prior to - \string\maketitle}% - \global\setbox\authrun=\hbox{\small\rm - Authors Suppressed Due to Excessive Length}% - \fi - \xdef\@author{\copy\authrun}% - \markboth{\@author}{\@title}% - \fi - \endgroup - \setcounter{footnote}{\fnnstart}% - \clearheadinfo} -% -\def\@maketitle{\newpage - \markboth{}{}% - \def\lastand{\ifnum\value{@inst}=2\relax - \unskip{} \andname\ - \else - \unskip \lastandname\ - \fi}% - \def\and{\stepcounter{@auth}\relax - \ifnum\value{@auth}=\value{@inst}% - \lastand - \else - \unskip, - \fi}% - \begin{center}% - \let\newline\\ - {\Large \bfseries\boldmath - \pretolerance=10000 - \@title \par}\vskip .8cm -\if!\@subtitle!\else {\large \bfseries\boldmath - \vskip -.65cm - \pretolerance=10000 - \@subtitle \par}\vskip .8cm\fi - \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% - \def\thanks##1{}\@author}% - \global\value{@inst}=\value{@auth}% - \global\value{auco}=\value{@auth}% - \setcounter{@auth}{1}% -{\lineskip .5em -\noindent\ignorespaces -\@author\vskip.35cm} - {\small\institutename} - \end{center}% - } - -% definition of the "\spnewtheorem" command. -% -% Usage: -% -% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} -% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} -% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} -% -% New is "cap_font" and "body_font". It stands for -% fontdefinition of the caption and the text itself. -% -% "\spnewtheorem*" gives a theorem without number. -% -% A defined spnewthoerem environment is used as described -% by Lamport. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\@thmcountersep{} -\def\@thmcounterend{.} - -\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} - -% definition of \spnewtheorem with number - -\def\@spnthm#1#2{% - \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} -\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} - -\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}\@addtoreset{#1}{#3}% - \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand - \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% - \expandafter\xdef\csname #1name\endcsname{#2}% - \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% - \global\@namedef{end#1}{\@endtheorem}}} - -\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}% - \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% - \expandafter\xdef\csname #1name\endcsname{#2}% - \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% - \global\@namedef{end#1}{\@endtheorem}}} - -\def\@spothm#1[#2]#3#4#5{% - \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% - {\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{the#1}{\@nameuse{the#2}}% - \expandafter\xdef\csname #1name\endcsname{#3}% - \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}% - \global\@namedef{end#1}{\@endtheorem}}}} - -\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ -\refstepcounter{#1}% -\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} - -\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% - \ignorespaces} - -\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname - the#1\endcsname}{#5}{#3}{#4}\ignorespaces} - -\def\@spbegintheorem#1#2#3#4{\trivlist - \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4} - -\def\@spopargbegintheorem#1#2#3#4#5{\trivlist - \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5} - -% definition of \spnewtheorem* without number - -\def\@sthm#1#2{\@Ynthm{#1}{#2}} - -\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% - \expandafter\xdef\csname #1name\endcsname{#2}% - \global\@namedef{end#1}{\@endtheorem}}} - -\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ -\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} - -\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} - -\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} - {#4}{#2}{#3}\ignorespaces} - -\def\@Begintheorem#1#2#3{#3\trivlist - \item[\hskip\labelsep{#2#1\@thmcounterend}]} - -\def\@Opargbegintheorem#1#2#3#4{#4\trivlist - \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} - -\if@envcntsect - \def\@thmcountersep{.} - \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape} -\else - \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} - \if@envcntreset - \@addtoreset{theorem}{section} - \else - \@addtoreset{theorem}{chapter} - \fi -\fi - -%definition of divers theorem environments -\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} -\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} -\if@envcntsame % alle Umgebungen wie Theorem. - \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} -\else % alle Umgebungen mit eigenem Zaehler - \if@envcntsect % mit section numeriert - \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}} - \else % nicht mit section numeriert - \if@envcntreset - \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} - \@addtoreset{#1}{section}} - \else - \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} - \@addtoreset{#1}{chapter}}% - \fi - \fi -\fi -\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} -\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} -\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} -\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} -\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} -\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily} -\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} -\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} -\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily} -\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} -\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} -\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} -\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily} -\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} - -\def\@takefromreset#1#2{% - \def\@tempa{#1}% - \let\@tempd\@elt - \def\@elt##1{% - \def\@tempb{##1}% - \ifx\@tempa\@tempb\else - \@addtoreset{##1}{#2}% - \fi}% - \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname - \expandafter\def\csname cl@#2\endcsname{}% - \@tempc - \let\@elt\@tempd} - -\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist - \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} - \def\@Opargbegintheorem##1##2##3##4{##4\trivlist - \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }} - } - -\renewenvironment{abstract}{% - \list{}{\advance\topsep by0.35cm\relax\small - \leftmargin=1cm - \labelwidth=\z@ - \listparindent=\z@ - \itemindent\listparindent - \rightmargin\leftmargin}\item[\hskip\labelsep - \bfseries\abstractname]} - {\endlist} - -\newdimen\headlineindent % dimension for space between -\headlineindent=1.166cm % number and text of headings. - -\def\ps@headings{\let\@mkboth\@gobbletwo - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% - \leftmark\hfil} - \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}% - \llap{\thepage}} - \def\chaptermark##1{}% - \def\sectionmark##1{}% - \def\subsectionmark##1{}} - -\def\ps@titlepage{\let\@mkboth\@gobbletwo - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% - \hfil} - \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}% - \llap{\thepage}} - \def\chaptermark##1{}% - \def\sectionmark##1{}% - \def\subsectionmark##1{}} - -\if@runhead\ps@headings\else -\ps@empty\fi - -\setlength\arraycolsep{1.4\p@} -\setlength\tabcolsep{1.4\p@} - -\endinput -%end of file llncs.cls diff --git a/helm/mathql/doc/mathql.tex b/helm/mathql/doc/mathql.tex deleted file mode 100644 index 73cd44d2e..000000000 --- a/helm/mathql/doc/mathql.tex +++ /dev/null @@ -1,40 +0,0 @@ -\documentclass{llncs} - -\usepackage{mathql_macros} -\newcommand\xcomment[1]{} - -\title{MathQL-1 Version 4\\Reference Documentation} -\author{Ferruccio Guidi% -\thanks{This work has been partially supported by -MoWGLI (European FET Project IST-2001-33562).} -} - -\institute{Department of Computer Science\\ -Mura Anteo Zamboni 7, 40127 Bologna, ITALY.\\ -\email{fguidi@cs.unibo.it}} - -\date{ } - -\begin{document} - -\maketitle - -\begin{abstract} -\end{abstract} - -\addtocounter{tocdepth}{2} - -\section*{\contentsname}{ -\catcode`@=11 -\def\l@title#1#2{} -\def\l@author#1#2{} -\@starttoc{toc} -\catcode`@=12} - -\input{mathql_overview} -\input{mathql_introduction} -\input{mathql_operational} -\input{mathql_tests} -\input{mathql_bib} - -\end{document} diff --git a/helm/mathql/doc/mathql_bib.tex b/helm/mathql/doc/mathql_bib.tex deleted file mode 100644 index be28be8ff..000000000 --- a/helm/mathql/doc/mathql_bib.tex +++ /dev/null @@ -1,89 +0,0 @@ -\begin{thebibliography}{99} - -\bibitem {APSCGS03} -A. Asperti, L. Padovani, C. Sacerdoti Coen, F.Guidi, I. Schena: -\emph{Mathematical Knowledge Management in HELM}. -In Annals of Mathematics and Artificial Intelligence 38(1), -Kluwer Academic Publishers (May 2003), pp. 27-46. - -\bibitem {Gui03} -F. Guidi: -\emph{Searching and Retrieving in Content-based Repositories of Formal -Mathematical Knowledge}. -Ph.D. Thesis in Computer Science, University of Bologna, March 2003. Technical -report UBLCS 2003-06. - -\bibitem {GSC03} -F. Guidi, C. Sacerdoti Coen: -\emph{Querying Distributed Digital Libraries of Mathematics}. -In Proc. of the 11th Symposium on the Integration of Symbolic Computation and -Mechanized Reasoning (Calculemus 2003). Rome, Italy, -September 2003. pages 17-30, Aracne. 2003. - -\bibitem {GS03} -F. Guidi, I. Schena: -\emph{A Query Language for a Metadata Framework about Mathematical Resources}. -In Proc. of 2nd International Conference on Mathematical Knowledge -Management (MKM 2003). -Bertinoro, Italy, February 2003. -LNCS 2594, pp. 105-118, Springer. 2003. - -\bibitem {Lan98} -C. Laneve: -\emph{La descrizione operazionale dei linguaggi di programmazione. \\ -Un'introduzione} -FrancoAngeli, 1998. - -\bibitem {Lor02} -D. Lordi: -\emph{Sperimentazione e Sviluppo di Strumenti per la gestione di metadati}. \\ -Master Thesis in Computer Science, University of Bologna, 2002. - -\bibitem {RDF} -\emph{Resource Description Framework (RDF) Model and Syntax Specification}. -W3C Recommendation. February 22, 1999. \\ -\CURI{http://www.w3.org/TR/1999/REC-rdfsyntax-19990222/}. - -\bibitem {RDFS} -\emph{RDF Vocabulary Description Language 1.0: RDF Schema}. -W3C Working Draft. January 23, 2003 -\CURI{http://www.w3.org/TR/rdf-schema/}. - -\bibitem {Sam00} -G. Sambin: \emph{Formal topology and domains}. -Electronic Notes in Theoretical Computer Science, (35). 2000. - -\bibitem {Sch02} -I. Schena: -\emph{Towards a Semantic Web for Formal Mathematics}. -Ph.D. dissertation. University of Bologna, 2002. Advisor: A. Asperti. - -\bibitem {Unicode} -Unicode Consortium: -\emph{The Unicode Standard, Version 3.2}. March 2002. \\ -\CURI{http://www.unicode.org/unicode/standard/standard.html}. - -\bibitem {URI} -\emph{Uniform Resource Identifiers (URI): Generic Syntax (RFC 2396)}. -August 1998. \\ -\CURI{http://www.ietf.org/rfc/rfc2396.txt}. - -\bibitem {W3Ca} -\emph{Character Model for the World Wide Web 1.0}, -W3C Working Draft. April 30, 2002. -\CURI{http://www.w3.org/TR/charmod/}. - -\bibitem {Win93} -G. Winskel: -\emph{The formal semantics of programming languages: an introduction}. -MIT Press Series in the Foundations of Computing. London: MIT Press, 1993. - -\bibitem {XML} -\emph{Extensible Markup Language (XML) 1.0 (Second Edition)}. -W3C Recommendation. October 6, 2000. \CURI{http://www.w3.org/REC-xml}. - -\bibitem {XQuery} -\emph{XQuery 1.0: An XML Query Language}. -W3C Working Draft November 15, 2002. \CURI{http://www.w3.org/TR/xquery/}. - -\end{thebibliography} diff --git a/helm/mathql/doc/mathql_introduction.tex b/helm/mathql/doc/mathql_introduction.tex deleted file mode 100644 index 73086dba7..000000000 --- a/helm/mathql/doc/mathql_introduction.tex +++ /dev/null @@ -1,24 +0,0 @@ -\section{Introduction} - -This paper presents {\MathQL} version 4 which is the latest version of the -language, fully developed by the Author. -For a description of the previous versions of {\MathQL} see: \cite{Gui03} -(version 3), \cite{GS03} (version 2), \cite{Lor02} (version 1). -The main novelties of this version are the elimination of some cast operators -(producing a substantial simplification in the query structure and semantics), -a clear distinction between the core language and the auxiliary functions of -the basic library, a support for query generating functions, the possibility -of extending the language adding new libraries of functions and a more uniform -textual syntax. -{\MathQL}.4 incorporates the features of {\MathQL}.3 not documented on paper% -\footnote -{See the ``what's new'' section of {\MathQL} Web Site: -\CURI{helm.cs.unibo.it/mathql}.} -and adds some new features improving {\MathQL} capabilities to post-process -the query results. - -\input{mathql_introduction_avsets} -\input{mathql_introduction_property} -\input{mathql_introduction_core} -\input{mathql_introduction_basic} -\input{mathql_introduction_textual} diff --git a/helm/mathql/doc/mathql_introduction_avsets.tex b/helm/mathql/doc/mathql_introduction_avsets.tex deleted file mode 100644 index 20e826403..000000000 --- a/helm/mathql/doc/mathql_introduction_avsets.tex +++ /dev/null @@ -1,296 +0,0 @@ -\subsection {Sets of attributed values.} \label{AVSets} - -The data representation model used by {\MathQL} relies on the notion of -\emph{set of attributed values} ({\av} set for short) that is, in practice, -the only data type available in {\MathQL}.4. In this sense {\MathQL}.4 is a -statically untyped language.% -\footnote -{A type system that fits {\MathQL} as an {\RDF}-oriented query language, -should be driven from the {\RDFS} class system. This may be a future -improvement.} -Each {\av} in an {\av} set consists of a string% -\footnote{When we say \emph{string}, we mean a finite sequence of characters.} -(that we call the \emph{head string} or \emph{value}) and a (possibly empty) -multiset of named attributes whose content is a set of strings. -Attribute names are made of a (possibly empty) list of string components, so -they can be hierarchically structured. -Moreover the attributes of a value are partitioned into a set of \emph{groups} -({\ie} subsets) to improve its structure. - -In the above description a \emph{set} is an \emph{unordered} finite -sequence \emph{without} repetitions whereas a \emph{multiset} is an -\emph{unordered} finite sequence \emph{with} repetitions. - -In the present context repetitions are defined as follows: -two {\av}'s are repeated if they share the same head string without any -condition on their attributes, two groups are repeated of they contain the -same attributes (equal both in name and content), two attributes of a group -are repeated if they share the same name without any condition on their -content, and two strings are always compared in a case-sensitive manner.% -\footnote -{The Author's experience with {\MathQL} seems to show that the above -definition of an {\av} set is just the right one among the many alternatives -that were tried.} - -As we said, {\MathQL}.4 uses {\av} sets to represent many kinds of -information: - -\begin{enumerate} - -\item -A pool of {\RDF} triples having a common subject $r$, which in general is a -{\URI} reference \cite{URI}% -\footnote -{A {\URI} \emph {reference} is a {\URI} with an optional fragment identifier.}, -is encoded in a single {\av} placing $r$ in the head string. -The predicates of the triples are encoded as attribute names and their objects -are placed in the attributes' contents. -These contents are structured as multiple strings with the aim of holding the -objects of repeated predicates. -Moreover structured attribute names can encode various components of -structured properties preserving their semantics. - -\begin{figure} -\begin{footnotesize} \begin{verbatim} -The RDF triples: - ("protocol", "dc:creator", "Sandro Hawke") - ("protocol", "dc:creator", "Eric Prud'hommeaux") - ("protocol", "dc:date", "2002-01-08") - -The corresponding attributed value: - "protocol" attr {/"dc:creator" = {"Sandro Hawke", "Eric Prud'hommeaux"}; - /"dc:date" = "2002-01-08"} -\end{verbatim} \end{footnotesize} -\vspace{-1pc} -\caption{The representation of a pool of {\RDF} triples} \label{AVOne} -\end{figure} - -\figref{AVOne} shows how a set of triples can be coded in an {\av}. -Note that the word \TT{attr} separates the head string from its attributes, -braces enclose an attribute group in which attributes are separated by -semicolons, and an equal sign separates an attribute name from its contents. - -In this setting the grouping feature can be used to separate semantically -different classes of properties associated to a resource (as for instance -Dublin Core metadata, Euler metadata and user-defined metadata). - -\item -A pool of arbitrarily chosen {\RDF} triples is encoded in an {\av} set -placing in each {\av} the subset of triples sharing the same head string. - -Note that the use of {\av} sets to build query results allows {\MathQL} queries -to return sets of {\RDF} triples instead of mere sets of resources, in the -spirit of what is currently done by other {\RDF}-oriented query languages. - -If the {\av}'s of an {\av} set share the same attribute names and grouping -structure, this set can be represented as a table in which each row encodes -an {\av} and each column is associated to an attribute (except the first one -which holds the head strings). -\figref{Table} shows an {\av} set describing the properties of two resources -``A'' and ``B'' giving its table representation, in which the columns -corresponding to attributes in the same group are clustered between -double-line delimiters.% -\footnote{A table with grouped labelled columns like the one above resembles a -set of relational database tables.} - -\begin{figure} -\begin{footnotesize} \begin{verbatim} -"A" attr {/"major" = "1"; /"minor" = "2"}, - {/"first" = "2002-01-01"; /"modified" = "2002-03-01"}; -"B" attr {/"major" = "1"; /"minor" = "7"}, - {/"first" = "2002-02-01"; /"modified" = "2002-04-01"} -\end{verbatim} -\begin{center} \begin{tabular}{|c||c|c||c|c||} -\hline & \textbf{``major''} & \textbf{``minor''} & \textbf{``first''} & \textbf{``modified''} \\ -\hline ``A'' & ``1'' & ``2'' & ``2002-01-01'' & ``2002-03-01'' \\ -\hline ``B'' & ``1'' & ``7'' & ``2002-02-01'' & ``2002-04-01'' \\ -\hline -\end{tabular} \end{center} \end{footnotesize} -\caption{A set of attributed values displayed as a table} \label{Table} -\end{figure} - -The above example gives a spatial idea of the geometry of an {\av} set ({\ie} -a query result) which fits in 4 dimensions: namely we can extend independently -the set of the head strings (dimension 1), the attributes in each group -(dimension 2), the groups in each {\av} (dimension 3) and the contents of each -attribute (dimension 4). -The metadata defined in the table of \figref{Table} will be used in subsequent -examples. -For this purpose assume that ``first'' and ``modified'' are the components -of a structured property ``date'' available for the resources ``A'' and ``B''. - -\item -The value of an {\RDF} property is encoded in an {\av} distinguishing three -cases: - -\begin{itemize} - -\item -If the property is unstructured, its value is placed in the {\av} head -string and no attributes are defined. - -\item -If the property is structured and its value has a main component% -\footnote{Which is set by the \emph{rdf:value} property or defined by a -specific application.}, -the content of this component is placed in the {\av} head string and the -other components are stored in the {\av} attributes as in the case 1. - -\item -For the value of a structured property without a main component, the head -string is empty and the components are stored in the attributes. - -\end{itemize} - -\begin{figure} -\begin{footnotesize} \begin{verbatim} -First example, one instance: - "" attr {/"major" = "1"; /"minor" = "2"} no main component - "1" attr {/"minor" = "2"} main component is "major" - "2" attr {/"major" = "1"} main component is "minor" - -Second example: two separate instances: - "" attr {/"major" = "1"; /"minor" = "2"}, - {/"major" = "1"; /"minor" = "7"} no main component - "1" attr {/"minor" = "2"}, {/"minor" = "7"} main component is "major" - -Third example: two mixed instances: - "" attr {/"major" = "3", "6"; /"minor" = {"4", "9"}} no main component -\end{verbatim} \end{footnotesize} -\vspace{-1pc} -\caption{The representation of the structured value of a property} -\label{AVTwo} -\end{figure} - -\figref{AVTwo} (first example) shows three possible ways of representing in -{\av}'s an instance of a structured property ``id'' whose value has two -fields ({\ie} properties) ``major'' and ``minor''. -In this instance, ``major'' is set to ``1'' and ``minor'' is set to ``2''. -The representations depend on which component of ``id'' is chosen as the -main component (none, ``major'' or ``minor'' respectively). -Several structured property values sharing a common main component can be -encodes in a single {\av} exploiting the grouping facility: in this case the -attributes of every instance are enclosed in separate groups. -\figref{AVTwo} (second example) shows the representations of two instances of -``id'': the former and a new one for which ``major'' is ``1'' and ``minor'' is -``7''. - -Note that if the attributes of the two groups are encoded in a single group, -the notion of which components belong to the same property value can not be -recovered in the general case because the values of an attribute form a set -and thus are unordered. -As an example think of two instances of ``id'' encoded as in \figref{AVTwo} -(third example). - -\item -A natural number is stored, using its decimal representation, in the head -string of a single {\av} with no attributes. - -\item -The boolean value \emph{false} is stored as an empty {\av} set, whereas -an inhabited {\av} set may be interpreted as the boolean value \emph{true}. -The default representation of \emph{true} is a single {\av} with an empty -head string and no attributes. - -\end{enumerate} - -{\MathQL} defines five core binary operations on {\av} sets: two unions, two -intersections and a difference. The first four are defined in terms of an -operation, that we call \emph{addition}, involving two {\av}'s with the same -head string. -The result is an {\av} with the same head string of the operands but there are -two ways to compose the attribute groups: - -\begin{itemize} - -\item -with the \emph{set-theoretic} addition, the set of attribute groups in the -resulting {\av} is the set-theoretic union of the sets of attribute groups in -the operands; - -\item -with the \emph{distributive} addition, the set of attribute groups in the -resulting {\av} is the ``Cartesian product'' of the sets of attribute groups -in the two operands. -Here an element of the ``Cartesian product'' is not a pair of groups but it is -the set-theoretic union of these groups where the contents of homonymous -attributes are clustered together using set-theoretic unions. - -\end{itemize} - -\figref{Addition} shows an example of the two kinds of addition. - -\begin{figure} -\begin{footnotesize} \begin{verbatim} -Attributed values used as operands for the addition: - "1" attr {/"A" = "a"}, {/"B" = "b1"} - "1" attr {/"A" = "a"}, {/"B" = "b2"} - -Set-theoretic addition: -" 1" attr {/"A" = "a"}, {/"B" = "b1"}, {/"B" = "b2"} - -Distributive addition: - "1" attr {/"A" = "a"}, {/"A" = "a"; /"B" = "b2"}, - {/"B" = "b1"; /"A" = "a"}, {/"B" = {"b1", "b2"}} -\end{verbatim} \end{footnotesize} -\vspace{-1pc} -\caption{The addition of attributed values} -\label{Addition} -\end{figure} - -Now we can discuss the five operations between {\av} sets: - -\begin{itemize} - -\item -The two unions corresponds to the set-theoretic union of their operand where -the {\av}'s sharing the head string are added either set-theoretically or -distributively as explained above (thus we have a set-theoretic union and a -distributive union in the two cases). In this context the empty {\av} set -plays the role of the neutral element. -These operations play a central role {\MathQL} architecture and allow to -compose the attributes of the operands preserving their group structure. - -\item -The two intersections are the dual of the above unions: they contain the -{\av}'s whose head string appears in each argument where the {\av}'s sharing -the head string are added either set-theoretically or distributively as before. - -The distributive intersection has the double benefit of filtering the -common values of the given {\av} sets, and of merging their attribute groups -in every possible way. This feature enables the possibility of performing -additional filtering operations checking the content of the merged groups. - -\item -The difference of two {\av} sets contains the {\av}'s of the first -argument whose head string does not appear in the second argument. - -\end{itemize} - -\figref{Binary} shows how the above operations work in a simple example. - -\begin{figure} -\begin{footnotesize} \begin{verbatim} -Sets of attributed values used as operands for the operations: - "1" attr {/"A" = "a"}; "2" attr {/"B" = "b1"} - "2" attr {/"B" = "b2"} - -Set-theoretic union: - "1" attr {/"A" = "a"}; "2" attr {/"B" = "b1"}, {/"B" = "b2"} - -Distributive union: - "1" attr {/"A" = "a"}; "2" attr {/"B" = {"b1", "b2"}} - -Set-theoretic intersection: - "2" attr {/"B" = "b1"}, {/"B" = "b2"} - -Distributive intersection: - "2" attr {/"B" = {"b1", "b2"}} - -Difference: - "1" attr {/"A" = "a"} -\end{verbatim} \end{footnotesize} -\vspace{-1pc} -\caption{The binary operations on sets of attributed values} -\label{Binary} -\end{figure} diff --git a/helm/mathql/doc/mathql_introduction_basic.tex b/helm/mathql/doc/mathql_introduction_basic.tex deleted file mode 100644 index ccf13f280..000000000 --- a/helm/mathql/doc/mathql_introduction_basic.tex +++ /dev/null @@ -1,136 +0,0 @@ -\subsection{The basic library} \label{Basic} - -The present paper leaves us too little space to present a complete -description of {\MathQL}.4 basic library, so we only give a glance to the -features it provides. - -For the user convenience {\MathQL}.4 includes a syntax extension for all the -basic library functions, in order to hide the actual function invocation. - -Here are some of the provided constructions: - -\begin{itemize} - -\item -\textbf{Aliases for commonly used constant {\av} sets.} -\EM{empty}, \EM{false}, \EM{true}. - -\item -\textbf{Conditional operator.} -\TT{if} \EM{av-set} \TT{then} \EM{av-set} \TT{else} \EM{av-set}. -Tests the first {\av} set for inhabitance and evaluates one of the other {\av} -sets accordingly. - -\item -\textbf{Standard \emph{select} clause.} -\TT{select @}\EM{variable} \TT{from} \EM{av-set-1} \TT{where} \EM{av-set-2}. -It is: -\TT{for @}\EM{variable} \TT{in} \EM{av-set-1} \TT{sup} -\TT{if} \EM{av-set-2} \TT{then @}\EM{variable} \TT{else empty}. - -\item -\textbf{Set refinement}. The operator -\TT{keep} \EM{optional-flag} \EM{name-list} \TT{in} \EM{av-set} -removes from its argument every attribute whose name is included (or is not, -according to the \EM{flag}) in the given \EM{name-list}. -If the \EM{flag} is not present, the \EM{name-list} specifies the attributes -to keep, whereas if the \EM{flag} is \TT{allbut}, the \EM{name-list} specifies -the attributes to remove. -Removing unwanted information from an {\av} set is useful in two cases: it -lowers the complexity of intermediate query results increasing the performance -of subsequent operations and it cleans the final query results making them -easier to manage for the application that submits the query.% -\footnote -{Interpreting {\av} sets as relational database tables, this functionality -allows to select the columns a table is made of, as with the {\SQL} -\emph{select} operator.} - -\item -\textbf{projections.} -The operator -\TT{proj} \EM{name} \TT{of} \EM{av-set} makes the set-theoretic union of the -contents that the specified attribute has in each group of the given {\av} set. -Each element of this union then becomes the head string of an {\av} without -attributes and the set of these is returned.% -\footnote -{This is the content of a labelled column of the given \EM{av-set} viewed as a -table.} -See \figref{Proj}. - -\begin{figure} -\begin{footnotesize} \begin{verbatim} -proj /"name" of ["1" attr {\"name" = {"a", "b"}}, {\"name" = {"b", "c"}} -gives "a"; "b"; "b" -\end{verbatim} \end{footnotesize} -\vspace{-1pc} -\caption{A simple projection} \label{Proj} -\end{figure} - -The construction \TT{keep} \EM{av-set} is also provided to remove all the -attributes in the given \EM{av-set} ({\ie} the list of the attributes to keep -is empty).% -\footnote -{This is the content of the first column of the \EM{av-set} viewed as a table.} - -\item -\textbf{Core operations on {\av} sets.} -\EM{av-set} \EM{core-operator} \EM{av-set} -returns an {\av} set composing the two operands according to the specified -\EM{core-operator} (see \subsecref{AVSets}) which can be \TT{union} -(set-theoretic union), \TT{intersect} (set-theoretic intersection) or -\TT{diff} (difference). -\TT{union} and \TT{intersect} are also provided in their $n$-ary form -($ n \ge 1 $ for \TT{intersect}) and the $n$-ary union has the syntax -extension: -\verb+{+ \EM{av-set} \TT{,} $\cdots$ \TT{,} \EM{av-set} \verb+}+. - -\item -\textbf{Logical operations on {\av} sets.} -\EM{and}, \EM{or}, \EM{xor}, \EM{not}. -They are inspired by the C-style Boolean operators defined for the -integer numbers. In particular: - -\TT{not} \EM{av-set}: -returns \emph{false} if the \EM{av-set} is inhabited, or \emph{true} otherwise. - -\EM{av-set-1} \TT{and} \EM{av-set-2}: -gives \EM{av-set-2} if \EM{av-set-1} is inhabited, or \emph{false} otherwise. - -\EM{av-set-1} \TT{or} \EM{av-set-2}: -returns \EM{av-set-1} if it is inhabited, or \EM{av-set-2} otherwise. - -\EM{av-set-1} \TT{xor} \EM{av-set-2}: -gives \emph{false} if both av-sets are inhabited or empty, or the inhabited -\EM{av-set} otherwise. - -\TT{and} and \TT{or} are also available in their $n$-ary form. - -\item -\textbf{Comparisons between {\av} sets.} -\EM{av-set} \EM{test-operator} \EM{av-set}. -Following the repetition rules of {\av} sets presented in \subsecref{AVSets}, -these operators work just on the head strings of their arguments and -discard the attributes. All of them return \emph{false} or \emph{true} -according to the outcome of the respective test. -The \emph{test-operator} includes: \TT{sub} (set-theoretic subset relation), -\TT{eq} (set-theoretic quality), \TT{meet} (inhabitance of the set-theoretic -intersection), \TT{le} (numeric less-or-equal-than), \TT{lt} (numeric -less-than).% -\footnote{\TT{le} and \TT{lt} return \emph{false} if their operands are invalid -numbers.} - -Note that the set-theoretic ``meet'' operator -({\ie} $ V \meet W \equiv (\lex v \in V)\ v \in W $) -is the natural companion of the corresponding ``sub'' operator -({\ie} $ V \sub W \equiv (\lall v \in V)\ v \in W $) being its logical dual -and is already being used successfully in the context of a constructive -({\ie} intuitionistic and predicative) approach to point-free topology -(see \cite{Sam00} for details). - -\item -\textbf{Cardinality of an {\av} set.} -This information is retrieved by the operator \TT{count} \EM{av-set} that -returns an {\av} set representing a natural number. - -\end{itemize} - diff --git a/helm/mathql/doc/mathql_introduction_core.tex b/helm/mathql/doc/mathql_introduction_core.tex deleted file mode 100644 index 05f9e9fd9..000000000 --- a/helm/mathql/doc/mathql_introduction_core.tex +++ /dev/null @@ -1,162 +0,0 @@ -\subsection{The core language} - -{\MathQL}.4 consists of a core language and of a basic library. Other -user-defined libraries can be added at will. The core language includes the -\TT{property} operator mentioned in \subsecref{HighAccess} that queries the -underlying {\RDF} database, and the infrastructure to post-process the -query results. The components of this infrastructure are listed below: - -\begin{itemize} - -\item -\textbf{Explicit sets of attributed values.} -An explicit {\av} set can be placed in a query in two forms: -as a quoted string, like \verb+"this is a query result"+, that evaluates in a -single {\av} with that value and no attributes, or as a full {\av} set in the -syntax shown in the previous sections but surrounded by square brackets, like -\verb+["head" attr {/"attribute" = "contents"}]+. -\newline -In the second form, the contents of an attribute can be the result of a query -and in this case the contents of the attribute are the head strings of the -query result, whose attributes (if any) are discarded. -\end{itemize} - -\begin{center} -\verb+["head" attr {/"attribute" = property /"metadata" of "resource"}]+ -\end{center} - -\begin{itemize} - -\item -\textbf{Variable assignment.} -Variables for {\av} sets (preceded by a \TT{\$} sign and called -\emph{set variables}) can be assigned using a standard \emph{let-in} -construction and may appear wherever an {\av} set ({\ie} a query result) is -allowed. -The assignment has the form: -\TT{let \$}\EM{variable} \TT{=} \EM{av-set} \TT{in} \EM{av-set} -so we can write: -\newline -\verb+let $var = "contents" in ["head" attr {/"attribute" = $var}]+. - -The scope of {\MathQL} variables is typical for an imperative programming -language and any case of assignment propagation will be indicated. - -\item -\textbf{Sequential composition.} -This construction has the form: \EM{av-set} \TT{;;} \EM{av-set} and works as -follows: the two {\av} sets are evaluated one after the other and the first -one is discarded but the variables assigned in the first {\av} set are -available to the second one. - -\item -\textbf{Unbounded iteration.} -This construction comes in two forms: - -\TT{while} \EM{av-set-1} \TT{sup} \EM{av-set-2}: -iterates the evaluation of \EM{av-set-2} until \EM{av-set-1} is empty and -returns the {\MathQL} set-theoretic union of all the evaluations of -\EM{av-set-2}. -\TT{while} \EM{av-set-1} \TT{inf} \EM{av-set-2}: -like the former but the set-theoretic intersection is used instead of the -set-theoretic union. - -In order for \TT{while} to work as expected, both {\av} sets are evaluated in -a common context during the iteration ({\ie} the variables defined in both -are available to both) and this context is also propagated outside the -\TT{while}. - -\item -\textbf{Bounded iteration.} -Also this construction comes in two forms: - -\TT{for @}\EM{variable} \TT{in} \EM{av-set} \TT{sup} \EM{av-set}: -iterates the evaluation of the second \EM{av-set} assigning the \EM{variable} -to each element in the first \EM{av-set} and builds the {\MathQL} -set-theoretic union of the obtained results. - -\TT{for @}\EM{variable} \TT{in} \EM{av-set} \TT{inf} \EM{av-set}: -like the former but the set-theoretic intersection is used instead of the -set-theoretic union. - -The variables for attributed values (preceded by a \TT{@} sign and called -\emph{element variables}) may appear wherever an {\av} set is allowed and -and in some additional places. -The element variables are kept distinct from the set variables (therefore -\TT{\$variable} and \TT{@variable} may appear in the same query without -ambiguity). -Concerning the scope rules used in these constructions, the variables -assigned by the first {\av} set are available to the second {\av} set during -the iteration and the variables assigned by both {\av} sets are available -outside the \TT{for} as in the previous case. - -\item -\textbf{Addition of groups.} -\TT{add} \EM{optional-flag} \EM{attribute-groups} \TT{in} \EM{av-set} -builds an {\av} set adding the specified \EM{attribute-groups} to each element -of the given {\av} set. -If no \EM{flag} is specified the addition is set-theoretic, whereas with the -\TT{distr} flag the addition is distributive. -The \EM{attribute-groups} can be given explicitly (in the same syntax used for -explicit {\av} sets) or they can be replaced by an element variable. In the -latter case the attribute groups of the {\av} stored in the variable are -considered. - -\figref{Add} shows how to build a one-element {\av} set using \TT{add}. - -\begin{figure} -\begin{footnotesize} \begin{verbatim} -The set of attributed values given explicitly: - ["head" attr {/"attribute" = property /"metadata" of "resource"}] - -The same set built with the add operator: - add {/"attribute" = property /"metadata" of "resource"} in "head" -\end{verbatim} \end{footnotesize} -\vspace{-1pc} -\caption{A simple use of the add operator} -\label{Add} -\end{figure} - -\item -\textbf{Existential test.} -The existential test has the form \TT{ex} \EM{av-set} where the -specification of the {\av} set contains some instances of the construction -\TT{@}\EM{variable}\TT{.}\EM{attribute-name}, and runs as follows: -the given {\av} set is evaluated replacing each -\TT{@}\EM{variable}\TT{.}\EM{attribute-name} -with the contents of \EM{attribute-name} in an attribute group of the {\av} -stored in \TT{@}\EM{variable} and the evaluation is repeated for every -possible choice of these groups (recall that different groups are allowed to -contain attributes with the same name). If one evaluation gives a non empty -result, the default representation of \emph{true} is returned, in the other -case the empty {\av} set, {\ie} \emph{false}, is returned. - -\item -\textbf{Function invocation.} -The core language allows to invoke two kinds of external functions (with -which a language extension may be provided): the functions of the first kind -return an {\av} set, the functions of the second kind return a piece of -{\MathQL} code representing an {\av} set ({\ie} they interface a {\MathQL} -code generator). In particular: - -\EM{function-name} \verb+{+ -\EM{name} \TT{,} $\cdots$ \TT{,} \EM{name} \verb+} {+ -\EM{av-set} \TT{,} $\cdots$ \TT{,} \EM{av-set} \verb+}+ -invokes a function of the first kind on the given arguments and returns its -result. The \EM{name} arguments are {\MathQL} paths and usually -represent attribute names. - -\TT{gen} \EM{function-name} \verb+{+ -\EM{av-set} \TT{,} $\cdots$ \TT{,} \EM{av-set} \verb+}+ -invokes a function of the second kind on the given arguments and replaces -itself with the function result. - -The function names are {\MathQL} paths exactly as the attribute names and the -graph paths used by the \TT{property} operator. The names of the two kinds of -functions are kept in distinct environments so they do not clash. - -{\MathQL}.4 comes with a basic library of functions of the first kind -(see \subsecref{Basic}) that integrate the core language providing several -facilities. - -\end{itemize} diff --git a/helm/mathql/doc/mathql_introduction_property.tex b/helm/mathql/doc/mathql_introduction_property.tex deleted file mode 100644 index 6bd8561e3..000000000 --- a/helm/mathql/doc/mathql_introduction_property.tex +++ /dev/null @@ -1,200 +0,0 @@ -\subsection{High level access to metadata} \label{HighAccess} - -{\MathQL} high level access to an {\RDF} database is \emph{graph-oriented} and -is delegated to its \TT{property} operator that builds a \emph{result} {\av} -set starting from two mandatory arguments: the \emph{source} {\av} set and the -\emph{head path}. -Other optional arguments may be used to change its default behaviour or to -request advanced functionalities. - -This operator has the following syntax, where a path has the structure of an -attribute name ({\ie} a list of strings) and denotes a (possibly empty) finite -sequence of contiguous arcs (describing properties in the {\RDF} graph% -\footnote -{When we say \emph{{\RDF} graph}, we actually mean both the {\RDFM} graph and -the {\RDFS} graph.}% -). - -\begin{center} -\TT{property} \EM{optional-flags} \EM{head-path} \EM{optional-clauses} \TT{of} -\EM{optional-flag} \EM{av-set} -\end{center} - -\begin{figure} -\begin{footnotesize} \begin{verbatim} - These examples refer to the resources "A" and "B" of Figure 2. - -Example 1: reading an unstructured property - simple case: - property /"id"/"major" of {"A", "B"} gives "1" - property /"id"/"minor" of {"A", "B"} gives "2"; "7" - -Example 2: reading an unstructured property - use of pattern: - property /"id"/"minor" of pattern ".*" gives "2"; "7" - -Example 3: reading a structured property without main component: - property /"id" attr /"major", /"minor" of {"A", "B"} - generates the following attributed values: - "" attr {/"major" = "1"; /"minor" = "2"}; - "" attr {/"major" = "1"; /"minor" = "7"} - that are composed with the set-theoretic union giving: - "" attr {/"major" = "1"; /"minor" = "2"}, - {/"major" = "1"; /"minor" = "7"} - -Example 4: reading a structured property specifying a main component: - property /"id" main /"major" attr /"minor" of {"A", "B"} gives - "1" attr {/"minor" = "2"}, {/"minor" = "7"} - -Example 5: the renaming mechanism: - property /"id" attr /"minor" as /"new-name" of {"A", "B"} gives - "" attr {/"new-name" = "2"}, {/"new-name" = "7"} - -Example 6: imposing constraints on property values: - property /"date" istrue /"first" in "2002-01-01" - attr /"modified" of {"A", "B"} and - property /"date" istrue /"first" match ".*01.*" - attr /"modified" of {"A", "B"} give - "" attr {/"modified" = "2002-03-01"} - Only the instance of "date" with "first" set to "2002-01-01" - is considered. - -Example 7: inverse traversal of the head path: -property inverse /"date" attr /"first" in "" gives -"A" attr {/"first" = "2002-01-01"}; "B" attr {/"first" = "2002-02-01"} - -Example 8: some triples of an access relation: -The triples formalizing the property "date" of the resource "A": -("A", /"date", ""); -("A", /"date"/"first", "2002-01-01"); -("A", /"date"/"modified", "2002-03-01") -\end{verbatim} \end{footnotesize} -\vspace{-1pc} -\caption{The ``property'' operator} -\label{Property} -\end{figure} - -In the simplest case \TT{property} is used to read the values of a (possibly -compound) property with an unstructured value and does the following: - -\begin{enumerate} - -\item -It computes the instances of the given path in the {\RDF} graph available to -the query engine, using the resources specified in the head strings of the -source {\av} set (call them source resources) as start-nodes. - -\item -The computation gives a set of nodes ({\ie} the end-nodes of the instantiated -paths) which are the values of the instances of the (possibly compound) -property specified by the path and concerning the source resources. - -\item -These values, encoded into {\av}'s as explained above, are composed by means -of the {\MathQL} set-theoretic union to form the result {\av} set. - -\end{enumerate} - -\figref{Property} (example 1) shows an instance of this procedure. -Note that the result sets of this example have no attributes and that a path -is represented by a slash-separated list of strings denoting the path's arcs.% -\footnote{If needed, the empty path is represented by a single slash.} - -Using the \TT{pattern} flag, \TT{property} can be instructed to regard the -values of the source {\av} set as POSIX regular expressions rather than as -constant strings. -In this case \TT{pattern} selects the set of resources matching at least one -of the given expressions. -See for instance \figref{Property} (example 2). - -If we want to read the value of a structured property we can specify the -value's main component in the \TT{main} \EM{optional-clause} (this -specification overrides the default setting inferred from the {\RDF} graph -through the \emph{rdf:value} property) and the list of the value's secondary -components in the \TT{attr} \EM{optional-clause}. - -Note that if a secondary component is not listed in the \TT{attr} clause, it -will not be read. -Also recall that, when the result {\av}'s are formed, the main component is -is read in the head string, whereas the secondary components are -encoded using the attributes of a single group. -See for instance \figref{Property} (examples 3 and 4). -As a component of a property's value may be a structured property, its -specification (appearing in the \TT{main} or \TT{attr} clause) is -actually a path in the {\RDF} graph starting from the end-node of the head -path. - -Note that the name of an attribute, which by default is its defining path in -the \TT{attr} clause, can be changed with an optional \TT{as} clause for the -user's convenience. See for instance \figref{Property} (example 5). -Note that the assigned name must be a path for typing reasons. -The alternative could be to use a simple string but in any case a string can -be seen as a one-element path. - -In the default case \TT{property} builds its result considering every -component of the {\RDFM} graph ({\ie} every {\RDFM}) but we can constrain -some nodes of the inspected components to have (or not to have) a given value, -with the aim of improving the performance of the inspection procedure. -The constrained nodes are specified in the \TT{istrue} and \TT{istrue} -\EM{optional-clauses} and the constraining values are expressed by \TT{in} or -\TT{match} constructions depending on their semantics (constant values or -POSIX regular expressions respectively). -See for instance \figref{Property} (example 6). -Again a constrained node may be the value of a compound property, therefore -its specification (appearing in the \TT{istrue} or \TT{isfalse} clause) is -a path in the {\RDF} graph starting from the end-node of the head path. - -\TT{property} allows to access the {\RDFS} property hierarchy by specifying -a flag \TT{sub} or \TT{super}. -If the \TT{sub} flag is present, \TT{property} inspects the instances of the -default tree (made by the head path and by the \EM{optional-clauses} paths) -and every other tree obtained by substituting an arc $ p $ with the arc of a -subproperty of $ p $. -If the \TT{super} flag is present, super-property arcs are substituted instead. - -\TT{property} also allows the inverse traversal of its head path if the -\TT{inverse} flag is specified. -In this case the operator works as follows: - -\begin{enumerate} - -\item -It instantiates the head path using as end-nodes the values whose main -component is specified in head strings of the source {\av} set. - -\item -It encodes the resources corresponding to the instances of the start-nodes into -{\av}'s assigning the attributes obtained instantiating the attribute paths% -\footnote{The paths in the \EM{optional-clauses} are never traversed backward.} -and builds the result set composing these {\av}'s with the set-theoretic union. - -\end{enumerate} - -See for instance \figref{Property} (example 7). - -Formally \TT{property} accesses the {\RDF} graph through an \emph{access -relation} which is a set of triples $ (r_1, p, r_2) $ where $ r_1 $ and -$ r_2 $ are strings, and $ p $ is a path. -Each triple is a sort of ``extended {\RDF} triple'' in the sense that $ r_1 $ -is a resource for which some metadata is provided, $ p $ is a path in the -{\RDF} graph and $ r_2 $ is the main value of the end-node of the instance of -$ p $ starting from $ r_1 $ (this includes the instances of sub- and -super-arcs of $ p $ if necessary). -See for instance \figref{Property} (example 8). -{\MathQL} does not provide for any built-in access relation so any query -engine can freely define the access relations that are appropriate with -respect to the metadata it can access. - -It is worth remarking, as it was already stressed in \cite{Gui03,GS03}, that -the concept of access relation corresponds to the abstract concept of property -in the basic {\RDF} data model which draws on well established principles from -various data representation communities. -In this sense an {\RDF} property can be thought of either as an attribute of a -resource (traditional attribute-value pairs model), or as a relation between -a resource and a value (entity-relationship model). -This observation leads us to conclude that {\MathQL} is sound and complete -with respect to querying an abstract {\RDF} metadata model. -Finally note that access relations are close to {\RDF} entity-relationship -model, but they do not work if we allow paths with an arbitrary number of -loops ({\ie} with an arbitrary length) because this would lead to creating -infinite sets of triples. -If we want to handle this case, we need to turn these relations into -multivalued functions. diff --git a/helm/mathql/doc/mathql_introduction_textual.tex b/helm/mathql/doc/mathql_introduction_textual.tex deleted file mode 100644 index 2bcb2b4cd..000000000 --- a/helm/mathql/doc/mathql_introduction_textual.tex +++ /dev/null @@ -1,178 +0,0 @@ -\subsection{Textual syntax} \label{Textual} - -In this section we present {\MathQL}.4 textual syntax using the same notation -that we adopted in \cite{GS03,Gui03}. In particular the grammatical -productions we use resemble {\BNF} with some {\POSIX} formalism: - -\begin{itemize} - -\item -\TT{::=} defines a grammatical production by means of a regular expression. - -Regular expressions are made of the following elements -(\TT{...} is a placeholder): - -\item -\TT{`...`} represents any character in a character set; - -\item -\verb+`^ ...`+ represents any character (U+20 to U+7E) not in a character set; - -\item -\TT{"..."} represents a string to be matched verbatim; - -\item -\GP{...} represents a regular expression defined by a grammatical production; - -\item -\TT{... ...} represents a conjunctive regular expression; - -\item -\TT{... | ...} represents a disjunctive regular expression; - -\item -\TT{[ ... ]?} represents an optional regular expression; - -\item -\TT{[ ... ]+} represents a regular expression to be repeated one or more times; - -\item -\TT{[ ... ]*} represents a regular expression to be repeated zero or more times; - -\item -\TT{[ ... ]} represents a grouped regular expression. - -\end{itemize} - -\begin{figure} -\begin{footnotesize} \begin{verbatim} - ::= '0 - 9' - ::= [ ]* - ::= | 'A - F' | 'a - f' - ::= "u" | '"' | "\" | "^" - ::= '"' [ "\" "^" | '^ "\^' ]* '"' - ::= "/" | [ "/" ]+ -\end{verbatim} \end{footnotesize} -\vskip-1pc -\caption{Textual syntax of numbers, strings and paths} \label{StrTS} -\end{figure} - -\begin{figure} -\begin{footnotesize} -\begin{center} \begin{tabular}{|l|l|c|} -\hline {\bf Escape sequence} & {\bf Unicode character} & {\bf Text} \\ -\hline \verb+\u....^+ & U+.... & \\ -\hline \verb+\"^+ & U+0022 & \verb+"+ \\ -\hline \verb+\\^+ & U+005C & \verb+\+ \\ -\hline \verb+\^^+ & U+005E & \verb+^+ \\ -\hline -\end{tabular} \end{center} -\end{footnotesize} -\vskip-1pc -\caption{Textual syntax of escaped characters} \label{EscTS} -\end{figure} - -Queries and results can contain quoted constant strings with the syntax of -\figref {StrTS}% -\footnote -{Note that the first slash of the \GP{path} is not optional as in {\MathQL}.3.} -and the meaning of the escaped sequences is shown in \figref{EscTS} (where -$ .... $ is a 4-digit placeholder). -{\MathQL} character escaping syntax aims at complying with W3C character model -for the World Wide Web \cite{W3Ca} which recommends a support for standard -Unicode characters (U+0000 to U+FFFF) and escape sequences with start/end -delimiters. -In particular {\MathQL} escape delimiters (backslash and caret) are chosen -among the \emph{unwise} characters for {\URI} references (see \cite{URI}) -because {\URI} references are the natural content of constant strings and -these characters should not be so frequent in them. - -\begin{figure} -\begin{footnotesize} \begin{verbatim} - ::= [ 'A - Z' | 'a - z' | `_` ]+ - ::= [ | ]* - ::= "$" - ::= "@" -\end{verbatim}\end{footnotesize} %$ -\vskip-1pc -\caption{Textual syntax of variables} \label{VarTS} -\end{figure} - -Queries can also contain \emph{set} variables (production \GP{svar}) and -\emph{element} variables (production \GP{evar}) according to the syntax of -\figref{VarTS}.% -\footnote{This syntax resembles the one of programming languages identifiers.} -A set variable holds an {\av} set, {\ie} a query result, while an element -variable holds an {\av}. - -\begin{figure} -\begin{footnotesize} \begin{verbatim} - ::= [ "sub" | "super" ]? - ::= [ "inverse" ]? -

::= [ "main" ]? - ::= [ "in" | "match" ] - ::= [ "istrue" [ "," ]* ]? - ::= [ "isfalse" [ "," ]* ]* - ::= [ "as" ]? - ::= [ "attr" [ "," ]* ]? - ::=
- ::= [ "pattern" ]? - ::= [ "," ]* - ::= "(" ")" | | "[" "]" - | "property" "of" - | "let" "=" "in" - | ";;" | | - | "ex" | "." - | "add" [ "distr" ]? [ | ] "in" - | "for" "in" [ "sup" | "inf" ] - | "while" [ "sup" | "inf" ] - | "{" [ ]? "}" "{" "}" - | "gen" [ "{" "}" | "in" ] - ::= [ [ "," ]* ]? - ::= "=" - ::= "{" [ ";" ]* "}" - ::= [ "," ]* - ::= [ "attr" ]? - ::= [ [ ";" ]* ]? -\end{verbatim} \end{footnotesize} -\vskip-1pc -\caption{Textual syntax of queries} \label{QueryTS} -\end{figure} - -\begin{figure} -\begin{footnotesize} \begin{verbatim} - ::= "=" | "{" [ "," ]* "}" - ::= "{" [ ";" ]* "}" - ::= [ "attr" [ "," ]* ]? - ::= [ [ ";" ]* ]? -\end{verbatim} \end{footnotesize} -\vskip-1pc -\caption{Textual syntax of results} \label{ResultTS} -\end{figure} - -\begin{figure} -\begin{footnotesize} \begin{verbatim} - ::= "empty" | "false" | "true" - | [ "not" | "count" | "proj" "of" ] - | [ "and" | "or" | "xor" ] - | [ "sub" | "meet" | "eq" | "le" | "lt" ] - | [ "union" | "intersect" | "diff" ] - | "{" "}" - | "keep" [ "allbut" ]? [ "in" ]? - | "if" "then" "else" - | "select" "from" "where" -\end{verbatim} \end{footnotesize} -\vskip-1pc -\caption{Textual syntax of the basic extension} \label{BasicTS} -\end{figure} - -The core infrastructure of {\MathQL}.4 defines a syntax for queries -(\figref{QueryTS}, production \GP{query}) and a syntax for results -(\figref{ResultTS}, production \GP{avs}). -A syntax extension for the most common functions of the basic library is -also provided for the user's convenience and for backward compatibility with -{\MathQL}.3. The syntax extension concerning the functions covered in this -paper is shown in \figref{BasicTS}. -Note that this extension makes \GP{avs} an instance of \GP{xavs}. - - diff --git a/helm/mathql/doc/mathql_macros.sty b/helm/mathql/doc/mathql_macros.sty deleted file mode 100644 index 8c8a85130..000000000 --- a/helm/mathql/doc/mathql_macros.sty +++ /dev/null @@ -1,104 +0,0 @@ -\usepackage{amssymb} - -\newcommand\CURI[1]{\texttt{<#1>}} -\newcommand\EM[1]{\noindent\hbox{\frenchspacing\em #1}} -\newcommand\TT[1]{\noindent\hbox{\frenchspacing\tt #1}} -\newcommand\RM[1]{\noindent\hbox{\frenchspacing\rm #1}} -\newcommand\secref[1]{Section~\ref{#1}} -\newcommand\subsecref[1]{Subsection~\ref{#1}} -\newcommand\figref[1]{Figure~\ref{#1}} -\newcommand\ie{{\frenchspacing i.e.}} -\newcommand\oft{\mathrel :} -\newcommand\lex{\exists} -\newcommand\lall{\forall} -\newcommand\sub{\subseteq} -\newcommand\meet{\between} -\newcommand\sand{\cap} -\newcommand\sdor{\sqcup} -\newcommand\sor{\cup} -\newcommand\bigsor{\bigcup} -\newcommand\app{\mathbin @} -\newcommand\fa{\phi} -\newcommand\fb{\psi} -\newcommand\st{\mathrel |} -\newcommand\p{{^\prime}} -\newcommand\jolly{\mathbin\square} -\newcommand\gdlap[2]{\vbox to 0pt {\vskip#2\hbox{#1}\vss}} -\newcommand\setnames@[2]{&\gdlap{\kern2pt$#1$}{#2}} -\newcommand\imain[1]{{\offinterlineskip\lineskip=2pt\noindent - $\vcenter{\halign{\hss$##$\hss&##\hss\cr#1\crcr}}$}} -\newcommand\iname[1]{\cr\hrulefill\setnames@{#1}{-1.0ex}\cr} -\newcommand\irule[3]{\imain{#1 \iname{#2} #3}} -\newcommand\spc{\hspace{1em}} -\newcommand\icr{\cr} -\newcommand\Nop{\noindent\hbox to 0pt{\vbox to 1ex{\vfil}\hfil}} - -\newcommand\BNF{\textsc{bnf}} -\newcommand\CAML{\textsc{caml}} -\newcommand\Galax{\textsc{galax}} -\newcommand\HELM{\textsc{helm}} -\newcommand\MathQL{\textsc{mathql-1}} -\newcommand\MySQL{\textsc{mysql}} -\newcommand\POSIX{\textsc{posix}} -\newcommand\PostgreSQL{\textsc{postgresql}} -\newcommand\RDF{\textsc{rdf}} -\newcommand\RDFM{\textsc{rdf model}} -\newcommand\RDFS{\textsc{rdf schema}} -\newcommand\SQL{\textsc{sql}} -\newcommand\URI{\textsc{uri}} -\newcommand\XML{\textsc{xml}} -\newcommand\XQuery{\textsc{xquery}} - -\newcommand\av{{\frenchspacing a.v.}} - -\newcommand\D{\Delta} -\newcommand\G{\Gamma} -\newcommand\ES{\emptyset} -\newcommand\bigsum{\bigoplus} -\newcommand\daq{\mathrel{\Downarrow_q}} -\newcommand\dar{\mathrel{\Downarrow_r}} -\newcommand\distr{\mathbin\odot} -\newcommand\dprod{\mathbin\boxtimes} -\newcommand\dsum{\mathbin\boxplus} -\newcommand\g{(\G_s, \G_e, \G_g)} -\newcommand\get[2]{#1(#2)} -\newcommand\sdiff{\mathbin\ominus} -\newcommand\set[3]{#1[#2 \gets #3]} -\newcommand\sprod{\mathbin\otimes} -\newcommand\ssum{\mathbin\oplus} - -\newcommand\Boole{\TT{Boole}} -\newcommand\Listof{\TT{ListOf}} -\newcommand\Setof{\TT{SetOf}} -\newcommand\Str{\TT{Str}} -\newcommand\Num{\TT{Num}} - -\newcommand\All{\TT{All}} -\newcommand\Exp{\TT{Exp}} -\newcommand\F{\TT{F}} -\newcommand\For{\TT{For}} -\newcommand\Fst{\TT{Fst}} -\newcommand\Fsts{\TT{Fsts}} -\newcommand\Fun{\TT{Fun}} -\newcommand\Gen{\TT{Gen}} -\newcommand\Head{\TT{Head}} -\newcommand\Istrue{\TT{IsT}} -\newcommand\Keep{\TT{Keep}} -\newcommand\Match{\TT{Match}} -\newcommand\Name{\TT{Name}} -\newcommand\Pattern{\TT{Pattern}} -\newcommand\Proj{\TT{Proj}} -\newcommand\Property{\TT{Property}} -\newcommand\Snd{\TT{Snd}} -\newcommand\Src{\TT{Src}} -\newcommand\Unquote{\TT{Unq}} -\newcommand\T{\TT{T}} - -\newcommand\GP[1]{\TT{<#1>}} - -\newcommand\Set{\textsf{Set}} -\newcommand\Prop{\textsf{Prop}} -\newcommand\MainConclusion{\textsf{MainConclusion}} -\newcommand\MainHypothesis{\textsf{MainHypothesis}} -\newcommand\occurrence{\textsf{occurrence}} -\newcommand\refObj{\textsf{refObj}} diff --git a/helm/mathql/doc/mathql_operational.tex b/helm/mathql/doc/mathql_operational.tex deleted file mode 100644 index a7b3a9a49..000000000 --- a/helm/mathql/doc/mathql_operational.tex +++ /dev/null @@ -1,14 +0,0 @@ -\section {Operational Semantics} \label {Operational} - -This section describes {\MathQL} semantics, that we present in a natural -operational style \cite{Lan98,Win93}. -Here we use a simple type system that includes basic types such as strings and -Booleans, and some type constructors such as product and exponentiation. -$ y \oft Y $ will denote a typing judgement. -This semantics is not meant as a formal system \emph{per se}, but should be a -reference for implementors. - -\input{mathql_operational_background} -\input{mathql_operational_core} -\input{mathql_operational_basic} - diff --git a/helm/mathql/doc/mathql_operational_background.tex b/helm/mathql/doc/mathql_operational_background.tex deleted file mode 100644 index ad0be5122..000000000 --- a/helm/mathql/doc/mathql_operational_background.tex +++ /dev/null @@ -1,147 +0,0 @@ -\subsection {Mathematical background} - -As background for the semantics, we revise the one presented in -\cite{Gui03,GS03}. - -{\Str} denotes the type of strings and its elements are the finite sequences -of Unicode \cite{Unicode} characters. -Grammatical productions denote the subtype of {\Str} containing the produced -sequences of characters. - -{\Num} denotes the type of numbers and is the subtype of {\Str} defined by -\GP{num}. In this type, numbers are represented by their decimal expansion. - -$ \Setof\ Y $ denotes the type of finite sets ({\ie} unordered finite -sequences without repetitions) over $ Y $ and -$ \Listof\ Y $ denotes the type of lists ({\ie} ordered finite sequences) -over $ Y $. -We will use the notation $ [y_1, \cdots, y_m] $ for the list whose elements -are $ y_1, \cdots, y_m $ ($ \{y_1, \cdots, y_m\} $ will denote a set as -usual). - -{\Boole}, the type of Boolean values, is defined as the set -$ \{\ES, \{("", \ES)\}\} $ of type $ \Setof\ \Setof\ (\Str \times \Setof\ Y) $ -where the first element stands for \emph{false} (denoted by {\F}) and the -second element stands for \emph{true} (denoted by {\T}).% -\footnote{This definition allows to treat a Boolean value as an {\av} set.} - -$ Y \times Z $ denotes the product of the types $ Y $ and $ Z $ whose elements -are the ordered pairs $ (y, z) $ such that $ y \oft Y $ and $ z \oft Z $. -The notation is also extended to a ternary product. -$ Y \to Z $ denotes the type of functions from $ Y $ to $ Z $ and $ f\ y $ -denotes the application of $ f \oft Y \to Z $ to $ y \oft Y $. -Relations over types, such as equality, are seen as functions to {\Boole}. - -With the above constructors we can give a formal meaning to most of the -standard notation. For instance we will use the following: - -\begin{itemize} - -\item -$ {\ES} \oft (\Setof\ Y) $ - -\item -$ {\lex} \oft ((\Setof\ Y) \to \Boole) \to \Boole $ - -\item -$ {\lall} \oft ((\Setof\ Y) \to \Boole) \to \Boole $ - -\item -$ {\in} \oft Y \to (\Setof\ Y) \to \Boole $ (infix) - -\item -$ {\sub} \oft (\Setof\ Y) \to (\Setof\ Y) \to \Boole $ (infix) - -\item -$ {\meet} \oft (\Setof\ Y) \to (\Setof\ Y) \to \Boole $ (infix) - -\item -$ {\sand} \oft (\Setof\ Y) \to (\Setof\ Y) \to (\Setof\ Y) $ (infix) - -\item -$ {\sor} \oft (\Setof\ Y) \to (\Setof\ Y) \to (\Setof\ Y) $ (infix) - -\item -$ {\sdor} \oft (\Setof\ Y) \to (\Setof\ Y) \to (\Setof\ Y) $ -(the disjoint union, infix) - -\item -$ \le \oft \Num \to \Num \to \Boole $ (infix) - -\item -$ < \oft \Num \to \Num \to \Boole $ (infix) - -\item -$ \# \oft (\Setof\ Y) \to \Num $ (the size operator) - -\item -$ \app \oft (\Listof\ Y) \to (\Listof\ Y) \to (\Listof\ Y) $ -(the concatenation, infix) - -\item -$ \lnot \oft \Boole \to \Boole $ - -\end{itemize} - -\noindent -Note that $ \lall $ and $ \lex $ are always decidable because the sets are -finite by definition. - -\noindent -$ U \meet W $ means $ (\lex u \in U)\ u \in W $ and expresses the fact that -$ U \sand W $ is inhabited as a primitive notion, {\ie} without mentioning -intersection and equality as for $ U \sand W \neq \ES $, which is equivalent -but may be implemented less efficiently in real cases% -\footnote{As for the Boolean condition $ \fa \lor \fb $ which may have a more -efficient implementation than $ \lnot(\lnot \fa \land \lnot \fb) $.}. -$ U \meet W $ is a natural companion of $ U \sub W $ being its logical dual -(recall that $ U \sub W $ means $ (\lall u \in U)\ u \in W $) -and is already being used successfully in the context of a constructive -({\ie} intuitionistic and predicative) approach to point-free topology -\cite{Sam00}. - -Sets of couples play a central role in our presentation and we will use: - -\begin{itemize} - -\item -$ \Fst \oft (Y \times Z) \to Y $ such that $ \Fst\ (y, z) = y $. - -\item -$ \Snd \oft (Y \times Z) \to Z $ such that $ \Snd\ (y, z) = z $. - -\item -$ \Fsts \oft \Setof\ (Y \times Z) \to \Setof\ Z $ such that -$ \Fsts\ U = \{\Fst\ u \st u \in U\} $. - -\item -With the same notation, if $ W $ contains just one couple whose first -component is $ y $, then $ \get{W}{y} $ is the second component of that couple. -In the other cases $ \get{W}{y} $ is not defined. -This operator has type $ (\Setof\ (Y \times Z)) \to Y \to Z $. - -\item -Moreover $ \set{W}{y}{z} $ is the set obtained from $ W $ removing every -couple whose first component is $ y $ and adding the couple $ (y, z) $. -The type of this operator is -$ (\Setof\ (Y \times Z)) \to Y \to Z \to (\Setof\ (Y \times Z)) $. - -\item -Also $ U + W $ is the union of two sets of couples in the following sense: - -\begin{footnotesize} -\begin{center} \begin{tabular}{rll} -% -$ U + \ES $ & rewrites to & $ U $ \\ -$ U + (W \sdor \{(y, z)\}) $ & rewrites to & $ \set{U}{y}{z} + W $ -% -\end{tabular} \end{center} -\end{footnotesize} - -\end{itemize} - -The last three operators are used to read, write and join association sets, -which are sets of couples such that the first components of two different -elements are always different. -These sets will be exploited to formalize the memories appearing in evaluation -contexts. diff --git a/helm/mathql/doc/mathql_operational_basic.tex b/helm/mathql/doc/mathql_operational_basic.tex deleted file mode 100644 index cc309f732..000000000 --- a/helm/mathql/doc/mathql_operational_basic.tex +++ /dev/null @@ -1,298 +0,0 @@ -\subsection {The basic library} - -In this section we present the functions provided by the {\MathQL}.4 basic -library. Describing the whole library would require an amount of space that -goes beyond the limits of this paper so we include here just a selection of -the available functions (the ones for which we gave the syntax extension in -\secref{Textual}). - -The function below are grouped by their arity. - -\begin{itemize} - -\item -\textbf{The predefined {\av} sets.} -The functions \TT{/"empty"}, \TT{/"false"} and \newline \TT{/"true"} take no -path arguments and no set arguments. - -\begin{footnotesize} -\begin{center} -% -\irule{\Nop}{}{\Fun\ \TT{/"empty"}\ [\,]\ [\,]\ \G \equiv \F} \spc -\irule{\Nop}{}{\Fun\ \TT{/"false"}\ [\,]\ [\,]\ \G \equiv \F} -\end{center} -\begin{center} -% -\irule{\Nop}{}{\Fun\ \TT{/"true"}\ [\,]\ [\,]\ \G \equiv \T} -% -\end{center} -\end{footnotesize} - -Moreover ``\TT{empty}'' rewrites to ``\verb+fun /"empty" {} {}+'', -``\TT{false}'' rewrites to ``\verb+fun /"false" {} {}+'' and -``\TT{true}'' rewrites to ``\verb+fun /"true" {} {}+''. - -\item -\textbf{Boolean negation and size.} -The functions \TT{/"not"} and \TT{/"count"} take no path arguments and one set -argument. -Here Rule 1 overrides rule 2. - -\begin{footnotesize} -\begin{center} -% -\irule{(\G, x) \daq \F}{1}{\Fun\ \TT{/"not"}\ [\,]\ [x]\ \G \equiv \T} \spc -\irule{(\G, x) \daq S}{2}{\Fun\ \TT{/"not"}\ [\,]\ [x]\ \G \equiv \F} -\end{center} -\begin{center} -% -\irule{(\G, x) \daq S}{}{\Fun\ \TT{/"count"}\ [\,]\ [x]\ \G \equiv \#\ S} -% -\end{center} -\end{footnotesize} - -Moreover ``\TT{not} x'' rewrites to ``\verb+fun /"not" {} {+x\verb+}+'' -and ``\TT{count} x'' rewrites to ``\verb+fun /"count" {} {+x\verb+}+''. - -\item -\textbf{Boolean xor, set-theoretic and numerical tests, difference.} -\TT{/"xor"}, \TT{/"sub"}, \TT{/"meet"}, \TT{/"eq"}, \TT{/"le"}, \TT{/"lt"} and -\TT{/"diff"} take no path arguments and two set arguments. -The rule with the lowest number is applied first. - -\begin{footnotesize} -\begin{center} -% -\irule{(\G, x_1) \daq \F \spc (\G, x_2) \daq \F}{1} - {\Fun\ \TT{/"xor"}\ [\,]\ [x_1, x_2]\ \G \equiv \T} \spc -\irule{(\G, x_1) \daq S_1 \spc (\G, x_2) \daq \F}{2} - {\Fun\ \TT{/"xor"}\ [\,]\ [x_1, x_2]\ \G \equiv S_1} -% -\end{center} -\begin{center} -% -\irule{(\G, x_1) \daq \F \spc (\G, x_2) \daq S_2}{3} - {\Fun\ \TT{/"xor"}\ [\,]\ [x_1, x_2]\ \G \equiv S_2} \spc -\irule{(\G, x_1) \daq S_1 \spc (\G, x_2) \daq S_2}{4} - {\Fun\ \TT{/"xor"}\ [\,]\ [x_1, x_2]\ \G \equiv \F} -% -\end{center} -\begin{center} -% -\irule{(\G, x_1) \daq S_1 \spc (\G, x_2) \daq S_2}{} - {\Fun\ \TT{/"sub"}\ [\,]\ [x_1, x_2]\ \G \equiv (\Fsts\ S_1 \sub \Fsts\ S_2)} -% -\end{center} -\begin{center} -% -\irule{(\G, x_1) \daq S_1 \spc (\G, x_2) \daq S_2}{} - {\Fun\ \TT{/"meet"}\ [\,]\ [x_1, x_2]\ \G \equiv (\Fsts\ S_1 \meet \Fsts\ S_2)} -% -\end{center} -\begin{center} -% -\irule{(\G, x_1) \daq S_1 \spc (\G, x_2) \daq S_2}{} - {\Fun\ \TT{/"eq"}\ [\,]\ [x_1, x_2]\ \G \equiv (\Fsts\ S_1 = \Fsts\ S_2)} -% -\end{center} -\begin{center} -% -\irule{(\G, x_1) \daq \{(r_1, A_1)\} \spc (\G, x_2) \daq \{(r_2, A_2)\}}{} - {\Fun\ \TT{/"le"}\ [\,]\ [x_1, x_2]\ \G \equiv (r_1 \le r_2)} -% -\end{center} -\begin{center} -% -\irule{(\G, x_1) \daq \{(r_1, A_1)\} \spc (\G, x_2) \daq \{(r_2, A_2)\}}{} - {\Fun\ \TT{/"lt"}\ [\,]\ [x_1, x_2]\ \G \equiv (r_1 < r_2)} -% -\end{center} -\begin{center} -% -\irule{(\G, x_1) \daq S_1 \spc (\G, x_2) \daq S_2}{} - {\Fun\ \TT{/"eq"}\ [\,]\ [x_1, x_2]\ \G \equiv (S_1 \sdiff S_2)} -% -\end{center} -\end{footnotesize} - -where $\sdiff$ is a helper function two rewrite rules: - -\begin{footnotesize} -\begin{center} \begin{tabular}{lrll} -5 & -$ (S_1 \sdor \{(r, A_1)\}) \sdiff (S_2 \sdor \{(r, A_2)\}) $ & rewrites to & -$ S_1 \sdiff S_2 $ \\ -6 & $ S_1 \sdiff S_2 $ & rewrites to & $ S_1 $ -% -\end{tabular} \end{center} -\end{footnotesize} - -``x \TT{xor} y'' rewrites to ``\verb+fun /"xor" {} {+x\TT{,}y\verb+}+'', -``x \TT{sub} y'' rewrites to \newline ``\verb+fun /"sub" {} {+x\TT{,}y\verb+}+'', -``x \TT{meet} y'' rewrites to ``\verb+fun /"meet" {} {+x\TT{,}y\verb+}+'', -``x \TT{eq} y'' rewrites to ``\verb+fun /"eq" {} {+x\TT{,}y\verb+}+'', -``x \TT{le} y'' rewrites to \newline ``\verb+fun /"le" {} {+x\TT{,}y\verb+}+'', -``x \TT{lt} y'' rewrites to ``\verb+fun /"lt" {} {+x\TT{,}y\verb+}+'' and -``x \TT{diff} y'' rewrites to ``\verb+fun /"diff" {} {+x\TT{,}y\verb+}+'' - -\item -\textbf{Conditional operator and standard \emph{select} clause}. -\TT{/"if"} takes no path arguments and three set arguments. -The usual rule overriding policy applies. - -\begin{footnotesize} -\begin{center} -% -\irule{(\G, x_1) \daq \F \spc (\G, x_3) \daq S_3}{1} - {\Fun\ \TT{/"if"}\ [\,]\ [x_1, x_2, x_2]\ \G \equiv S_3} \spc -\irule{(\G, x_1) \daq S_1 \spc (\G, x_2) \daq S_2}{2} - {\Fun\ \TT{/"if"}\ [\,]\ [x_1, x_2, x_2]\ \G \equiv S_2} -% -\end{center} -\end{footnotesize} - -``\TT{if} x \TT{then} y \TT{else} z'' rewrites to -``\verb+fun /"if" {} {+x\TT{,}y\TT{,}z\verb+}+'' and -``\TT{select} i \TT{from} x \TT{where} y'' rewrites to -``\TT{for} i \TT{in} x \TT{sup} \TT{if} y \TT{then} i \TT{else} \TT{empty}''. - -\item -\textbf{Intersection without attribute distribution.} -\TT{/"intersect"} takes no path arguments and any positive number of set -arguments. - -\begin{footnotesize} -\begin{center} -% -\irule{(\G, x_1) \daq S_1 \spc \cdots \spc (\G, x_m) \daq S_m}{} - {\Fun\ \TT{/"intersect"}\ [\,]\ [x_1, \cdots, x_m]\ \G \equiv - (S_1 \sprod \cdots \sprod S_m)} -% -\end{center} -\end{footnotesize} - -As usual -``x \TT{intersect} y'' rewrites to ``\verb+fun /"intersect" {} {+x\TT{,}y\verb+}+''. - -\item -\textbf{Union without attribute distribution, Boolean conjunction and -disjunction.} -\TT{/"union"}, \TT{/"and"} and \TT{/"or"} take no path arguments and any -number of set arguments. -The usual rule overriding policy applies. - -\begin{footnotesize} -\begin{center} -% -\irule{\Nop}{}{\Fun\ \TT{/"union"}\ [\,]\ [\,]\ \G \equiv \F} \spc -\irule{(\G, x_1) \daq S_1 \spc \cdots \spc (\G, x_m) \daq S_m}{} - {\Fun\ \TT{/"union"}\ [\,]\ [x_1, \cdots, x_m]\ \G \equiv - (S_1 \ssum \cdots \ssum S_m)} -% -\end{center} -\begin{center} -% -\irule{\Nop}{}{\Fun\ \TT{/"and"}\ [\,]\ [\,]\ \G \equiv \T} \spc -\irule{\Nop}{}{\Fun\ \TT{/"or"}\ [\,]\ [\,]\ \G \equiv \F} -% -\end{center} -\begin{center} -% -\irule{\Fun\ \TT{/"and"}\ [\,]\ l\ \G \equiv \F}{1} - {\Fun\ \TT{/"and"}\ [\,]\ (l \app [x])\ \G \equiv \F} \spc -\irule{\Fun\ \TT{/"or"}\ [\,]\ l\ \G \equiv \F \spc (\G, x) \daq S}{3} - {\Fun\ \TT{/"or"}\ [\,]\ (l \app [x])\ \G \equiv S} -% -\end{center} -\begin{center} -% -\irule{\Fun\ \TT{/"and"}\ [\,]\ l\ \G \equiv S_l \spc (\G, x) \daq S}{2} - {\Fun\ \TT{/"and"}\ [\,]\ (l \app [x])\ \G \equiv S} \spc -\irule{\Fun\ \TT{/"or"}\ [\,]\ l\ \G \equiv S_l}{4} - {\Fun\ \TT{/"or"}\ [\,]\ (l \app [x])\ \G \equiv S_l} -\end{center} -\end{footnotesize} - -``x \TT{and} y'' rewrites to ``\verb+fun /"and" {} {+x\TT{,}y\verb+}+'', -``x \TT{or} y'' rewrites to \newline ``\verb+fun /"or" {} {+x\TT{,}y\verb+}+'', -``x \TT{union} y'' rewrites to \kern-1.1pt ``\verb+fun /"union" {} {+x\TT{,}y\verb+}+'' -and ``\verb+{+x$_1$\TT{,}$\cdots$\TT{,}x$_m$\verb+}+'' rewrites to -``\verb+fun /"union" {} {+x$_1$\TT{,}$\cdots$\TT{,}x$_m$\verb+}+''. - -\item -\textbf{Projection.} -\TT{/"proj"} takes one path argument and one set argument. - -\begin{footnotesize} -\begin{center} -% -\irule {p \oft \TT{} \spc - (\G, x) \daq \{ (r_1, A_1), \cdots, (r_m, A_m) \}}{} - {\Fun\ \TT{/"proj"}\ [p]\ [x]\ \G \equiv - \Head\ (\Proj\ (\Name\ p)\ A_1 \sor \cdots \sor \Proj\ (\Name\ p)\ A_m)} -% -\end{center} -\begin{center} \begin{tabular}{rll} -% -$ \Proj\ p\ \{G_1, \cdots, G_n\} $ & rewrites to & -$ \get{G_1}{p} \sor \cdots \sor \get{G_n}{p} $ \\ -$ \Head\ \{s_1, \cdots, s_k\} $ & rewrites to & $ \{ (s_1, \ES), \cdots, (s_k, \ES) \} $ -\end{tabular} \end{center} -\end{footnotesize} - -where, for each $ 1 \le j \le n $, $ \get{G_j}{p} $ is $ \ES $ if $ p $ is not -defined in $ G_j $. - -Moreover -``\TT{proj} p \TT{of} x'' rewrites to ``\verb+fun /"proj" {+p\verb+} {+x\verb+}+''. - -\item -\textbf{Refinement.} -The functions \TT{/"keep"/"these"} and \TT{/"keep"/"allbut"} take any number -of path arguments and one set argument. -In the following rules if $ l $ is $ [p_1, \cdots, p_m] $ then -$ W $ is $ \{\Name\ p_1, \cdots, \Name\ p_m\} $ Moreover {\Keep} and $\Keep\p$ -are helper functions and the usual rule overriding policy applies. - -\begin{footnotesize} -\begin{center} -% -\irule{l \oft \Listof\ \TT{} \spc (\G, x) \daq S}{} - {\Fun\ \TT{/"keep"/"these"}\ l\ [x]\ \G \equiv - \{ (r, \bigsor \{ \Keep\ \T\ W\ G \st G \in A \}) \st (r, A) \in S \}} -% -\end{center} -\begin{center} -% -\irule{l \oft \Listof\ \TT{} \spc (\G, x) \daq S}{} - {\Fun\ \TT{/"keep"/"allbut"}\ l\ [x]\ \G \equiv - \{ (r, \bigsor \{ \Keep\ \F\ W\ G \st G \in A \}) \st (r, A) \in S \}} -% -\end{center} -\begin{center} -% -\irule{\Keep\p\ b\ W\ G\ \RM{rewrites to}\ \ES}{1} -{\Keep\ b\ W\ G\ \RM{rewrites to}\ \ES} \spc -\irule{\Keep\p\ b\ W\ G\ \RM{rewrites to}\ G\p}{2} -{\Keep\ b\ W\ G\ \RM{rewrites to}\ \{G\p\}} -% -\end{center} -\begin{center} \begin{tabular}{rll} -% -$ \Keep\p\ \T\ W\ G $ & rewrites to & $ \{ (p, V) \in G \st p \in W \} $ \\ -$ \Keep\p\ \F\ W\ G $ & rewrites to & $ \{ (p, V) \in G \st p \notin W \} $ -% -\end{tabular} \end{center} -\end{footnotesize} - -``\TT{keep} p$_1$\TT{,}$\cdots$\TT{,}p$_m$ \TT{in} x'' rewrites to -``\TT{fun /"keep"/"these"} \verb+{+p$_1$\TT{,}$\cdots$\TT{,}p$_m$\verb+}+ \verb+{+x\verb+}+'', -``\TT{keep} x'' rewrites to ``\TT{fun /"keep"/"these"} \verb+{}+ \verb+{+x\verb+}+'', -``\TT{keep allbut} p$_1$\TT{,}$\cdots$\TT{,}p$_m$ \TT{in} x'' rewrites to -``\TT{fun /"keep"/"allbut"} \verb+{+p$_1$\TT{,}$\cdots$\TT{,}p$_m$\verb+}+ \verb+{+x\verb+}+'' -and -``\TT{keep allbut} x'' rewrites to ``\TT{fun /"keep"/"allbut"} \verb+{}+ \verb+{+x\verb+}+''. - -Note that ``\TT{keep allbut} x'' gives the same result as ``x'' does. - -\end{itemize} diff --git a/helm/mathql/doc/mathql_operational_core.tex b/helm/mathql/doc/mathql_operational_core.tex deleted file mode 100644 index e096879bb..000000000 --- a/helm/mathql/doc/mathql_operational_core.tex +++ /dev/null @@ -1,547 +0,0 @@ -\subsection {The core language} \label{OCore} - -\subsubsection*{Preliminaries} - -With the above background we are able to type the main objects needed in the -formalization: - -\begin{itemize} - -\item -A path $ p $ is a list of strings therefore its type is -$ T_{0a} = \Listof\ \Str $. - -\item -The attribute contents $ V $ are an object of type $ T_{0b} = \Setof\ \Str $. - -\item -An attribute group $ G $ is an association set connecting the attribute names -to their contents, therefore its type is -$ T_1 = \Setof\ (T_{0a} \times T_{0b}) $. - -\item -A head string $ r $ is an object of type $ \Str $. - -\item -A set $ A $ of attribute groups is an object of type $ T_2 = \Setof\ T_1 $. - -\item -An {\av}, {\ie} a head string with its attribute groups, has type -$ T_3 = \Str \times T_2 $. - -\item -A set $ S $ of {\av}'s is an association set of type $ T_4 = \Setof\ T_3 $. - -\item -A triple of an attributed relation is of type -$ T_5 = \Str \times \Str \times (T_{0a} \to \Str) $. - -\end{itemize} - -When a constant string appearing in a {\MathQL} expression is unquoted, the -surrounding double quotes are deleted and each escaped sequence is translated -according to \figref{EscTS}. -This operation is formally performed by the function -$ \Unquote $ of type $ \Str \to \Str $. -Moreover $ \Name \oft \GP{path} \to T_{0a} $ is a helper function that -converts a linearized path in its structured representation. -Formally $ \Name\ (\TT{/}q_1\TT{/} \cdots \TT{/}q_m) $ -rewrites to $ [\Unquote\ q_1, \cdots, \Unquote\ q_m] $. - -The semantics of {\MathQL} expressions denoting queries is given by the infix -relation $ \daq $ that evaluates a query to an {\av} set. -These expressions are evaluated in a context $ \G = \g $ -which is a triple of association sets that connect -set variables to {\av} sets, element variables to {\av}'s and element -variables to attribute groups. -Therefore the type $ K $ of the context $ \G $ is: - -\begin{footnotesize} \begin{center} -$ -\Setof\ (\GP{svar} \times T_4) \times -\Setof\ (\GP{evar} \times T_3) \times % $ \\ $ \times\ -\Setof\ (\GP{evar} \times T_1) -$ -\end{center} \end{footnotesize} - -\noindent -and the evaluating relation is of the following type: - -\begin{footnotesize} -\begin{center} \begin{tabular}{l} -$ \mathord{\daq} \oft (K \times \GP{query}) \times (K \times T_4) \to \Boole $. -\end{tabular} \end{center} -\end{footnotesize} - -The context components $ \G_s $ and $ \G_e $ are used to store the contents of -variables, while $ \G_g $ is used by the \TT{ex} operator to be presented -below. - -In the following we will write $ (\G, x) \daq S $ to abbreviate -$ (\G, x) \daq (\G, S) $. - -The semantics of {\MathQL} expressions denoting results is given by the infix -relation $ \dar \oft \GP{avs} \times T_4 \to \Boole $ that evaluates a result -to an {\av} set. - -\subsubsection*{Queries} - -The first group of \GP{query} expressions include the representation of -explicit {\av} sets and the syntactic grouping facility: - -\begin{itemize} - -\item -The syntactic grouping is obtained enclosing a \GP{query} between \TT{(} -and \TT{)}. -An explicit {\av} set can be represented either by a single string, which is -converted into a single {\av} with no attributes, or by a \GP{xavs} -(extended {\av} set) expression enclosed between \TT{[} and \TT{]}. -Such an expression describes all the components of an {\av} set and is -evaluated using the rules given below. - -\begin{footnotesize} -\begin{center} -% -\irule{(\G, x) \daq S}{}{(\G, (x)) \daq S} \spc -\irule{q \oft \GP{string}}{}{(\G, q) \daq \{(\Unquote\ q, \ES)\}} -% -\end{center} -\begin{center} -% -\irule{x_1, \cdots, x_m \in \GP{xav} \spc - (\G, \TT{[} x_1 \TT{]}) \daq S_1 \spc \cdots \spc (\G, \TT{[} x_m \TT{]}) \daq S_m}{} - {(\G, \TT{[} x_1 \TT{;} \cdots \TT{;} x_m \TT{]}) \daq S_1 \ssum \cdots \ssum S_m} -% -\end{center} -\begin{center} -% -\irule{q \in \GP{string} \spc g_1, \cdots, g_m \in \GP{xgroup} \icr - (\G, \TT{[} q\ \TT{attr}\ g_1 \TT{]}) \daq S_1 \spc \cdots \spc - (\G, \TT{[} q\ \TT{attr}\ g_m \TT{]}) \daq S_m}{} - {(\G, \TT{[} q\ \TT{attr}\ g_1 \TT{,} \cdots \TT{,} g_m \TT{]}) \daq S_1 \ssum \cdots \ssum S_m} -% -\end{center} -\begin{center} -% -\irule{q \in \GP{string} \spc a_1, \cdots, a_m \in \GP{xatr} \icr - (\G, \TT{[} q\ \TT{attr}\ \{ a_1 \} \TT{]}) \daq S_1 \spc \cdots \spc - (\G, \TT{[} q\ \TT{attr}\ \{ a_m \} \TT{]}) \daq S_m}{} - {(\G, \TT{[} q\ \TT{attr}\ \{ a_1 \TT{;} \cdots \TT{;} a_m \} \TT{]}) \daq S_1 \dsum \cdots \dsum S_m} -% -\end{center} -\begin{center} -% -\irule{q \in \GP{string} \spc p \in \GP{path} \spc x \daq S}{} - {(\G, \TT{[} q\ \TT{attr}\ \{ p = x \} \TT{]}) \daq - \{(\Unquote\ q, \{ \{ (\Name\ p, \Fsts\ S) \} \})\}} -% -\end{center} -\end{footnotesize} - -$ \dsum $ and $ \ssum $ are helper functions describing the two union -operations on {\av} sets: with and without attribute distribution respectively. - -\begin{footnotesize} -\begin{center} \begin{tabular}{lrll} -% -1a & -$ (S_1 \sdor \{(r, A_1)\}) \ssum (S_2 \sdor \{(r, A_2)\}) $ & rewrites to & -$ (S_1 \ssum S_2) \sor \{(r, A_1 \sor A_2)\} $ \\ -1b & $ S_1 \ssum S_2 $ & rewrites to & $ S_1 \sor S_2 $ \\ -2a & -$ (S_1 \sdor \{(r, A_1)\}) \dsum (S_2 \sdor \{(r, A_2)\}) $ & rewrites to & -$ (S_1 \dsum S_2) \sor \{(r, A_1 \distr A_2)\} $ \\ -2b & $ S_1 \dsum S_2 $ & rewrites to & $ S_1 \sor S_2 $ -% -\end{tabular} \end{center} -\end{footnotesize} - -Rules 1a, 2a override 1b, 2b and -$ A_1 \distr A_2 = \{G_1 \ssum G_2 \st G_1 \in A_1, G_2 \in A_2\} $. - -\item -The semantics of the \TT{property} operator is described below. - -In the following rule, -$s$ is ``$ \TT{property}\ h\ p_1\ \TT{main}\ p_2\ \TT{attr}\ e_1, \cdots, -e_m\ \TT{in}\ k\ x $'', $P$ is $ \Property\ h $ and -$A_2$ is $ \{ \Exp\ P\ p_1\ r_1\ \{e_1, \cdots, e_m\}\} $: - -\begin{footnotesize} -\begin{center} -% -\irule -{h \oft \GP{ref} \spc p_1, p_2 \oft \GP{path} \spc - e_1, \cdots, e_m \oft \GP{exp} \spc k \in \TT{["pattern"]?} \spc - (\G, x) \daq S -}{A} -{(\G, s) \daq \bigsum \{ \{(r_2, A_2)\} \st -(\lex r_1 \in \Src\ k\ P\ (\Fsts\ S))\ -(r_1, p_1 \app p_2, r_2) \in P -\}} -% -\end{center} -\end{footnotesize} - -When the \TT{main} clause is not present, we assume $ p_2 = \TT{/} $. - -Here $ \Property\ h $ gives the appropriate access relation according to -the $ h $ flag (this is the primitive function that inspects the {\RDF} -graph). - -$ \Src\ k\ P\ V $ is a helper function giving the source set -according to the $ k $ flag. $ \Src $ is based on $ \Match $, the helper -function handling {\POSIX} regular expressions. -Here $ \Pattern\ W\ s $ is the primitive function returning the subset of -$ W \oft \Setof\ \Str $ whose element match the {\POSIX} 1003.2-1992% -\footnote{In {\POSIX} 1003.1-2001: -\CURI{http://www.unix-systems.org/version3/ieee\_\,std.html}.} -regular expression $ \verb+"^"+ \app s \app \TT{"\$"} $. - -\begin{footnotesize} -\begin{center} \begin{tabular}{rll} -% -$ \Src\ \TT{""}\ P\ V $ & rewrites to & $ V $ \\ -$ \Src\ \TT{"pattern"}\ P\ V $ & rewrites to & -$ \Match\ \{r_1 \st (\lex p, r2)\ (r_1, p, r_2) \in P\} $\ V \\ -$ \Match\ W\ V $ & rewrites to & $ \bigsor \{\Pattern\ W\ s \st s \in V\} $ -% -\end{tabular} \end{center} -\end{footnotesize} - -$ \Exp\ P\ p_1\ r_1\ E $ is the helper function that builds the group of -attributes specified in the \TT{attr} clause. -$ \Exp $ is based on $ \Exp\p $ which handles a single attribute. Formally, -if $ p, p\p \oft \GP{path} $ and $ E \oft \Setof\ \GP{exp} $: - -\begin{footnotesize} -\begin{center} \begin{tabular}{rll} -% -$ f\ P\ r_1\ p_1\ p $ & rewrites to & -$ \{ r_2 \st (r_1, p_1 \app (\Name\ p), r_2) \in P \} $ \\ -$ \Exp\p\ P\ r_1\ p_1\ p $ & rewrites to & -$ \{ (\Name\ p, f\ P\ r_1\ p_1\ p) \} $ \\ -$ \Exp\p\ P\ r_1\ p_1\ (p\ \TT{as}\ p\p) $ & rewrites to & -$ \{ (\Name\ p\p, f\ P\ r_1\ p_1\ p) \} $ \\ -$ \Exp\ P\ r_1\ p_1\ E $ & rewrites to & -$ \bigsum \{ \Exp\p\ P\ r_1\ p_1\ e \st e \in E \} $ \\ -\end{tabular} \end{center} -\end{footnotesize} - -When $ c_1, \cdots, c_n \oft \GP{cons} $ and the clause -``\TT{istrue} $ c_1, \cdots, c_n $'' is present, the set $ P $ must be replaced -with $ \{ (r_1, p, r_2) \in P \st \Istrue\ P\ r_1\ p_1\ C \} $ -where $ C $ is $ \{c_1, \cdots, c_n\} $ and $ \Istrue $ is a helper function -that checks the constraints in $ C $. -$ \Istrue $ is based on $ \Istrue\p $ that handles a single constraint. -Formally, if $ p \oft \GP{path} $ and $ (\G, x) \daq S $: - -\begin{footnotesize} -\begin{center} \begin{tabular}{rll} -% -$ g\ P\ p_1\ p $ & rewrites to & -$ \{ r_2 \st (\lex r_1)\ (r_1, p_1 \app (\Name\ p), r_2) \in P \} $ \\ -$ \Istrue\p\ P\ r_1\ p_1\ (p\ \TT{in}\ x) $ & rewrites to & -$ (f\ P\ r_1\ p_1\ p) \meet \Fsts\ S $ \\ -$ \Istrue\p\ P\ r_1\ p_1\ (p\ \TT{match}\ x) $ & rewrites to & -$ (f\ P\ r_1\ p_1\ p) \meet \Match\ (g\ P\ p_1\ p)\ (\Fsts\ S) $ \\ -$ \Istrue\ P\ r_1\ p_1\ C $ & rewrites to & -$ (\lall c \in W)\ \Istrue\p\ P\ r_1\ p_1\ c $ -% -\end{tabular} \end{center} -\end{footnotesize} - -For each clause ``\TT{isfalse} $ c_1, \cdots, c_n $'' the set $ P $ -must be replaced with \newline -$ \{ (r_1, p, r_2) \in P \st \lnot (\Istrue\ P\ r_1\ p_1\ C) \} $ -(using the above notation). -Note that these substitutions and the former must be composed if necessary. - -If the \TT{inverse} flag is present, also replace the instances of $ P $ in -the rule $A$ and in the definition of $ \Src $ with -$ \{ (r_2, p, r_1) \st (r_1, p, r_2) \in P \} $. - -\end{itemize} - -The second group of \GP{query} expressions allows the context manipulation: - -\begin{itemize} - -\item -The operators for reading variables: - -\begin{footnotesize} \begin{center} -% -\irule{i \oft \GP{svar}}{}{(\g, i) \daq \get{\G_s}{i}} \spc -\irule{i \oft \GP{evar}}{}{(\g, i) \daq \{\get{\G_e}{i}\}} -% -\end{center} \end{footnotesize} - -$ \get{\G_s}{i} $ and $ \{\get{\G_e}{i}\} $ mean $ \ES $ if $ i $ is not defined. - -\item -The \TT{let} operator assigns a set variable (\GP{svar}): - -\begin{footnotesize} -\begin{center} -% -\irule{i \oft \GP{svar} \spc (\G_1, x_1) \daq (\g, S_1) \spc - ((\set{\G_s}{i}{S_1}, \G_e, \G_g), x_2) \daq (\G_2, S_2)} -{}{(\G_1, \TT{let}\ i\ \TT{=}\ x_1\ \TT{in}\ x_2) \daq (\G_2, S_2)} -% -\end{center} -\end{footnotesize} - -The sequential composition operator \TT{;;} has the semantics of a \TT{let} -introducing a fresh variable, so ``$ x_1\ \TT{;;}\ x_2 $'' rewrites -to ``$ \TT{let}\ i\ \TT{=}\ x_1\ \TT{in}\ x_2 $'' where $i$ does not occur in -$x_2$. - -\item -The \TT{ex} and ``dot'' operators provide a way to read the attributes stored -in element variables. -The \TT{ex} (exists) operator gives access to the groups of attributes -associated to the {\av}'s in the $ \G_e $ part of the context and does -this by loading its $ \G_g $ part, which is used by the ``dot'' operator -described below. - -\TT{ex} is true if the query following it is successful for at least one -pool of attribute groups, one for each {\av} in the $ \G_e $ part of the -context. Formally we have the rules: - -\begin{footnotesize} -\begin{center} -% -\irule{(\lall \D_g \in \All\ \G_e)\ ((\G_s, \G_e, \G_g + \D_g), y) \daq \F} - {1}{(\G, \TT{ex}\ y) \daq \F} \spc -\irule{\Nop}{2}{(\G, \TT{ex}\ y) \daq \T} \spc -% -\end{center} -\begin{center} -% -\irule {i \oft \GP{evar} \spc p \oft \GP{path} \spc \get{\get{\G_g}{i}}{\Name\ p} = \{s_1, \cdots, s_m\}}{} - {(\G, i\TT{.}p) \daq \{(s_1, \ES), \cdots, (s_m, \ES)\}} -% -\end{center} -\end{footnotesize} - -where% -\footnote{$\D_g$ has the type of $ \G_g $.} -$ \All\ \G_e = \{\D_g \st \get{\D_g}{i} = G\ \RM{iff}\ G \in \Snd\ \get{\G_e}{i} \} $, -and $ \G = \g $. - -Moreover $ \get{\get{\G_g}{i}}{\Name\ p} $ means $ \ES $ -if $ i $ or $ \Name\ p $ are not defined where appropriate. -Here the first rule has higher precedence than the second one does. - -\end{itemize} - -The third group of \GP{query} expressions allows the {\av} set manipulation: - -\begin{itemize} - -\item -The \TT{add} operator adds a given set of attribute groups to the {\av}'s -of an {\av} set using a union with or without attribute distribution -according to the setting of the \TT{distr} flag. - -\begin{footnotesize} -\begin{center} -% -\irule -{h \in \TT{["distr"]?} \spc a \in \GP{xgroups} \icr - (\G, \TT{[} ""\ \TT{attr}\ a \TT{]}) \daq \{("", A)\} \spc - (\G, x) \daq \{(r_1, A_1), \cdots, (r_m, A_m)\}}{} -{(\G, \TT{add}\ a\ \TT{in}\ x) \daq \{(r_1, A_1 \jolly A), \cdots, (r_m, A_m \jolly A)\}} -% -\end{center} -\begin{center} -% -\irule -{h \in \TT{["distr"]?} \spc i \in \GP{evar} \spc - (\g, x) \daq \{(r_1, A_1), \cdots, (r_m, A_m)\}}{} -{(\g, \TT{add}\ i\ \TT{in}\ x) \daq \{(r_1, A_1 \jolly \Snd\ \get{\G_e}{i}), \cdots, (r_m, A_m \jolly \Snd\ \get{\G_e}{i})\}} -% -\end{center} -\end{footnotesize} - -Where $ \jolly_{\tt""} = \sor $ and $ \jolly_{\tt"distr"} = \distr $. -Moreover $ \Snd\ \get{\G_e}{i} = \ES $ if $i$ is not defined. - -\item -The semantics of the \TT{for} operator is given using the {\For} helper -function: - -\begin{footnotesize} -\begin{center} -% -\irule{i \oft \GP{evar} \spc (\G, x_1) \daq (\G_1, S_1) \spc h \in \TT{["sup"|"inf"]}} -{}{(\G, \TT{for}\ i\ \TT{in}\ x_1\ h\ x_2) \daq \For\ h\ \G_1\ i\ x_2\ S_1} -% -\end{center} -\begin{center} -% -\irule{i \oft \GP{evar} \spc x_2 \oft \GP{query}}{} - {\For\ h\ \G\ i\ x_2\ \ES\ \RM{rewrites to}\ (\G, \ES)} -% -\end{center} -\begin{center} -% -\irule{i \oft \GP{evar} \spc ((\G_s, \set{\G_e}{i}{R}, \G_g), x_2) \daq (\G_2, S_2)} - {}{\For\ h\ \G\ i\ x_2\ (S_1 \sdor \{R\})\ \RM{rewrites to}\ - (\G_2 ,(\Snd\ (\For\ h\ \G_2\ i\ x_2\ S_1)) \jolly_h S_2)} -% -\end{center} -\end{footnotesize} - -Here we have $ R \oft T_3 $, $ \G = \g $, $ \jolly_{\tt"sup"} = \ssum $ and -$ \jolly_{\tt"inf"} = \sprod $. - -$ \dprod $ and $ \sprod $ are helper functions describing the two intersection -operations on {\av} sets: with and without attribute distribution respectively. -They are dual to $ \dsum $ and $ \ssum $. $ \dprod $ does not appear in this -version of {\MathQL} but was used in the earlier versions -\cite{Lor02,GS03,Gui03}. - -\begin{footnotesize} -\begin{center} \begin{tabular}{lrll} -% -1a & -$ (S_1 \sdor \{(r, A_1)\}) \sprod (S_2 \sdor \{(r, A_2)\}) $ & rewrites to & -$ (S_1 \sprod S_2) \sor \{(r, A_1 \sor A_2)\} $ \\ -1b & $ S_1 \sprod S_2 $ & rewrites to & $ \ES $ \\ -2a & -$ (S_1 \sdor \{(r, A_1)\}) \dprod (S_2 \sdor \{(r, A_2)\}) $ & rewrites to & -$ (S_1 \dprod S_2) \sor \{(r, A_1 \distr A_2)\} $ \\ -2b & $ S_1 \dprod S_2 $ & rewrites to & $ \ES $ -% -\end{tabular} \end{center} -\end{footnotesize} - -As for $ \ssum $ and $ \dsum $, rules 1a, 2a override rules 1b, 2b respectively. - -\item -The semantics of the \TT{while} operator is given by the rules below: - -\begin{footnotesize} -\begin{center} -% -\irule{h \in \TT{["sup"|"inf"]} \spc (\G, x_1) \daq (\G_1, \ES)}{1} -{(\G, \TT{while}\ x_1\ h\ x_2) \daq (\G_1, \ES)} -% -\end{center} -\begin{center} -% -\irule -{h \in \TT{["sup"|"inf"]} \spc (\G, x_1) \daq (\G_1, S_1) \spc - (\G_1, x_2) \daq (\G_2, S_2) \icr - (\G_2, \TT{while}\ x_1\ h\ x_2) \daq (\G_3, S)}{2} -{(\G, \TT{while}\ x_1\ h\ x_2) \daq (\G_3, S_2 \jolly_h S)} -% -\end{center} -\end{footnotesize} - -Again $ \jolly_{\tt"sup"} = \ssum $ and $ \jolly_{\tt"inf"} = \sprod $. -Rule 1 takes precedence over rule 2. - -\end{itemize} - -The forth group of \GP{query} constructions makes {\MathQL} extensible. - -\begin{itemize} - -\item -The ``function'' construction invokes an external function returning an {\av} -set. The function is identified by a \GP{path} and its arguments are a set of -\GP{path}'s and a set of \GP{query}'s. It is a mistake to invoke a function -with the wrong number of \GP{path}'s and \GP{query}'s as input (each -particular function defines these numbers independently). - -\begin{footnotesize} -\begin{center} -% -\irule -{p, p_1, \cdots, p_m \in \GP{path} \spc x_1, \cdots, x_n \in \GP{query}}{} -{(\G, p\ \{p_1 \TT{,} \cdots \TT{,} p_m\}\ \{x_1 \TT{,} \cdots \TT{,} x_m\}) - \daq \Fun\ p\ [p_1, \cdots, p_m]\ [x_1, \cdots, x_n]\ \G} -% -\end{center} -\end{footnotesize} - -where $ \Fun \oft \GP{path} \times (\Listof\ \GP{path}) \times (\Listof\ -\GP{query}) \times K \to T_4 $ is the primitive function performing the -low level invocation. -The core language does not include any external function and it is a mistake -to invoke an undefined function. - -\item -The \TT{gen} construction invokes an external function returning a \GP{query}. -The function is identified by a \GP{path} and its arguments are a set of -\GP{query}'s. It is a mistake to invoke a function with the wrong number of -\GP{query}'s as input (each particular function defines this number -independently). - -\begin{footnotesize} -\begin{center} -% -\irule -{p \in \GP{path} \spc x_1, \cdots, x_n \in \GP{query} \spc - (\G, \Gen\ p\ [x_1, \cdots, x_n]\ \G) \daq (\G\p, S)}{} -{(\G, \TT{gen}\ p\ \{x_1 \TT{,} \cdots \TT{,} x_m\}) \daq (\G\p, S)} -% -\end{center} -\end{footnotesize} - -where $ \Gen \oft \GP{path} \times (\Listof\ \GP{query}) \times K \to -\GP{query} $ is the primitive function performing the low level invocation. -The core language does not include any external function of this kind and it -is a mistake to invoke an undefined function. -The construction ``\TT{gen} p \TT{in} x'' rewrites to ``\TT{gen} p \verb+{+x\verb+}+''. - -\end{itemize} - -\subsubsection*{Results} - -An \GP{avs} expression (the explicit representation of an {\av} set denoting a -query result) is evaluated to an {\av} set according to the following rules. - -\begin{footnotesize} -\begin{center} -% -\irule{x_1, \cdots, x_m \in \GP{av} \spc - x_1 \dar S_1 \spc \cdots \spc x_m \dar S_m}{} - {x_1 \TT{;} \cdots \TT{;} x_m \dar S_1 \ssum \cdots \ssum S_m} -% -\end{center} -\begin{center} -% -\irule{q \in \GP{string} \spc g_1, \cdots, g_m \in \GP{group} \spc - q\ \TT{attr}\ g_1 \dar S_1 \spc \cdots \spc - q\ \TT{attr}\ g_m \dar S_m}{} - {q\ \TT{attr}\ g_1 \TT{,} \cdots \TT{,} g_m \dar S_1 \ssum \cdots \ssum S_m} -% -\end{center} -\begin{center} -% -\irule{q \in \GP{string} \spc a_1, \cdots, a_m \in \GP{atr} \spc - q\ \TT{attr}\ \{ a_1 \} \dar S_1 \spc \cdots \spc - q\ \TT{attr}\ \{ a_m \} \dar S_m}{} - {(\G, q\ \TT{attr}\ \{ a_1 \TT{;} \cdots \TT{;} a_m \} \dar S_1 \dsum \cdots \dsum S_m} -% -\end{center} -\begin{center} -% -\irule{q, q_0 \in \GP{string} \spc p \in \GP{path}}{} - {q\ \TT{attr}\ \{ p = q_0 \} \dar - \{(\Unquote\ q, \{ \{ (\Name\ p, \{ \Unquote\ q_0 \}) \} \})\}} -% -\end{center} -\begin{center} -% -\irule{q, q_1, \cdots, q_m \in \GP{string} \spc p \in \GP{path}}{} - {q\ \TT{attr}\ \{ p = \{ q_1 \TT{,} \cdots \TT{,} q_m \} \} \dar - \{(\Unquote\ q, \{ \{ (\Name\ p, \{ \Unquote\ q_1, \cdots, \Unquote\ q_m \}) \} \})\}} -% -\end{center} -\end{footnotesize} diff --git a/helm/mathql/doc/mathql_operational_library.tex b/helm/mathql/doc/mathql_operational_library.tex deleted file mode 100644 index d5c782872..000000000 --- a/helm/mathql/doc/mathql_operational_library.tex +++ /dev/null @@ -1 +0,0 @@ -\subsection {The basic library} diff --git a/helm/mathql/doc/mathql_overview.tex b/helm/mathql/doc/mathql_overview.tex deleted file mode 100644 index 45fd2cb99..000000000 --- a/helm/mathql/doc/mathql_overview.tex +++ /dev/null @@ -1,145 +0,0 @@ -\section{Overview} - -{\MathQL}% -\footnote{See \CURI{http://helm.cs.unibo.it/mathql}.} -is a query language for {\RDF} \cite{RDF,RDFS} databases, developed in the -context of the {\HELM}% -\footnote{See \CURI{http://helm.cs.unibo.it}.} -project \cite{APSCGS03}. -Its name suggests that it is supposed to be the first of a group of query -languages for retrieving information from distributed digital libraries of -formal mathematical knowledge by means of content-aware requests, but no other -languages of this proposal have been implemented yet except for {\MathQL} that -is not Mathematics-oriented. So the name is a bit misleading. -This proposal has several domains of application and may be useful for -database or on-line libraries reviewers, for proof assistants or -proof-checking systems, and also for learning environments because these -applications require features for classifying, searching and browsing -mathematical information in a semantically meaningful way. -Other languages to be defined in the context of the MathQL proposal may be -suitable for queries about the semantic structure of mathematical data: -this includes content-based pattern-matching and possibly other forms of -formal matching involving for instance isomorphism, unification and -$\delta$-expansion% -\footnote{By $\delta$-expansion we mean the expansion of definitions.}. -In this perspective the role of a query on metadata is that of producing a -filtered knowledge base containing relevant information for subsequent queries -of other kind (see \cite{GSC03} for a more detailed description of this -approach). - -{\MathQL} is carefully designed for making up for two limitations that seem to -characterize several implementations and proposals of current {\RDF}-oriented -query languages, namely the insufficient compliance with the most requested -features and the poor attention paid to query result management. -Thus the language has the following design goals: - -\begin{enumerate} - -\item -compliance with the main requirements stated by the {\RDF} community; - -\item -native support for post-processing the query results; - -\item -{\HELM}-independent implementation of the query engine. - -\end{enumerate} - -We will briefly analyze these features in the remaining part of this -section. - -\vspace{-1pc} - -\subsubsection*{The main requirements from the RDF community} - -As a query language for {\RDF} databases, {\MathQL} has a well-conceived -semantics, defined in term of an abstract metadata model, according to which -queries return exhaustive solutions. -The language provides facilities for imposing query constraints based on -{\RDFS} \cite{RDFS} and for the traversal of compound values of properties. -It also provides a full set of Boolean operators to compose the query -constraints and facilities for selecting resources or literals by means of -{\POSIX} regular expressions. -Moreover the language allows to customize the query results specifying what -part of a solution should be preserved, and supports a machine-processable -{\XML} \cite{XML} syntax as well as a human-readable textual syntax to achieve -the best usability. -The two syntaxes concern both queries and results, making {\MathQL} usable in -a distributed environment where query engines are implemented as stand-alone -components. In this setting in fact both the queries and their results must be -exchanged by the system's components and thus need to be clearly encoded. - -{\MathQL} provides a graph-oriented access to the {\RDF} metadata, based on -tree instantiation. -This approach has the advantage of providing an abstraction over the -concrete representation of the {\RDF} database (that can consist of {\RDF} -triples and {\XML} files simultaneously) at the user level, and this is -definitely desirable especially in a distributed context. - -{\MathQL} query results are meant to capture the structure of trees coming -from an {\RDF} graph and for this purpose a standard $1$- or $2$-dimensional -organization (as provided by most {\RDF}-oriented query languages) is not -satisfactory. {\MathQL} approach is to use a $4$-dimensional organization -for its query results. - -\vspace{-1pc} - -\subsubsection*{Post-processing and code generation capabilities} - -The {\MathQL} query engine, that is written in {\CAML}% -\footnote{See \CURI{http://caml.inria.fr}.} -for an easy integration with the {\HELM} software, provides two ways of -processing the query results: at {\CAML} side and natively. - -At {\CAML} side, an application issues a query calling a function of the -engine and manipulates the result either operating directly on its internal -representation (through a low-level interface), or using a set of dedicated -functions specifically designed to manage the query results. -This set of functions includes a basic library but is extensible depending -on the {\CAML} modules included in the engine at compile-time. In this way -an expert user can write a {\CAML} module with new dedicated functions and can -include it in the engine recompiling it. - -{\MathQL} supports native post-processing of the query results including the -standard constructions of an imperative Turing-complete programming language, -whose aim is definitely not that of being all-purpose (the user can work at -{\CAML} side for that), but of being optimized for the management of the -query results. -In this context an {\SQL}-like ``select-from-where'' construction is provided -(as required by the {\RDF} community) as well as a mechanism for accessing the -post-processing dedicated functions available to the engine. - -Moreover the language provides access to an extensible set of code-generating -functions (also available at {\CAML} side) that the expert user can define -writing suitable {\CAML} modules for the engine. -Note that the generated code is always {\MathQL} code. -The code generation features allow to build complex queries incrementally and -in an automatic manner, as required by the needs of the {\HELM} project. -Using the native programming language, instead, queries can include the -post-processing algorithms on their results so the querying code and the -subsequent processing code (if needed) are treated together as a -self-contained object that can be computed by a single engine. -In this sense the alternative of performing a complex query on a remote -component issuing some {\MathQL} querying code followed by some {\CAML} -post-processing code is really infeasible in a distributed context. - -\vspace{-1pc} - -\subsubsection*{Physical organization of the RDF database} - -The implementation of the {\MathQL} query engine does not depend on any -software developed within the {\HELM} project, nor it depends on the {\HELM} -metadata model in any way. - -However the engine does make few assumptions on the way metadata are -physically organized and needs some user-provided knowledge about the concrete -metadata representation. -Metadata stored as {\RDF} triples are accessed through a {\MySQL}% -\footnote{See \CURI{http://www.mysql.com}.} -or a {\PostgreSQL}% -\footnote{See \CURI{http://www.postgresql.org}.} -engine, while metadata stored as {\RDF}/{\XML} files are accessed through a -{\Galax}% -\footnote{See \CURI{http://db.bell-labs.com/galax/}.} -{\XQuery} \cite{XQuery} engine. diff --git a/helm/mathql/doc/mathql_tests.tex b/helm/mathql/doc/mathql_tests.tex deleted file mode 100644 index 883bf23ab..000000000 --- a/helm/mathql/doc/mathql_tests.tex +++ /dev/null @@ -1,30 +0,0 @@ -\section{A use case: retrieving the transitive principles} - -In this section we briefly present one on the many queries that we are using -to test {\MathQL}.4: the one that retrieves the transitive principles stored -in the {\HELM} library. The details on the {\RDF} metadata used to index the -contents of the library can be found in \cite{Sch02,Gui03,GSC03}. -This query, executed in {\MySQL}-mode on an AMD Athlon 1.5 GHz, retrieved -$55$ {\HELM} objects (out of $41451$) in $4.00s$ (the interpreter worked -for $0.31s$) after having issued $2205$ {\SQL} queries to the underlying -database. This test was executed on April 2 2004 by the Author. - -\begin{footnotesize} \begin{verbatim} -gen /"helm"/"aliases" in let $sets = property inverse /"refSort" istrue -/"h:sort" in $SET, /"h:position" in $MC, /"h:depth" in "0" of "" in let -$prop = property inverse /"refSort" istrue /"h:sort" in $PROP, -/"h:position" in $MC, /"h:depth" in "2" of "" in let $rels0 = for @uri -in $prop sup add {/"set" = property /"refObj" main /"h:occurrence" istrue -/"h:position" in $MH of @uri} in @uri in let $rels = select @uri from -$rels0 where ex ((count @uri./"set" eq "1") and (@uri./"set" sub $sets)) -in let $trans0 = for @uri in $rels sup add {/"rel" = @uri; /"set" = proj -/"set" of @uri} in property inverse /"refObj" main /"h:occurrence" istrue -/"h:position" in $MC, /"h:depth" in "5" of @uri in let $trans1 = for @uri -in $trans0 sup add distr {/"premises" = property /"refObj" main /"h:occur -rence" istrue /"h:position" in $MH of @uri; /"extra" = property /"refObj" -main /"h:occurrence" istrue /"h:position" in {$IC, $IH} of @uri} in @uri -in let $trans = select @uri from $trans1 where ex (not @uri./"extra" and -(@uri./"premises" sub {@uri./"rel", @uri./"set"})) in keep $trans -\end{verbatim} \end{footnotesize} %$ - -\input{mathql_tests_transitive} diff --git a/helm/mathql/grammar.txt b/helm/mathql/grammar.txt deleted file mode 100644 index 5622761a3..000000000 --- a/helm/mathql/grammar.txt +++ /dev/null @@ -1,148 +0,0 @@ -GRAMMATICA PER QUERY SU DOCUMENTI MATEMATICI -MATHEMATICAL QUERY LANGUAGE (MathQL) - - := (* clausola iniziale *) - - := ( ) (* parentesizzazione *) - | (* var per insieme singoletto - di una risorsa *) - | (* var per insieme di risorse - (insieme di valori) *) - | REF (* oggetto/i referenziato/i da - URI esplicita/e *) - | PATTERN (* oggetto/i referenziato/i da - URI ottenute da espansione - del pattern *) - | SELECT IN WHERE (* selezione *) - | LET BE IN (* assegnazione a set-var in - contesto *) - | LET BE IN (* assegnamento a value-var - in contesto*) - | RELATION ATTR - (* unione insieme risorse in - relazione specificata con le - risorse in set, ognuna con - attributi (ATTR) *) - | UNION (* unione *) - | INTERSECT (* intersezione *) - | DIFF (* differenza *) - - := "" (* relazione (proprieta') *) - | SUB (* proprieta' e - sotto-proprieta' *) - | SUPER (* proprieta' e - super-proprieta' *) - - := - (* relazione (proprieta') *) - | "/" - (* insieme di stringhe: - proprieta' strutturata *) - - := - | , - - - := ( ) (* parentesizzazione *) - | TRUE (* vero *) - | FALSE (* falso *) - | NOT (* negazione *) - | AND (* congiunzione *) - | OR (* disgiunzione *) - | EQ (* uguaglianza tra insiemi - stringhe (case sensitive) *) - | SUB (* operazione di sottoinsieme - tra insiemi stringhe *) - | MEET (* operazione di meet tra - insiemi stringhe *) - | EX (* existential on attributes - of references *) - := ( ) (* parentesizzazione *) - | {} (* insieme vuoto*) - | (* stringa singoletto *) - | {}(* insieme stringhe *) - | REFOF (* insieme riferimenti *) - | . (* variabile per insieme - stringhe, relativa a - riferimento *) - | - (* applicazione di funzione - specificata a riferimento - o insiemi di rif. o var*) - | (* vvar introduced by LET *) - - := - | , - (* lista di stringhe *) - - := FUN (* funzione generale *) - | - - := ATTRIBUTE (* funzione proprieta': restituisce - suoi valori (anche strutturati) - (e delle sotto-proprieta' o - super-proprieta' *) - - - := @ (* variabile per riferimento *) - := $ (* variabile per insiemi - stringhe *) - := % (* variabile per insiemi - riferimenti *) - - -- Idea di base: grammatica del linguaggio semplice e permissiva (duttile) -- MEET e' definito come "esiste almeno un elemento che appartiene - all'interserzione tra due insiemi" -- le stringhe sono "case sensitive" -- la funzione non definita sull'argomento restituisce la stringa nulla -- le si presuppongono essere istanziate come URI references costituite - da un URI e da un fragment identifier opzionale complete; i riferimenti - identificano risorse -- Precedenza operatori: - NOT (+) DIFF - AND INTERSECT - OR (-) UNION -- L'ordinamento di default e' quello alfabetico crescente in base al nome - delle rvar -- REF aumenta performance perche' NON accede al data base (costoso). -- l'argomento di PATTERN ha sintassi di una espressione regolare - POSIX 1003.2-1992 -- Possibile FUN (): - NAME (* URIREF -> nome_oggetto *) -- MEET aumenta performance nel caso si verifichi (a in S) oppure - (b in S) = ({a,b} meet S) perche' valuta S una volta sola - Il MEET codifica inoltre l'esistenziale su risorse (URI) in un certo - insieme che soddisfa certe condizioni -- record . serve per disambiguare nomi uguali di variabili -- Operatori (come EQ) hanno nomi abbreviati rispetto ai costrutti del - linguaggio -- EX verfica che la sua condizione sia vera per almeno un insieme di attributi - associato all'URI in rvar -- Possibili RELATION sono: - USE con attributo POSITION (riferimenti backward) e valori MAINHYPOTHESIS, - HYPOTHESIS, MAINCONCLUSION, CONCLUSION, BODY - USEBY con attributo POSITION (riferimenti forward) e valori MAINHYPOTHESIS, - HYPOTHESIS, MAINCONCLUSION, CONCLUSION, BODY - CONSTRUCTORS - INTHEORY con attributo ITEMTYPE (riferimenti oggetti contenuti in teorie) - THEORYREFTO con attributo ITEMTYPE (riferimenti teorie referenti a oggetti) -- invece di come argomento di poiche' la REF non - e' piu' restrittiva su argomento/i e quindi e' inutile imporne l'uso quando - si passano i riferimenti alle funzioni. Con l'utente e' libero - di passare direttamente le stringhe dei riferimenti. -- Il costrutto di ordinamento: - SORTEDBY (* unione insieme ordinato secondo - valore funzione e ordine *) - := DESC (* ordinamento decrescente *) - | ASC (* ordinamento crescente *) - perde di senso nel caso di metadati, poiche' per definizione le proprieta' - in RDF possono essere ripetute quindi restituiscono (come anche le funzioni - in generale) valori multipli per ogni riferimento (ambiguita' nell'ordine) -- Possibili proprieta' (): - le DC: TITLE, CONTRIBUTOR, CREATOR, PUBLISHER, SUBJECT, DESCRIPTION, DATE, - TYPE, FORMAT, IDENTIFIER, LANGUAGE, RELATION, SOURCE, COVERAGE, RIGHTS, - RIGHTS; and INSTITUTION, CONTACT, FIRSTVERSION, MODIFIED, THEORY -- Il concetto di Classe, sottoclasse, superclasse, puo' essere visto come una - particolare proprieta' (type o tipo) di una risorsa, e quindi codificabile - da RELATION \ No newline at end of file diff --git a/helm/mathql/homepage/authors.html b/helm/mathql/homepage/authors.html deleted file mode 100644 index 7ed38d33f..000000000 --- a/helm/mathql/homepage/authors.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - MathQL - - - - - - - - - -

MathQL-1

- -

A query language for RDF metadata

- - - - - - - - - -
- - - - - - - - - - - -
    -
  • The authors
    -
  • - - -
- - -
-
- -
The authors
-
-
- MathQL-1is developed by Ferruccio Guidi and Irene Schena at the Department of Computer Science of the - University of Bologna since April - 2002.
-
- Ferruccio Guidi obtained a Master degree in Mathematics -at the University of Padova and a PhD in Computer Science at the University - of Bologna. His research interests include computer-assisted proof development, - Martin-Löf type theory and substructural logic. He is a member of -the HELM Working Group and of -the "Paulus Venetus" Research -Group in Logic.
-
- Irene Schena obtained a Master Degree in Computer Science -and a Ph.D. in Computer Science at the University of Bologna. Her research -interests include Linear Logic and Web Technologies. She is a member of the - HELM Working Group and of the - W3C Math Working Group.
-
- Contacts: fguidi@cs.unibo.it, - schena@cs.unibo.it.
-
-
- - diff --git a/helm/mathql/homepage/documentation.html b/helm/mathql/homepage/documentation.html deleted file mode 100644 index e91e9a719..000000000 --- a/helm/mathql/homepage/documentation.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - MathQL - - - -
-

MathQL-1

-
- -
-

A query language for RDF metadata

-
-
- - - - - - - - - - - -

-
- - - - - - -
    -
  • Documentation
  • - -
- - - - - - -
-
Documentation
- -


- All available information about MathQL-1 can be found in the papers below - (listed in order of relevance).
- The newest features of MathQL-1, which are not included in this documentation, - are reported in the What's new section.

- -

Papers concerning the developement version of MathQL-1:

- - - Papers concerning the latest stable version of MathQL-1: - - - - - Papers concerning the earlier versions of MathQL-1: - -
    -
  • F. Guidi and I. Schena: A Query Language for a Metadata Framework - about Mathematical Resources. In Proc. of the 2nd International Conference - on Mathematical Knowledge Management (MKM 2003). Bertinoro, Italy, February - 2003. LNCS 2594, pages 105-118, Springer. 2003.
  • - -
- - - - - - - - -
-
-
-
- - diff --git a/helm/mathql/homepage/features.html b/helm/mathql/homepage/features.html deleted file mode 100644 index ae5333f29..000000000 --- a/helm/mathql/homepage/features.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - MathQL - - - - - - - - - -

MathQL-1

- -

A query language for RDF metadata

- - - - - - - - - -
- - - -
    -
  • Features
  • - -
- - - - - - - - - - -
-
- -
Goals  and features
-
-
- MathQL-1 is designed to achieve the following goals:
- -
    -
  1. Exploitation of RDF technology - to manage metadata and compliance with the main requirements for an - RDF query language. In particular:
  2. - -
- -
-
    -
  • MathQL-1 provides facilities for hierarchical constraints - based on RDF Schema and for - traversal of compound values of properties.
  • - -
- -
    -
  • MathQL-1 provides a full set of Boolean operators to compose - the query constraints and facilities for selecting URI's or literals by means - of regular expressions.
  • - -
- -
    -
  • MathQL-1 allows to customize the query results specifying - what part of a solution should be preserved or discarded.
  • - -
- -
    -
  • MathQL-1 has a well-conceived semantics defined in term -of an abstract metadata model, imposes that queries return exhaustive solutions - and includes a "select-from-where"-like construction.
  • - -
- -
    -
  • MathQL-1 supports a machine-processable XML syntax as well as a human-readable - textual syntax to achieve the best usability.
    -
  • - -
-
- -
    -
  1. Careful treatment of query results that are as important - as the queries themselves. In particular:
    -
  2. - -
- -
-
    -
  • MathQL-1 query results have a 4-dimensional geometry whereas - other languages assume that query results are returned in 1-dimensional structures - (i.e. lists of resources) or 2-dimensional structures (i.e. relational database - tables). This allows to get better outcomes from queries returning structured - results.
    -
  • - -
- -
    -
  • Besides the syntax for queries, MathQL-1 provides a syntax - for query results with its own rigorously defined semantics.
    -
  • - -
-
- -
    -
  1. Exploitation of constructions borrowed from programming -languages to allow sophisticated queries that need computation over the -queried data. In particular:
    -
  2. - -
- -
-
    -
  • MathQL-1 supports variables for storing intermediate query - results, provides iterators over these results, has a conditional operator - and includes logging facilities for debugging purposes.
  • - -
-
-
-
- - diff --git a/helm/mathql/homepage/implementation.html b/helm/mathql/homepage/implementation.html deleted file mode 100644 index fa268005b..000000000 --- a/helm/mathql/homepage/implementation.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - - - - MathQL - - - -
-

MathQL-1

-
- -
-

A query language for RDF metadata

-
-
- - - - - - - - - - - -

-
- - - - - - - - -
    -
  • Implementation
  • - -
- - - - -
-
Implementation
- -


- The MathQL-1 Suite for HELM is implemented in Caml and is currently available through -the HELM CVS repository. -The Suite provides the following  software components: 

- -
    -
  1. The basic Caml package for MathQL-1 (mathql) - provides a HELM independent Caml -representation of queries and query results, plus some general purpose utilities.
  2. - -
- -
    -
  1. The MathQL-1 interpreter (mathql_interpreter) -provides the proper search engine and is now HELM independent.
  2. -
-
    -
  1. The HELM query generator (mathql_generator) - allows to build specific kinds of MathQL-1 queries, which are meaningful -in the context of HELM, starting from a high-level description of the wanted - results. These queries are described at an abstract level in the following - paper:
  2. - -
- -
-
    -
  • F. Guidi and C. Sacerdoti Coen: Querying Distributed Digital Libraries - of Mathematics. In Proc. of the 11th Symposium on the Integration of -Symbolic Computation and Mechanized Reasoning (Calculemus 2003). Rome, Italy, -September 2003. pages 17-30, Aracne. 2003.
  • - -
-
- -
    -
  1. The testing software for the MathQL-1 Suite (mathql_test) - provides three textual interfaces (one for the basic package, one for the - interpreter and one for the query generator) with specific features meant - for testing.
  2. - -
- The current version of the Suite, realized entirely by F. Guidi, implements - MathQL-1 version 3 (i.e. MathQL-1.3). The newly implemented features, which - are not included in the official documentation - yet, are reported in the What's new section. - -

The latest HELM - query engine (enter here - if you are behind a restrictive firewall), powered by MathQL-1.3, allows -to issue both user-defined queries and the specific queries produced by the -HELM query generator.
-  

-
-
-
- - diff --git a/helm/mathql/homepage/index.html b/helm/mathql/homepage/index.html deleted file mode 100644 index 769689e52..000000000 --- a/helm/mathql/homepage/index.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - MathQL - - - - - - - - - - - - -

MathQL-1

- -

A query language for RDF metadata

- - - - - - - - - - -
- - -
    -
  • Forward
    -
  • - - - -
- - - - - - - - - - - - - - - - - -
-
- - -
Forward
-
-
- The MathQL proposal rises in the context of the HELM project, which aims at the development -of a suitable technology for the creation and maintenance of a virtual, -distributed, hypertextual library of structured mathematical knowledge -based on XML technology, through the - integration of the current proof assistants and logical frameworks with -the most recent technologies for the development of Web applications and -electronic publishing.
-
- The objective of the MathQL proposal is the development -of a set of query languages enabling the retrieval of formalized mathematical - Web resources on the basis of content-aware requests. The first of these - languages, MathQL-1, is focused on querying an arbitrary - RDF database because RDF is -the W3C standard for describing - Web resources at the general-purpose content level.
-
- As an RDF query language, MathQL-1 provides the main features - required by the RDF community while complying with the needs of HELM. - The peculiar aspects of this language concern the query results, -which are highly structured and possess their own syntax, formally -explained by a rigorous semantics.
-
- MathQL-1 is particularly helpful in distributed systems -where query engines are implemented as stand-alone units, because -in this situation the query results are exchanged between the system -components as well as the queries, and thus both the queries and the query -results need to be encoded in a clearly defined format.
-
- Other languages to be developed in the context of the MathQL proposal - will be suitable for queries about the semantic structure of mathematical - data: this will include content-based pattern-matching (MathQL-2) and -possibly other forms of formal matching involving for instance isomorphism, -unification and definitions expansion (MathQL-3).
-
-
-
- -
This site is maintained by Ferruccio Guidi, last update: November -13, 2003.
-
-
-
- - -
-
- - diff --git a/helm/mathql/homepage/links.html b/helm/mathql/homepage/links.html deleted file mode 100644 index ec8c4f218..000000000 --- a/helm/mathql/homepage/links.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - MathQL - - - - - - - - - - -

MathQL-1

- -

A query language for RDF metadata

- - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
    -
  • Links
    -
  • - - -
-
-
- -
Links
-
- -
    -
  • HELM Project homepage, -   MOWGLI Project homepage
  • - -
- -
    -
  • W3C XML resources,   - W3C RDF resources
  • - -
- -
    -
  • Some RDF query languages having a homepage
  • - -
- -
DAML+OIL   rdfDB   RDFPath   RDFQL   RDQL   RQL   RuleML   TRIPLE   SquishQL   XDD
-
- -
The developers wishing to have their RDF query language - listed here may contact the authors.
-
-
-
- - diff --git a/helm/mathql/homepage/whatsnew.html b/helm/mathql/homepage/whatsnew.html deleted file mode 100644 index 1a15631ba..000000000 --- a/helm/mathql/homepage/whatsnew.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - MathQL - - - - - - - - - - -

MathQL-1

- -

A query language for RDF metadata

- - - - - - - - - -
- - - - - - - -
    -
  • What's new
    -
  • - - -
- - - - - - - - - - - - -
-
- -
What's new
-
-
- This page reports the newly implemented - features of MathQL-1 that are not included in the official documentation yet.
-
- -

-

New -  MathQL-1 version 4 now under development ...

-We are now implementing the new unstable version of MathQL-1 (i.e. MathQL-1.4). -The main goals of this release are:
-
    -
  • A clear distinction between the core language and the auxiliary -functions, which should be part of an extensible library.
    -
  • -
-
    -
  • The elimination of the explicit casts between the <query> -and <value> types in queries.
    -
  • -
- -
-
-

Changes and additions to MathQL-1 operators:

-
- -
    -
  • The add operator now accepts a syntax extension allowing - to specify more than one explicit attribute group.
  • - -
- -
The syntax now is:
- -
<query> := "add" [ "distr" ]? [ <groups> | -<avar> ] "in" <query>
- <groups> := <group> [ ";" <group> ]*
- <group> := <attribute> [ "," <attribute> ]*
- <attribute> := <value> "as" <path>
-
- Examples:
- the query add "1" as "a", "2" as "b" in subj "A" gives the result - "A" attr {"a"="1"; "b"="2"} while
- the query add "1" as "a"; "2" as "b" in subj "A" gives the result - "A" attr {"a"="1"}, {"b"="2"}.
-
- -
    -
  • The new align operator takes an integer i (represented - as a string), a multiple string value v and returns the same v - where each string with length n < i is prefixed with i - n - spaces. The syntax of the add operator is:
  • - -
- -
<value> := "align" <string> "in" <value>
-
- This operators aligns strings containing numbers so that their alphabetic - order agrees with their numeric order.
-
- -
    -
  • The intersect operator now intersects the attribute - groups of the matching subject strings set-theoretically rather than making - their "Cartesian product". This semantics reduces the computational costs - and makes intersection the dual of union.
  • - -
- -
    -
  • The property operator now accepts more than one isfalse - clause to increase the complexity of the constraint condition used to filter - the raw query results. This feature is exploited in the queries produced - by the HELM query generator.
  • - -
-
- -
-
-

The PostgreSQL database map:

-
- The PostgreSQL database map is a file describing how the MathQL-1 - interpreter must interact with the underlying PostgreSQL database, when -it is run in Postgres mode. Currently this file contains the following information:
- -
    -
  • the database connection string to be used when the interpreter - opens a connection with the database;
  • - -
- -
    -
  • the map describing the correspondence between the metadata - access paths used by the property operator and the fields of the -database tables.
  • - -
- The format of the file is textual and line oriented, but a corresponding - XML syntax will be provided soon.
- The first line must contain the database connection string and the subsequent - lines contain the map with the following syntax:
- -
    -
  • blank lines: ignored (used for separation);
  • - -
- -
    -
  • lines starting with a # followed by a space: ignored (used -for comments);
    -
  • - -
- -
    -
  • <table_name>  <field_name>  "<-"  - [  <path_component>  ]*
    -
  • - -
- -
the information about the metadata denoted by the given - path is found in the given field of the given table in the database. For -example the line:
-
- refobj  h_occurrence  <-  refObj  h:occurrence
-
- tells that the metadata denoted by the path /"refObj"/"h:occurrence" - is found in the field "h_occurrence" of the table "refobj" in the database, - while:
-
- refobj  source  <-
-
- tells that the metadata denoted by the path / is found in the field - "source" of the table "refobj" in the database;
-
- -
    -
  • <table_name>  <field_name>  "<+"  - [  <path_component>  ]*
    -
  • - -
- -
same as the previous but defines a default table and field - for the given path. This is used to force the interpreter to query a particular - table when the information denoted by a path can be found in more than one - table and field. For example:
-
- objectname  source  <+
- refobj           source  <-
- refrel            source  -<-
- refsort          source  <-
-
- tells that the metadata denoted by the path / is found in the "source" - field of the "objectname", "refobj", "refrel" and "refsort" tables, and -that the first choice is preferred;
-
- -
    -
  • <table_name>  "<-" [ <path_component>  ]*
  • - -
- -
the given path denotes a structured metadata whose components - are found in the fields of the given table. For example:
-
- refobj  <-  refObj
-
- tells that the path /"refObj" denotes a structured metadata whose - components are found in the fields of the table "refobj";
-
- -
    -
  • <table_name>  "<+" [ <path_component>  ]*
  • - -
- -
same as the previous but tells that this is a default  correspondence; -
-
- -
    -
  • <virtual_table_name>  "->" <concrete_table_name>
  • - -
- -
defines a correspondence between a virtual table name an - a concrete table name. All the <table_name> entries represent virtual - table names that are mapped to concrete table names using the identity function - unless a particular mapping is defined for them using the above construction. - This mechanism allows to define several set of metadata on the same database - table as in:
-
- refobj           source      -        <-
- refobj           h_occurrence  <- -  refObj           h:occurrence
- backpointer  source           -   <-  backPointer  h:occurrence
- backpointer  h_occurrence  <-
- backpointer                   -        ->  refobj
-
- -
which defines four path accessing two virtual tables ("refobj" - and "backpointer") and then maps these tables in a single concrete table;
-
- -
    -
  • "->"
    -
  • - -
- -
a line like this must end the map file. 
-
- Here you can find the current - version of PostgreSQL database map for HELM.
-
- How does the interpreter use the map? The map file is read -during the interpreter initialization process from the file pointed by the -MATHQL_DB_MAP environment variable and is used during the execution of each - property operation in the issued queries.When executing a property -operation, the interpreter uses the map to find the smallest set of database -tables containing the information required by the given access paths and then -queries these tables to obtain the wanted information.
-
-
-
- - diff --git a/helm/mathql/query.xml b/helm/mathql/query.xml deleted file mode 100644 index 4efca730d..000000000 --- a/helm/mathql/query.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/helm/mathql/result.xml b/helm/mathql/result.xml deleted file mode 100644 index dc79c0879..000000000 --- a/helm/mathql/result.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - MainHypothesis - - - InConclusion - - - - - diff --git a/helm/mathql/xmathql.dtd b/helm/mathql/xmathql.dtd deleted file mode 100644 index 96b52a22b..000000000 --- a/helm/mathql/xmathql.dtd +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mathql/xmqlresult.dtd b/helm/mathql/xmqlresult.dtd deleted file mode 100644 index 9b3333d38..000000000 --- a/helm/mathql/xmqlresult.dtd +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helm/mathql_db_map.txt b/helm/mathql_db_map.txt deleted file mode 100644 index a7e99985c..000000000 --- a/helm/mathql_db_map.txt +++ /dev/null @@ -1,24 +0,0 @@ -objectName source <+ -objectName value <- objectName -refObj <- refObj -refObj source <- -refObj h_occurrence <- refObj h:occurrence -refObj h_position <- refObj h:position -refObj h_depth <- refObj h:depth -refRel <- refRel -refRel source <- -refRel h_position <- refRel h:position -refRel h_depth <- refRel h:depth -refSort <- refSort -refSort source <- -refSort h_sort <- refSort h:sort -refSort h_position <- refSort h:position -refSort h_depth <- refSort h:depth -backPointer <- backPointer -backPointer source <- backPointer h:occurrence -backPointer h_occurrence <- -backPointer h_position <- backPointer h:position -backPointer h_depth <- backPointer h:depth - -backPointer -> refObj - -> diff --git a/helm/mathql_test/.cvsignore b/helm/mathql_test/.cvsignore deleted file mode 100644 index 180760238..000000000 --- a/helm/mathql_test/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -*.cm[aiox] *.cmxa *.opt mqtop mqitop mqgtop examples* -mQGTopParser.ml mQGTopParser.mli mQGTopLexer.ml diff --git a/helm/mathql_test/.depend b/helm/mathql_test/.depend deleted file mode 100644 index b8d9e578a..000000000 --- a/helm/mathql_test/.depend +++ /dev/null @@ -1,6 +0,0 @@ -mqgtop.cmo: mQGTopLexer.cmo mQGTopParser.cmi -mqgtop.cmx: mQGTopLexer.cmx mQGTopParser.cmx -mQGTopParser.cmo: mQGTopParser.cmi -mQGTopParser.cmx: mQGTopParser.cmi -mQGTopLexer.cmo: mQGTopParser.cmi -mQGTopLexer.cmx: mQGTopParser.cmx diff --git a/helm/mathql_test/Makefile b/helm/mathql_test/Makefile deleted file mode 100644 index 45aa2a498..000000000 --- a/helm/mathql_test/Makefile +++ /dev/null @@ -1,79 +0,0 @@ -BIN_DIR = /usr/local/bin -REQUIRES = unix helm-registry helm-cic_textual_parser \ - helm-mathql helm-mathql_interpreter helm-mathql_generator -PREDICATES = -OCAMLOPTIONS = -package "$(REQUIRES)" -predicates "$(PREDICATES)" -thread -OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS) -OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS) -OCAMLDEP = ocamldep -OCAMLYACC = ocamlyacc -OCAMLLEX = ocamllex - -LIBRARIES = $(shell ocamlfind query -recursive -predicates "byte $(PREDICATES)" -format "%d/%a" $(REQUIRES)) -LIBRARIES_OPT = $(shell ocamlfind query -recursive -predicates "native $(PREDICATES)" -format "%d/%a" $(REQUIRES)) - -MQTOP = mqtop.ml -MQITOP = mqitop.ml -MQGTOP = mqgtop.ml - -DEPOBJS = $(MQTOP) $(MQITOP) $(MQGTOP) -AUXOBJS = mQGTopParser.ml mQGTopParser.mli mQGTopLexer.ml - -all: $(DEPOBJS:.ml=) -opt: $(DEPOBJS:.ml=.opt) - -depend: $(AUXOBJS) - $(OCAMLDEP) $(DEPOBJS) $(AUXOBJS) > .depend - -mqtop: $(MQTOP:.ml=.cmo) $(LIBRARIES) - $(OCAMLC) -linkpkg -o mqtop $(MQTOP:.ml=.cmo) - -mqtop.opt: $(MQTOP:.ml=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o mqtop.opt $(MQTOP:.ml=.cmx) - -mqitop: $(MQITOP:.ml=.cmo) $(LIBRARIES) - $(OCAMLC) -linkpkg -o mqitop $(MQITOP:.ml=.cmo) - -mqitop.opt: $(MQITOP:.ml=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o mqitop.opt $(MQITOP:.ml=.cmx) - -mqgtop: mQGTopParser.cmi $(AUXOBJS:.ml=.cmo) $(MQGTOP:.ml=.cmo) $(LIBRARIES) - $(OCAMLC) -linkpkg -o mqgtop $(AUXOBJS:.ml=.cmo) $(MQGTOP:.ml=.cmo) - -mqgtop.opt: $(AUXOBJS:.ml=.cmx) $(MQGTOP:.ml=.cmx) $(LIBRARIES_OPT) - $(OCAMLOPT) -linkpkg -o mqgtop.opt $(AUXOBJS:.ml=.cmx) $(MQGTOP:.ml=.cmx) - -.SUFFIXES: .ml .mli .cmo .cmi .cmx .mly .mll -.ml.cmo: $(LIBRARIES) - $(OCAMLC) -c $< -.mli.cmi: $(LIBRARIES) - $(OCAMLC) -c $< -.ml.cmx: $(LIBRARIES_OPT) - $(OCAMLOPT) -c $< -.mly.ml: - $(OCAMLYACC) $< -.mly.mli: - $(OCAMLYACC) $< -.mll.ml: - $(OCAMLLEX) $< - -$(DEPOBJS:%.ml=%.cmo): $(LIBRARIES) -$(DEPOBJS:%.ml=%.cmx): $(LIBRARIES_OPT) - -clean: - rm -f *.cm[iox] *.o $(DEPOBJS:.ml=) $(DEPOBJS:.ml=.opt) \ - mQGTopParser.ml mQGTopParser.mli mQGTopLexer.ml - -install: - cp $(DEPOBJS:.ml=) $(DEPOBJS:.ml=.opt) $(BIN_DIR) - -uninstall: - cd $(BIN_DIR) - rm -f $(DEPOBJS:.ml=) $(DEPOBJS:.ml=.opt) - -.PHONY: install uninstall clean - -ifneq ($(MAKECMDGOALS), depend) - include .depend -endif - diff --git a/helm/mathql_test/mQGTopLexer.mll b/helm/mathql_test/mQGTopLexer.mll deleted file mode 100644 index 7e69bccf6..000000000 --- a/helm/mathql_test/mQGTopLexer.mll +++ /dev/null @@ -1,71 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -{ - open MQGTopParser - - let debug = false - - let out s = if debug then prerr_endline s -} - -let SPC = [' ' '\t' '\n']+ -let ALPHA = ['A'-'Z' 'a'-'z' '_'] -let NUM = ['0'-'9'] -let IDEN = ALPHA (NUM | ALPHA)* -let QSTR = [^ '"' '\\']+ - -rule comm_token = parse - | "(*" { comm_token lexbuf; comm_token lexbuf } - | "*)" { () } - | ['*' '('] { comm_token lexbuf } - | [^ '*' '(']* { comm_token lexbuf } -and string_token = parse - | '"' { DQ } - | '\\' _ { STR (String.sub (Lexing.lexeme lexbuf) 1 1) } - | QSTR { STR (Lexing.lexeme lexbuf) } - | eof { EOF } -and spec_token = parse - | "(*" { comm_token lexbuf; spec_token lexbuf } - | SPC { spec_token lexbuf } - | '"' { let str = qstr string_token lexbuf in - out ("STR " ^ str); STR str } - | '{' { out "LC"; LC } - | '}' { out "RC"; RC } - | ',' { out "CM"; CM } - | '$' { out "DL"; DL } - | "mustobj" { out "MOBJ" ; MOBJ } - | "mustsort" { out "MSORT" ; MSORT } - | "mustrel" { out "MREL" ; MREL } - | "onlyobj" { out "OOBJ" ; OOBJ } - | "onlysort" { out "OSORT" ; OSORT } - | "onlyrel" { out "OREL" ; OREL } - | "universe" { out "UNIV" ; UNIV } - | IDEN { let id = Lexing.lexeme lexbuf in - out ("ID " ^ id); ID id } - | eof { EOF } diff --git a/helm/mathql_test/mQGTopParser.mly b/helm/mathql_test/mQGTopParser.mly deleted file mode 100644 index 3e260d88f..000000000 --- a/helm/mathql_test/mQGTopParser.mly +++ /dev/null @@ -1,107 +0,0 @@ -/* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - */ - -/* AUTOR: Ferruccio Guidi - */ - -%{ - let f (x, y, z) = x - let s (x, y, z) = y - let t (x, y, z) = z - - module T = MQGTypes - module U = MQGUtil -%} - %token ID - %token CONURI - %token VARURI - %token INDTYURI - %token INDCONURI - %token ALIAS EOF - - %start interp - %type CicTextualParser0.interpretation_codomain_item option> interp - - %token STR - %token DL DQ LC RC CM - %token MOBJ MSORT MREL OOBJ OSORT OREL UNIV - - %start qstr specs - %type qstr - %type specs -%% - uri: - | CONURI { CicTextualParser0.ConUri $1 } - | VARURI { CicTextualParser0.VarUri $1 } - | INDTYURI { CicTextualParser0.IndTyUri ((fst $1), (snd $1)) } - | INDCONURI { CicTextualParser0.IndConUri ((f $1), (s $1), (t $1)) } - ; - alias: - | ALIAS ID uri { ($2, CicTextualParser0.Uri $3) } - ; - aliases: - | alias aliases { $1 :: $2 } - | EOF { [] } - ; - interp: - | aliases { function CicTextualParser0.Id s -> (try Some (List.assoc s $1) - with Not_found -> None) - | _ -> None } - ; - - qstr: - | DQ { "" } - | STR qstr { $1 ^ $2 } - ; - strs: - | STR CM strs { $1 :: $3 } - | STR { [$1] } - | { [] } - ; - uri_list: - | LC strs RC { List.map U.uri_of_mathql $2 } - ; - sort_list: - | LC strs RC { List.map U.sort_of_mathql $2 } - ; - pos_list: - | LC strs RC { List.map U.position_of_mathql $2 } - ; - depth_list: - | LC strs RC { List.map U.depth_of_mathql $2 } - ; - spec: - | MOBJ uri_list pos_list depth_list { T.MustObj ($2, $3, $4) } - | MSORT sort_list pos_list depth_list { T.MustSort ($2, $3, $4) } - | MREL pos_list depth_list { T.MustRel ($2, $3) } - | OOBJ uri_list pos_list depth_list { T.OnlyObj ($2, $3, $4) } - | OSORT sort_list pos_list depth_list { T.OnlySort ($2, $3, $4) } - | OREL pos_list depth_list { T.OnlyRel ($2, $3) } - | UNIV pos_list { T.Universe $2 } - ; - specs: - | spec specs { $1 :: $2 } - | EOF { [] } - ; diff --git a/helm/mathql_test/mqgtop.ml b/helm/mathql_test/mqgtop.ml deleted file mode 100644 index bb7764747..000000000 --- a/helm/mathql_test/mqgtop.ml +++ /dev/null @@ -1,336 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -let query_num = ref 1 - -let interp_file = ref "interp.cic" - -let log_file = ref "" - -let show_queries = ref false - -let int_options = ref "" - -let nl = "

\n" - -module U = MQueryUtil -module I = MQueryInterpreter -module C = MQIConn -module G = MQueryGenerator -module L = MQGTopLexer -module P = MQGTopParser -module TL = CicTextualLexer -module TP = CicTextualParser -module C3 = CGLocateInductive -module C2 = CGSearchPattern -module C1 = CGMatchConclusion -module GU = MQGUtil - -let get_handle () = - C.init ~flags:(C.flags_of_string ! int_options) - ~log:(fun s -> print_string s; flush stdout) () - -let issue handle q = - let mode = [Open_wronly; Open_append; Open_creat; Open_text] in - let perm = 64 * 6 + 8 * 6 + 4 in - let time () = - let lt = Unix.localtime (Unix.time ()) in - "NEW LOG: " ^ - string_of_int (lt.Unix.tm_mon + 1) ^ "-" ^ - string_of_int (lt.Unix.tm_mday + 1) ^ "-" ^ - string_of_int (lt.Unix.tm_year + 1900) ^ " " ^ - string_of_int (lt.Unix.tm_hour) ^ ":" ^ - string_of_int (lt.Unix.tm_min) ^ ":" ^ - string_of_int (lt.Unix.tm_sec) - in - let log q r = - let och = open_out_gen mode perm ! log_file in - let out = output_string och in - if ! query_num = 1 then out (time () ^ nl); - out ("Query: " ^ string_of_int ! query_num ^ nl); - U.text_of_query out nl q; - out ("Result: " ^ nl); - U.text_of_result out nl r; - close_out och - in - if ! show_queries then U.text_of_query (output_string stdout) nl q; - let r = I.execute handle q in - U.text_of_result (output_string stdout) nl r; - if ! log_file <> "" then log q r; - incr query_num; - flush stdout - -let get_interp () = - let lexer = function - | TP.ID s -> P.ID s - | TP.CONURI u -> P.CONURI u - | TP.VARURI u -> P.VARURI u - | TP.INDTYURI (u, p) -> P.INDTYURI (u, p) - | TP.INDCONURI (u, p, s) -> P.INDCONURI (u, p, s) - | TP.LETIN -> P.ALIAS - | TP.EOF -> P.EOF - | _ -> assert false - in - let ich = open_in ! interp_file in - let lexbuf = Lexing.from_channel ich in - let f = P.interp (fun x -> lexer (TL.token x)) lexbuf in - close_in ich; f - -let get_terms interp = - let interp = get_interp () in - let lexbuf = Lexing.from_channel stdin in - let rec aux () = - try - let dom, mk_term = - CicTextualParserContext.main [] [] CicTextualLexer.token lexbuf - in - (snd (mk_term interp)) :: aux () - with - CicTextualParser0.Eof -> [] - in - aux () - -let pp_type_of uri = - let u = UriManager.uri_of_string uri in - let s = match (CicEnvironment.get_obj u) with - | Cic.Constant (_, _, ty, _) -> CicPp.ppterm ty - | Cic.Variable (_, _, ty, _) -> CicPp.ppterm ty - | _ -> "Current proof or inductive definition." -(* - | Cic.CurrentProof (_,conjs,te,ty) -> - | C.InductiveDefinition _ -> -*) - in print_endline s; flush stdout - -let rec display = function - | [] -> () - | term :: tail -> - display tail; - print_string ("? " ^ CicPp.ppterm term ^ nl); - flush stdout - -let execute ich = - let lexbuf = Lexing.from_channel ich in - let handle = get_handle () in - let rec execute_aux () = - try - let q = U.query_of_text lexbuf in - issue handle q; execute_aux () - with End_of_file -> () - in - execute_aux (); - C.close handle - -let compose () = - let handle = get_handle () in - let cl = P.specs L.spec_token (Lexing.from_channel stdin) in - issue handle (G.compose cl); - C.close handle - -let locate name = - let handle = get_handle () in - issue handle (G.locate name); - C.close handle - -let unreferred target source = - let handle = get_handle () in - issue handle (G.unreferred target source); - C.close handle - -let mpattern n m l = - let queries = ref [] in - let univ = Some C2.universe in - let handle = get_handle () in - let rec pattern level = function - | [] -> () - | term :: tail -> - pattern level tail; - print_string ("? " ^ CicPp.ppterm term ^ nl); - let t = U.start_time () in - let om,rm,sm = C2.get_constraints term in - let oml,rml,sml = List.length om, List.length rm, List.length sm in - let oo, ool = if level land 1 = 0 then None, 0 else Some om, oml in - let ro, rol = if level land 2 = 0 then None, 0 else Some rm, rml in - let so, sol = if level land 4 = 0 then None, 0 else Some sm, sml in - let q = G.query_of_constraints univ (om,rm,sm) (oo,ro,so) in - if not (List.mem q ! queries) then - begin - issue handle q; - Printf.eprintf "[%i] " (pred ! query_num); flush stderr; - Printf.printf "%i GEN = %i: %s" - (pred ! query_num) (oml + rml + sml + ool + rol + sol) - (U.stop_time t ^ nl); - flush stdout; queries := q :: ! queries - end - in - for level = max m n downto min m n do - Printf.eprintf "\nmqgtop: pattern: trying level %i\n" level; - flush stderr; pattern level l - done; - Printf.eprintf "\nmqgtop: pattern: %i queries issued\n" - (List.length ! queries); - flush stderr; - C.close handle - -let mbackward n m l = - let queries = ref [] in - let univ = Some C1.universe in - let handle = get_handle () in - let rec backward level = function - | [] -> () - | term :: tail -> - backward level tail; - print_string ("? " ^ CicPp.ppterm term ^ nl); - let t = U.start_time () in - let list_of_must, only = C1.get_constraints [] [] term in - let max_level = pred (List.length list_of_must) in - let must = List.nth list_of_must (min level max_level) in - let q = G.query_of_constraints univ (must, [], []) (Some only , None, None) in - if not (List.mem q ! queries) then - begin - issue handle q; - Printf.eprintf "[%i] " (pred ! query_num); flush stderr; - Printf.printf "%i GEN = %i: %s" - (pred ! query_num) (List.length must) - (U.stop_time t ^ nl); - flush stdout; queries := q :: ! queries - end - in - for level = max m n downto min m n do - Printf.eprintf "\nmqgtop: backward: trying level %i\n" level; - flush stderr; backward level l - done; - Printf.eprintf "\nmqgtop: backward: %i queries issued\n" - (List.length ! queries); - flush stderr; - C.close handle - -let inductive l = - let queries = ref [] in - let univ = None in - let handle = get_handle () in - let rec aux = function - | [] -> () - | term :: tail -> - aux tail; - print_string ("? " ^ CicPp.ppterm term ^ nl); - let t = U.start_time () in - let m = C3.get_constraints term in - let q = G.query_of_constraints univ m (None, None, None) in - if not (List.mem q ! queries) then - begin - issue handle q; - Printf.eprintf "[%i] " (pred ! query_num); flush stderr; - Printf.printf "%i GEN: %s" - (pred ! query_num) (U.stop_time t ^ nl); - flush stdout; queries := q :: ! queries - end - in - aux l; - Printf.eprintf "\nmqgtop: inductive: %i queries issued\n" - (List.length ! queries); - flush stderr; - C.close handle - -let check () = - let handle = get_handle () in - Printf.eprintf - "mqgtop: current options: %s, connection: %s\n" - ! int_options (if C.connected handle then "on" else "off"); - C.close handle - -let prerr_help () = - prerr_endline "\nUSAGE: mqgtop.opt OPTIONS < INPUTFILE\n"; - prerr_endline "The tool provides a textual interface to the HELM Query Generator, used for"; - prerr_endline "testing purposes. mqgtop reads its input from stdin and produces ith output"; - prerr_endline "in HTML on stdout. The options can be one ore more of the following.\n"; - prerr_endline "OPTIONS:\n"; - prerr_endline "-h -help shows this help message"; - prerr_endline "-q -show-queries outputs generated queries"; - prerr_endline "-l -log-file FILE sets the log file"; - prerr_endline "-o -options STRING sets the interpreter options"; - prerr_endline "-c -check checks the database connection"; - prerr_endline "-t -typeof URI outputs the CIC type of the given HELM object"; - prerr_endline "-x -execute issues a query given in the input file"; - prerr_endline "-i -interp FILE sets the CIC short names interpretation file"; - prerr_endline "-d -disply outputs the CIC terms given in the input file"; - prerr_endline "-L -locate ALIAS issues the \"Locate\" query for the given alias"; - prerr_endline "-U T_PATTERN S_PATTERN issues the \"Unreferred\" query for the given patterns"; - prerr_endline "-C -compose issues the \"Compose\" query reading its specifications"; - prerr_endline " from the input file"; - prerr_endline "-B -backward LEVEL issues the \"Backward\" query for the given level on all"; - prerr_endline " CIC terms in the input file"; - prerr_endline "-MB -multi-backward MAX issues the \"Backward\" query for each level from max to 0"; - prerr_endline " on all CIC terms in the input file"; - prerr_endline "-P -pattern LEVEL issues the \"Pattern\" query for the given level on all"; - prerr_endline " CIC terms in the input file"; - prerr_endline "-MP -multi-pattern issues the \"Pattern\" query for each level from 7 to 0"; - prerr_endline " on all CIC terms in the input file"; - prerr_endline "-I issues the \"Inductive\" query on all CIC terms in the"; - prerr_endline " input file\n"; - prerr_endline "NOTES: * current interpreter options are:"; - prerr_endline " P (postgres), G (Galax), S (show statistics), Q (quiet)"; - prerr_endline " * CIC terms are read with the HELM CIC Textual Parser"; - prerr_endline " * -typeof does not work with inductive types and proofs in progress\n" - -let rec parse = function - | [] -> () - | ("-h"|"-help") :: rem -> prerr_help (); parse rem - | ("-i"|"-interp") :: arg :: rem -> interp_file := arg; parse rem - | ("-d"|"-display") :: rem -> display (get_terms ()); parse rem - | ("-t"|"-typeof") :: arg :: rem -> pp_type_of arg; parse rem - | ("-x"|"-execute") :: rem -> execute stdin; parse rem - | ("-q"|"-show-queries") :: rem -> show_queries := true; parse rem - | ("-o"|"-options") :: arg :: rem -> int_options := arg; parse rem - | ("-c"|"-check") :: rem -> check (); parse rem - | ("-l"|"-log-file") :: arg :: rem -> log_file := arg; parse rem - | ("-L"|"-Locate") :: arg :: rem -> locate arg; parse rem - | ("-C"|"-compose") :: rem -> compose (); parse rem - | ("-B"|"-backward") :: arg :: rem -> - let m = (int_of_string arg) in mbackward m m (get_terms ()); parse rem - | ("-MB"|"-multi-backward") :: arg :: rem -> - let m = (int_of_string arg) in mbackward m 0 (get_terms ()); parse rem - | ("-P"|"-pattern") :: arg :: rem -> - let m = (int_of_string arg) in mpattern m m (get_terms ()); parse rem - | ("-MP"|"-multi-pattern") :: rem -> mpattern 7 0 (get_terms ()); parse rem - | ("-U"|"-unreferred") :: arg1 :: arg2 :: rem -> - unreferred arg1 arg2; parse rem - | ("-I"|"-inductive") :: rem -> inductive (get_terms ()); parse rem - | _ :: rem -> parse rem - -let _ = - Helm_registry.load_from "/home/fguidi/miohelm/gTopLevel.conf.xml"; - let t = U.start_time () in -(* - CicLogger.log_callback := - (CicLogger.log_to_html - ~print_and_flush:(fun s -> print_string s; flush stdout)) ; -*) - parse (List.tl (Array.to_list Sys.argv)); - prerr_endline ("mqgtop: done in " ^ (U.stop_time t)); - exit 0 diff --git a/helm/mathql_test/mqitop.ml b/helm/mathql_test/mqitop.ml deleted file mode 100644 index 055841052..000000000 --- a/helm/mathql_test/mqitop.ml +++ /dev/null @@ -1,53 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -module U = MQueryUtil -module I = MQueryInterpreter -module C = MQIConn - -let _ = - Helm_registry.load_from "/home/fguidi/miohelm/gTopLevel.conf.xml"; - let t = U.start_time () in - let ich = Lexing.from_channel stdin in - let flags = if Array.length Sys.argv >= 2 then Sys.argv.(1) else "" in - let log s = print_string s; flush stdout in - let handle = C.init ~flags:(C.flags_of_string flags) ~log:log () in - if not (C.connected handle) then begin - print_endline "mqitop: no connection"; flush stdout - end; - let rec aux () = - let t = U.start_time () in - let r = I.execute handle (U.query_of_text ich) in -(* U.text_of_result log r "\n"; -*) Printf.printf "mqitop: query: %s,%i\n" (U.stop_time t) (List.length r); - flush stdout; aux() - - in - begin try aux() with End_of_file -> () end; - C.close handle; - Printf.printf "mqitop: done: %s\n" (U.stop_time t) diff --git a/helm/mathql_test/mqtop.ml b/helm/mathql_test/mqtop.ml deleted file mode 100644 index 851a63391..000000000 --- a/helm/mathql_test/mqtop.ml +++ /dev/null @@ -1,40 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(* AUTOR: Ferruccio Guidi - *) - -let _ = - let module U = MQueryUtil in - let t = U.start_time () in - let ich = Lexing.from_channel stdin in - let rec aux () = - let t = U.start_time () in - U.text_of_query print_string "\n" (U.query_of_text ich); - Printf.printf "mqtop: query: %s\n" (U.stop_time t); - flush stdout; aux() - in - begin try aux() with End_of_file -> () end; - Printf.printf "mqtop: done: %s\n" (U.stop_time t) diff --git a/helm/matita/.cvsignore b/helm/matita/.cvsignore deleted file mode 100644 index ef69ec2b7..000000000 --- a/helm/matita/.cvsignore +++ /dev/null @@ -1,11 +0,0 @@ -Makefile -buildTimeConf.ml -config.status -configure -config.log -autom4te.cache -matita -matita.opt -*.cm[aiox] -*.cmxa -*.[ao] diff --git a/helm/matita/.depend b/helm/matita/.depend deleted file mode 100644 index 9c279be54..000000000 --- a/helm/matita/.depend +++ /dev/null @@ -1,44 +0,0 @@ -matitaCicMisc.cmo: matitaTypes.cmo -matitaCicMisc.cmx: matitaTypes.cmx -matitaConsole.cmo: buildTimeConf.cmo matitaGtkMisc.cmi matitaTypes.cmo \ - matitaConsole.cmi -matitaConsole.cmx: buildTimeConf.cmx matitaGtkMisc.cmx matitaTypes.cmx \ - matitaConsole.cmi -matitaDisambiguator.cmo: matitaTypes.cmo matitaDisambiguator.cmi -matitaDisambiguator.cmx: matitaTypes.cmx matitaDisambiguator.cmi -matitaGeneratedGui.cmo: matitaGeneratedGui.cmi -matitaGeneratedGui.cmx: matitaGeneratedGui.cmi -matitaGtkMisc.cmo: matitaGeneratedGui.cmi matitaTypes.cmo matitaGtkMisc.cmi -matitaGtkMisc.cmx: matitaGeneratedGui.cmx matitaTypes.cmx matitaGtkMisc.cmi -matitaGui.cmo: buildTimeConf.cmo matitaConsole.cmi matitaGeneratedGui.cmi \ - matitaGtkMisc.cmi matitaMisc.cmi matitaGui.cmi -matitaGui.cmx: buildTimeConf.cmx matitaConsole.cmx matitaGeneratedGui.cmx \ - matitaGtkMisc.cmx matitaMisc.cmx matitaGui.cmi -matitaInterpreter.cmo: matitaConsole.cmi matitaGui.cmi matitaMathView.cmi \ - matitaProof.cmi matitaTypes.cmo matitaInterpreter.cmi -matitaInterpreter.cmx: matitaConsole.cmx matitaGui.cmx matitaMathView.cmx \ - matitaProof.cmx matitaTypes.cmx matitaInterpreter.cmi -matitaMathView.cmo: matitaCicMisc.cmo matitaGui.cmi matitaTypes.cmo \ - matitaMathView.cmi -matitaMathView.cmx: matitaCicMisc.cmx matitaGui.cmx matitaTypes.cmx \ - matitaMathView.cmi -matitaMisc.cmo: buildTimeConf.cmo matitaMisc.cmi -matitaMisc.cmx: buildTimeConf.cmx matitaMisc.cmi -matita.cmo: buildTimeConf.cmo matitaDisambiguator.cmi matitaGtkMisc.cmi \ - matitaGui.cmi matitaInterpreter.cmi matitaMathView.cmi matitaMisc.cmi \ - matitaTypes.cmo -matita.cmx: buildTimeConf.cmx matitaDisambiguator.cmx matitaGtkMisc.cmx \ - matitaGui.cmx matitaInterpreter.cmx matitaMathView.cmx matitaMisc.cmx \ - matitaTypes.cmx -matitaProof.cmo: buildTimeConf.cmo matitaCicMisc.cmo matitaTypes.cmo \ - matitaProof.cmi -matitaProof.cmx: buildTimeConf.cmx matitaCicMisc.cmx matitaTypes.cmx \ - matitaProof.cmi -matitaTypes.cmo: buildTimeConf.cmo -matitaTypes.cmx: buildTimeConf.cmx -matitaDisambiguator.cmi: matitaTypes.cmo -matitaGtkMisc.cmi: matitaGeneratedGui.cmi matitaTypes.cmo -matitaGui.cmi: matitaConsole.cmi matitaGeneratedGui.cmi -matitaInterpreter.cmi: matitaConsole.cmi matitaTypes.cmo -matitaMathView.cmi: matitaTypes.cmo -matitaProof.cmi: matitaTypes.cmo diff --git a/helm/matita/Makefile.in b/helm/matita/Makefile.in deleted file mode 100644 index e7f4f677b..000000000 --- a/helm/matita/Makefile.in +++ /dev/null @@ -1,72 +0,0 @@ - -OCAMLFIND = @OCAMLFIND@ -CAMLP4O = @CAMLP4O@ -LABLGLADECC = @LABLGLADECC@ -REQUIRES = @FINDLIB_REQUIRES@ -HAVE_OCAMLOPT = @HAVE_OCAMLOPT@ - -OCAML_FLAGS = -package "$(REQUIRES)" -pp $(CAMLP4O) -OCAML_THREADS_FLAGS = -thread -OCAML_DEBUG_FLAGS = -OCAMLC_FLAGS = $(OCAML_FLAGS) $(OCAML_THREADS_FLAGS) $(OCAML_DEBUG_FLAGS) -OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLC_FLAGS) -OCAMLOPT = $(OCAMLFIND) opt $(OCAMLC_FLAGS) -OCAMLDEP = $(OCAMLFIND) ocamldep $(OCAML_FLAGS) -CMOS = \ - buildTimeConf.cmo \ - matitaMisc.cmo \ - matitaGeneratedGui.cmo \ - matitaTypes.cmo \ - matitaCicMisc.cmo \ - matitaGtkMisc.cmo \ - matitaConsole.cmo \ - matitaGui.cmo \ - matitaProof.cmo \ - matitaDisambiguator.cmo \ - matitaMathView.cmo \ - matitaInterpreter.cmo - -LIB_DEPS = $(shell $(OCAMLFIND) query -recursive -predicates "byte" -format "%d/%a" $(REQUIRES)) - -all: matita - -ifeq ($(HAVE_OCAMLOPT),yes) -CMXS = $(patsubst %.cmo,%.cmx,$(CMOS)) -LIBX_DEPS = $(shell $(OCAMLFIND) query -recursive -predicates "native" -format "%d/%a" $(REQUIRES)) -opt: matita.opt -else -opt: - @echo "Native code compilation is disabled" -endif - -matita: $(LIB_DEPS) $(CMOS) matita.ml - $(OCAMLC) -linkpkg -o $@ $(CMOS) matita.ml -matita.opt: $(LIBX_DEPS) $(CMXS) matita.ml - $(OCAMLOPT) -linkpkg -o $@ $(CMXS) matita.ml - -matitaGeneratedGui.ml matitaGeneratedGui.mli: matita.glade - $(LABLGLADECC) $< > matitaGeneratedGui.ml - $(OCAMLC) -i matitaGeneratedGui.ml > matitaGeneratedGui.mli - -%.cmi: %.mli - $(OCAMLC) -c $< -%.cmo %.cmi: %.ml - $(OCAMLC) -c $< -%.cmx: %.ml - $(OCAMLOPT) -c $< - -clean: - rm -rf *.cma *.cmo *.cmi *.cmx *.cmxa *.a *.o matita matita.opt -distclean: clean - rm -f matitaGeneratedGui.ml matitaGeneratedGui.mli - rm -f config.log config.status Makefile buildTimeConf.ml - rm -f matita.glade.bak matita.gladep.bak - rm -rf autom4te.cache/ - -depend: matitaGeneratedGui.ml matitaGeneratedGui.mli - $(OCAMLDEP) *.ml *.mli > .depend - -include .depend - -.PHONY: all opt clean distclean depend - diff --git a/helm/matita/buildTimeConf.ml.in b/helm/matita/buildTimeConf.ml.in deleted file mode 100644 index 39efbf62b..000000000 --- a/helm/matita/buildTimeConf.ml.in +++ /dev/null @@ -1,33 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -let debug = @DEBUG@;; -let version = "0.0.1";; -let undo_history_size = 10;; -let console_history_size = 100;; -let gtkrc = "@MATITA_GTKRC@";; -let base_uri = "cic:/matita";; -let phrase_sep = ";;";; - diff --git a/helm/matita/configure.ac b/helm/matita/configure.ac deleted file mode 100644 index d31611ba0..000000000 --- a/helm/matita/configure.ac +++ /dev/null @@ -1,100 +0,0 @@ -AC_INIT(matita.ml) - -AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no) -if test $HAVE_OCAMLC = "no"; then - AC_MSG_ERROR(could not find ocamlc) -fi -AC_CHECK_PROG(HAVE_OCAMLOPT, ocamlopt, yes, no) -if test $HAVE_OCAMLOPT = "no"; then - AC_MSG_WARN(could not find ocamlopt: native code compilation disabled) -fi -AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no) -if test $HAVE_OCAMLFIND = "yes"; then - OCAMLFIND="ocamlfind" -else - AC_MSG_ERROR(could not find ocamlfind) -fi -AC_CHECK_PROG(HAVE_LABLGLADECC, lablgladecc2, yes, no) -if test $HAVE_LABLGLADECC = "yes"; then - LABLGLADECC="lablgladecc2" -else - AC_MSG_ERROR(could not find lablgladecc2) -fi -AC_CHECK_PROG(HAVE_CAMLP4O, camlp4o, yes, no) -if test $HAVE_CAMLP4O = "yes"; then - CAMLP4O="camlp4o" -else - AC_MSG_ERROR(could not find camlp4o) -fi - -FINDLIB_REQUIRES="\ -lablgtk2.glade \ -lablgtkmathview \ -pcre \ -mysql \ -unix \ -helm-cic_omdoc \ -helm-cic_transformations \ -helm-registry \ -helm-tactics \ -helm-xml \ -helm-xmldiff \ -helm-cic_textual_parser2 \ -" -for r in $FINDLIB_REQUIRES -do - AC_MSG_CHECKING(for $r ocaml library) - if $OCAMLFIND query $r &> /dev/null; then - AC_MSG_RESULT(yes) - else - AC_MSG_ERROR(could not find $r ocaml library) - fi -done - -OCAMLFIND_COMMANDS="" -AC_CHECK_PROG(HAVE_OCAMLC_OPT, ocamlc.opt, yes, no) -if test $HAVE_OCAMLC_OPT = "yes"; then - if test "$OCAMLFIND_COMMANDS" = ""; then - OCAMLFIND_COMMANDS="ocamlc=ocamlc.opt" - else - OCAMLFIND_COMMANDS="$OCAMLFIND_COMMANDS ocamlc=ocamlc.opt" - fi -fi -AC_CHECK_PROG(HAVE_OCAMLOPT_OPT, ocamlopt.opt, yes, no) -if test $HAVE_OCAMLOPT_OPT = "yes"; then - if test "$OCAMLFIND_COMMANDS" = ""; then - OCAMLFIND_COMMANDS="ocamlopt=ocamlopt.opt" - else - OCAMLFIND_COMMANDS="$OCAMLFIND_COMMANDS ocamlopt=ocamlopt.opt" - fi -fi -if test "$OCAMLFIND_COMMANDS" != ""; then - OCAMLFIND="OCAMLFIND_COMMANDS='$OCAMLFIND_COMMANDS' $OCAMLFIND" -fi -AC_ARG_ENABLE(debug, - [ --enable-debug Turn on debugging], - [case "${enableval}" in - yes) DEBUG=true ;; - no) DEBUG=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; - esac], - [DEBUG=true]) -if test "$DEBUG" = "true"; then - echo "debugging enabled" -fi - -MATITA_GTKRC="matita.gtkrc" - -AC_SUBST(CAMLP4O) -AC_SUBST(DEBUG) -AC_SUBST(TRANSFORMER_MODULE) -AC_SUBST(FINDLIB_REQUIRES) -AC_SUBST(HAVE_OCAMLOPT) -AC_SUBST(LABLGLADECC) -AC_SUBST(OCAMLFIND) -AC_SUBST(MATITA_GTKRC) - -AC_OUTPUT([ - buildTimeConf.ml - Makefile -]) diff --git a/helm/matita/matita.conf.xml.sample b/helm/matita/matita.conf.xml.sample deleted file mode 100644 index db02076cb..000000000 --- a/helm/matita/matita.conf.xml.sample +++ /dev/null @@ -1,20 +0,0 @@ - - -

- mowgli.cs.unibo.it - -
-
- matita.glade - true -
-
- $(prefs.server) - helm - mowgli -
-
- remote - http://$(prefs.server):58081/ -
- diff --git a/helm/matita/matita.glade b/helm/matita/matita.glade deleted file mode 100644 index 6420b2aa5..000000000 --- a/helm/matita/matita.glade +++ /dev/null @@ -1,2264 +0,0 @@ - - - - - - - True - Matita - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - 800 - 600 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - - - - True - True - False - - - - True - False - 0 - - - - True - - - - True - _File - True - - - - - - - True - _New - True - - - - True - gtk-new - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - True - _Proof or definition ... - True - - - - - - - True - (Co)Inductive _definitions ... - True - - - - - - - - - - True - _Open... - True - - - - - True - gtk-open - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Save - True - - - - - True - gtk-save - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - Save _As ... - True - - - - True - gtk-save-as - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - _Quit - True - - - - - True - gtk-quit - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - True - _Edit - True - - - - - - True - _View - True - - - - - - - True - Show Button Bar - True - True - - - - - - True - Show Proof Window - True - False - - - - - - - True - Show Check Window - True - False - - - - - - - True - Show Script Window - True - False - - - - - - - True - - - - - - True - Toggle console - True - - - - - - - - - - - True - Debug - True - - - - - - - True - - - - - - - - - - True - _Help - True - - - - - - - True - About... - True - - - - - - - - - 0 - False - False - - - - - - True - True - 450 - - - - True - True - True - True - GTK_POS_TOP - False - False - - - True - False - - - - - - True - True - False - - - - True - False - 0 - - - - True - False - 0 - - - - True - Hide console - True - GTK_RELIEF_NORMAL - True - - - - True - gtk-close - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - 0 - False - False - - - - - - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - - - - 0 - True - True - - - - - - - True - False - - - - - 0 - True - True - - - - - - True - True - - - 0 - False - False - - - - - - - - - - Matita: current proof - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - 700 - 525 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - - - - True - True - False - - - - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - - - - - - - - - 10 - Select File - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - True - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - True - True - GTK_RELIEF_NORMAL - True - - - - - - True - True - True - GTK_RELIEF_NORMAL - True - - - - - - 155 - 450 - True - Tactics - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - False - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - - - - True - True - False - - - - True - False - 0 - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - 50 - True - Intros - True - intros - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Apply - True - apply - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Exact - True - exact - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - 0 - False - False - - - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - 50 - True - Elim - True - elim - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - ElimType - True - elimTy - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - 0 - False - False - - - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - 50 - True - Split - True - split - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 25 - True - Left - True - L - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 25 - True - Right - True - R - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 25 - True - Exists - True - ∃ - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - 0 - False - False - - - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - 50 - True - Reflexivity - True - refl - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Symmetry - True - sym - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Transitivity - True - trans - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - 0 - False - False - - - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - 50 - True - Simplify - True - simpl - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Reduce - True - red - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Whd - True - whd - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - 0 - False - False - - - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - 50 - True - Assumption - True - asum - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Auto - True - auto - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - 0 - False - False - - - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - 50 - True - Cut - True - cut - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - - True - True - True - False - - - - 50 - True - Replace - True - repl - True - GTK_RELIEF_NORMAL - True - - - - - False - False - - - - - 0 - False - False - - - - - - - - - - DUMMY - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - True - False - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - -6 - - - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - -5 - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - DUMMY - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - - - Matita: about - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - True - False - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - -5 - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - <b>Matita @VERSION@</b> - -<tt>http://helm.cs.unibo.it</tt> - -Copyright (C) 2004, -<i>the HELM team</i> - False - True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 5 - 5 - - - 0 - False - False - - - - - - - - 280 - Uri choice - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - True - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - -6 - - - - - - True - True - True - GTK_RELIEF_NORMAL - True - 0 - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-index - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Try _Selected - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - - - - - - - True - False - True - True - Try Constants - True - GTK_RELIEF_NORMAL - True - 0 - - - - - - True - True - True - GTK_RELIEF_NORMAL - True - 0 - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-ok - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - _Auto - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - False - 0 - - - - True - some informative message here ... - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - - - - - 0 - True - True - - - - - - True - False - 0 - - - - True - URI: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - True - True - True - 0 - - True - * - False - - - 0 - True - True - - - - - 0 - False - True - - - - - 0 - True - True - - - - - - - - 200 - Interpretation choice - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - True - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-help - True - GTK_RELIEF_NORMAL - True - -11 - - - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - -6 - - - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - -5 - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - False - 0 - - - - True - some informative message here ... - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - - - True - DUMMY - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - -6 - - - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - -5 - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - DUMMY - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - - - - - - - 300 - 200 - Matita: check term - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - - - - True - True - False - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - - - - - - - - - Matita: script - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - 450 - 800 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - - - - True - True - False - - - - True - True - True - True - GTK_POS_BOTTOM - False - False - - - - True - False - 0 - - - - True - GTK_ORIENTATION_HORIZONTAL - GTK_TOOLBAR_BOTH - True - True - - - - True - True - True - False - - - - True - go back 1 phrase - True - GTK_RELIEF_NORMAL - True - - - - True - gtk-go-back - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - - True - True - True - False - - - - True - execute til cursor - True - GTK_RELIEF_NORMAL - True - - - - True - gtk-jump-to - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - - True - True - True - False - - - - True - go forward 1 phrase - True - GTK_RELIEF_NORMAL - True - - - - True - gtk-go-forward - 4 - 0.5 - 0.5 - 0 - 0 - - - - - - - False - False - - - - - 0 - False - False - - - - - - True - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - True - True - True - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_NONE - True - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - 0 - True - True - - - - - False - True - - - - - - True - script - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - tab - - - - - - True - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - False - True - - - - - False - True - - - - - - True - outline - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - tab - - - - - - - - - - DUMMY - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - -6 - - - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - -5 - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - DUMMY - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_NONE - True - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - 0 - True - True - - - - - - - diff --git a/helm/matita/matita.gladep b/helm/matita/matita.gladep deleted file mode 100644 index cc3340fc9..000000000 --- a/helm/matita/matita.gladep +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Matita - matita - FALSE - diff --git a/helm/matita/matita.gtkrc b/helm/matita/matita.gtkrc deleted file mode 100644 index 91081c311..000000000 --- a/helm/matita/matita.gtkrc +++ /dev/null @@ -1,80 +0,0 @@ -# Based on /usr/share/themes/Emacs/gtk-2.0-key/, -# modified by Zack for matita - -# -# A keybinding set implementing emacs-like keybindings -# - -# -# Bindings for GtkTextView and GtkEntry -# -binding "gtk-emacs-text-entry" -{ - bind "b" { "move-cursor" (logical-positions, -1, 0) } - bind "b" { "move-cursor" (logical-positions, -1, 1) } - bind "f" { "move-cursor" (logical-positions, 1, 0) } - bind "f" { "move-cursor" (logical-positions, 1, 1) } - - bind "b" { "move-cursor" (words, -1, 0) } - bind "b" { "move-cursor" (words, -1, 1) } - bind "f" { "move-cursor" (words, 1, 0) } - bind "f" { "move-cursor" (words, 1, 1) } - - bind "a" { "move-cursor" (paragraph-ends, -1, 0) } - bind "a" { "move-cursor" (paragraph-ends, -1, 1) } - bind "e" { "move-cursor" (paragraph-ends, 1, 0) } - bind "e" { "move-cursor" (paragraph-ends, 1, 1) } - - bind "w" { "cut-clipboard" () } - bind "y" { "paste-clipboard" () } - - bind "d" { "delete-from-cursor" (chars, 1) } - bind "d" { "delete-from-cursor" (word-ends, 1) } - bind "k" { "delete-from-cursor" (paragraph-ends, 1) } - bind "backslash" { "delete-from-cursor" (whitespace, 1) } - - bind "space" { "delete-from-cursor" (whitespace, 1) - "insert-at-cursor" (" ") } - bind "KP_Space" { "delete-from-cursor" (whitespace, 1) - "insert-at-cursor" (" ") } - - # - # Some non-Emacs keybindings people are attached to - # - bind "u" { - "move-cursor" (paragraph-ends, -1, 0) - "delete-from-cursor" (paragraph-ends, 1) - } - bind "h" { "delete-from-cursor" (chars, -1) } - bind "w" { "delete-from-cursor" (word-ends, -1) } -} - -# -# Bindings for GtkTextView -# -binding "gtk-emacs-text-view" -{ -# bind "p" { "move-cursor" (display-lines, -1, 0) } - bind "p" { "move-cursor" (display-lines, -1, 1) } -# bind "n" { "move-cursor" (display-lines, 1, 0) } - bind "n" { "move-cursor" (display-lines, 1, 1) } - - bind "space" { "set-anchor" () } - bind "KP_Space" { "set-anchor" () } -} - -# -# Bindings for GtkTreeView -# -binding "gtk-emacs-tree-view" -{ - bind "s" { "start-interactive-search" () } - bind "f" { "move-cursor" (logical-positions, 1) } - bind "b" { "move-cursor" (logical-positions, -1) } -} - -class "GtkEntry" binding "gtk-emacs-text-entry" -class "GtkTextView" binding "gtk-emacs-text-entry" -class "GtkTextView" binding "gtk-emacs-text-view" -class "GtkTreeView" binding "gtk-emacs-tree-view" - diff --git a/helm/matita/matita.ml b/helm/matita/matita.ml deleted file mode 100644 index 7c9502bd4..000000000 --- a/helm/matita/matita.ml +++ /dev/null @@ -1,239 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open Printf - -open MatitaGtkMisc -open MatitaTypes -open MatitaMisc - -(** {2 Internal status} *) - -let (get_proof, set_proof, has_proof) = - let (current_proof: MatitaTypes.proof option ref) = ref None in - ((fun () -> (* get_proof *) - match !current_proof with - | Some proof -> proof - | None -> failwith "No current proof"), - (fun proof -> (* set_proof *) - current_proof := proof), - (fun () -> (* has_proof *) - !current_proof <> None)) - -(** {2 Initialization} *) - -let _ = - Helm_registry.load_from "matita.conf.xml"; - GtkMain.Rc.add_default_file BuildTimeConf.gtkrc; - GMain.Main.init () -let parserr = new MatitaDisambiguator.parserr () -let dbd = - Mysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") - () -let gui = MatitaGui.instance () -let disambiguator = - new MatitaDisambiguator.disambiguator ~parserr ~dbd - ~chooseUris:(interactive_user_uri_choice ~gui) - ~chooseInterp:(interactive_interp_choice ~gui) - () -let proof_viewer = MatitaMathView.proof_viewer_instance () -let sequent_viewer = MatitaMathView.sequent_viewer ~show:true () -let sequents_viewer = - let set_goal goal = - if not (has_proof ()) then assert false; - (get_proof ())#set_goal goal - in - MatitaMathView.sequents_viewer ~notebook:gui#main#sequentsNotebook - ~sequent_viewer ~set_goal () - -let new_proof (proof: MatitaTypes.proof) = - let proof_observer _ (status, ()) = - let ((uri_opt, _, _, _), _) = status in - proof_viewer#load_proof status; - in - let sequents_observer _ (((_, metasenv, _, _), goal_opt), ()) = - sequents_viewer#reset; - (match goal_opt with - | None -> () - | Some goal -> - sequents_viewer#load_sequents metasenv; - sequents_viewer#goto_sequent goal) - in - ignore (proof#attach_observer ~interested_in:StatefulProofEngine.all_events - sequents_observer); - ignore (proof#attach_observer ~interested_in:StatefulProofEngine.all_events - proof_observer); - proof#notify; - set_proof (Some proof) - -let quit () = (* quit program, asking for confirmation if needed *) - if not (has_proof ()) || - (ask_confirmation ~gui - ~msg:("Proof in progress, are you sure you want to quit?") ()) - then - GMain.Main.quit () - -let abort_proof () = - if has_proof () then begin - set_proof None; - sequents_viewer#reset - end - -let proof_handler = - { MatitaTypes.get_proof = get_proof; - MatitaTypes.abort_proof = abort_proof; - MatitaTypes.set_proof = set_proof; - MatitaTypes.has_proof = has_proof; - MatitaTypes.new_proof = new_proof; - MatitaTypes.quit = quit; - } - -let interpreter = - let console = gui#console in - new MatitaInterpreter.interpreter - ~disambiguator ~proof_handler ~console ~dbd () - -(** {2 Script window handling} *) - -let script_forward _ = - let buf = gui#script#scriptTextView#buffer in - let locked_iter = buf#get_iter_at_mark (`NAME "locked") in - if - interpreter#evalPhrase - (buf#get_text ~start:locked_iter ~stop:buf#end_iter ()); - then - gui#lockScript (locked_iter#offset + interpreter#endOffset) - -let script_jump _ = - let buf = gui#script#scriptTextView#buffer in - let locked_iter = buf#get_iter_at_mark (`NAME "locked") in - let cursor_iter = buf#get_iter_at_mark (`NAME "insert") in - let raw_text = buf#get_text ~start:locked_iter ~stop:cursor_iter () in - let len = String.length raw_text in - let rec parse offset = - if offset < len then begin - if - interpreter#evalPhrase (String.sub raw_text offset (len - offset)) - then begin - let new_offset = interpreter#endOffset + offset in - gui#lockScript (new_offset + locked_iter#offset); - parse new_offset - end else - raise Exit - end - in - try - parse 0 - with Exit -> () - -let script_back _ = not_implemented "script_back" - -let load_script fname = - gui#script#scriptTextView#buffer#set_text (input_file fname); - gui#script#scriptWin#show (); - gui#main#showScriptMenuItem#set_active true - -(** {2 GUI callbacks} *) - -let _ = - gui#setQuitCallback quit; - gui#setPhraseCallback interpreter#evalPhrase; - gui#main#debugMenu#misc#hide (); - ignore (gui#main#newProofMenuItem#connect#activate (fun _ -> - gui#console#clear (); - gui#console#show ~msg:"theorem " ())); - ignore (gui#main#openMenuItem#connect#activate (fun _ -> - match gui#chooseFile () with - | None -> () - | Some f when is_proof_script f -> load_script f - | Some f -> - gui#console#echo_error (sprintf - "Don't know what to do with file: %s\nUnrecognized file format." - f))); - connect_button gui#script#scriptWinForwardButton script_forward; - connect_button gui#script#scriptWinBackButton script_back; - connect_button gui#script#scriptWinJumpButton script_jump; - let module A = TacticAst in - let hole = CicAst.UserInput in - let tac ast _ = ignore (interpreter#evalAst (A.Tactic ast)) in - let tac_w_term ast _ = - gui#console#clear (); - gui#console#show ~msg:(TacticAstPp.pp_tactic ast) (); - gui#main#mainWin#present () - in - let tbar = gui#toolbar in - connect_button tbar#introsButton (tac (A.Intros (None, []))); - connect_button tbar#applyButton (tac_w_term (A.Apply hole)); - connect_button tbar#exactButton (tac_w_term (A.Exact hole)); - connect_button tbar#elimButton (tac_w_term (A.Elim (hole, None))); - connect_button tbar#elimTypeButton (tac_w_term (A.ElimType hole)); - connect_button tbar#splitButton (tac A.Split); - connect_button tbar#leftButton (tac A.Left); - connect_button tbar#rightButton (tac A.Right); - connect_button tbar#existsButton (tac A.Exists); - connect_button tbar#reflexivityButton (tac A.Reflexivity); - connect_button tbar#symmetryButton (tac A.Symmetry); - connect_button tbar#transitivityButton (tac_w_term (A.Transitivity hole)); - -(* connect_button tbar#simplifyButton FINQUI; *) - - connect_button tbar#assumptionButton (tac A.Assumption); - connect_button tbar#cutButton (tac_w_term (A.Cut hole)); - connect_button tbar#autoButton (tac A.Auto) - - (** *) - -let _ = - if BuildTimeConf.debug then begin - gui#main#debugMenu#misc#show (); - let addDebugItem ~label callback = - let item = - GMenu.menu_item ~packing:gui#main#debugMenu_menu#append ~label () - in - ignore (item#connect#activate callback) - in - addDebugItem "toggle auto disambiguation" (fun _ -> - Helm_registry.set_bool "matita.auto_disambiguation" - (not (Helm_registry.get_bool "matita.auto_disambiguation"))); - addDebugItem "dump proof status to stdout" (fun _ -> - print_endline ((get_proof ())#toString)); - addDebugItem "print selected terms" (fun () -> - let i = ref 0 in - List.iter - (fun t -> incr i; debug_print (sprintf "%d: %s" !i (CicPp.ppterm t))) - sequent_viewer#get_selected_terms) - end - - (** *) - -let _ = - (try - load_script Sys.argv.(1) - with Invalid_argument _ -> ()); - GtkThread.main () - diff --git a/helm/matita/matitaCicMisc.ml b/helm/matita/matitaCicMisc.ml deleted file mode 100644 index 523e33ea2..000000000 --- a/helm/matita/matitaCicMisc.ml +++ /dev/null @@ -1,37 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - - (** create a Cic.CurrentProof from a given proof *) -let cicCurrentProof (uri, metasenv, bo, ty) = - let uri = MatitaTypes.unopt_uri uri in - (* TODO CSC: Wrong: [] is just plainly wrong *) - Cic.CurrentProof (UriManager.name_of_uri uri, metasenv, bo, ty, []) - - (** create a Cic.Constant from a given proof *) -let cicConstant (uri, metasenv, bo, ty) = - let uri = MatitaTypes.unopt_uri uri in - (* TODO CSC: Wrong: [] is just plainly wrong *) - Cic.Constant (UriManager.name_of_uri uri, Some bo, ty, []) - diff --git a/helm/matita/matitaConsole.ml b/helm/matita/matitaConsole.ml deleted file mode 100644 index 222055e65..000000000 --- a/helm/matita/matitaConsole.ml +++ /dev/null @@ -1,243 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open Printf - -open MatitaTypes - -(* let default_prompt = "# " *) -let default_prompt = "" -let default_phrase_sep = "." -let default_callback = fun (phrase: string) -> true - -let message_props = [ `STYLE `ITALIC ] -let error_props = [ `WEIGHT `BOLD ] -let prompt_props = [ ] - -let trailing_NL_RE = Pcre.regexp "\n\\s*$" - -exception History_failure - - (** shell like phrase history *) -class history size = - let size = size + 1 in - let decr x = let x' = x - 1 in if x' < 0 then size + x' else x' in - let incr x = (x + 1) mod size in - object - val data = Array.create size "" - val mutable hd = 0 (* insertion point *) - val mutable tl = -1 (* oldest inserted item *) - val mutable cur = -1 (* current item for the history *) - method add s = - data.(hd) <- s; - if tl = -1 then tl <- hd; - hd <- incr hd; - if hd = tl then tl <- incr tl; - cur <- hd - method previous = - if cur = tl then raise History_failure; - cur <- decr cur; - data.(cur) - method next = - if cur = hd then raise History_failure; - cur <- incr cur; - if cur = hd then "" else data.(cur) - end - -class console - ?(prompt = default_prompt) ?(phrase_sep = default_phrase_sep) - ?(callback = default_callback) ?evbox ~(paned:GPack.paned) obj -= - let console_height = 100 in (* pixels *) - object (self) - inherit GText.view obj - - val mutable _phrase_sep = phrase_sep - method phrase_sep = _phrase_sep - method set_phrase_sep sep = _phrase_sep <- sep - - val mutable _prompt = prompt - method prompt = _prompt - method set_prompt prompt = _prompt <- prompt - - val mutable _callback = callback - method set_callback f = _callback <- f - - val mutable _ignore_insert_text_signal = false - method ignore_insert_text_signal ignore = - _ignore_insert_text_signal <- ignore - - val history = new history BuildTimeConf.console_history_size - - val mutable handle_position = 450 - - initializer - let buf = self#buffer in - self#set_wrap_mode `CHAR; - self#hide (); - (* create "USER_INPUT_START" mark. This mark will always point to the - * beginning of user input not yet processed *) - ignore (buf#create_mark ~name:"USER_INPUT_START" - ~left_gravity:true buf#start_iter); - ignore (buf#connect#after#insert_text (fun iter text -> - if (not _ignore_insert_text_signal) && - (iter#compare buf#end_iter = 0) && (* insertion at end *) - (Pcre.pmatch ~rex:trailing_NL_RE text) - then - let inserted_text = - buf#get_text - ~start:(buf#get_iter_at_mark (`NAME "USER_INPUT_START")) - ~stop:buf#end_iter () - in - let pat = (Pcre.quote _phrase_sep) ^ "\\s*$" in - if Pcre.pmatch ~pat inserted_text then begin (* complete phrase *) - self#lock; - self#invoke_callback inserted_text; - self#echo_prompt () - end)); - (match evbox with (* history key bindings *) - | None -> () - | Some evbox -> - List.iter (fun (key, f) -> MatitaGtkMisc.add_key_binding key f evbox) - [ GdkKeysyms._p, (fun () -> self#previous_phrase); - GdkKeysyms._n, (fun () -> self#next_phrase); - ]); - ignore (self#connect#after#move_cursor - (* avoid cursor being placed at prompt's left *) - ~callback:(fun step count ~extend -> - let buf = self#buffer in - let cursor_iter = buf#get_iter_at_mark `INSERT in - let prompt_iter = buf#get_iter_at_mark (`NAME "USER_INPUT_START") in - if prompt_iter#compare cursor_iter = 1 then (* prompt > cursor *) - buf#place_cursor ~where:prompt_iter)) - - method private set_phrase phrase = - let buf = self#buffer in - buf#delete - ~start:(buf#get_iter_at_mark (`NAME "USER_INPUT_START")) - ~stop:buf#end_iter; - buf#insert ~iter:buf#end_iter phrase - - method private invoke_callback phrase = - history#add (* do not push trailing phrase separator *) - (String.sub phrase 0 - (String.length phrase - String.length _phrase_sep)); - if _callback phrase then begin - self#hide (); - self#clear () - (* else callback encountered troubles, don't hide console which - probably contains error message *) - end - - method clear () = - let buf = self#buffer in - buf#delete ~start:buf#start_iter ~stop:buf#end_iter - - (* lock old text and bump USER_INPUT_START mark *) - method private lock = - let buf = self#buffer in - let read_only = buf#create_tag [`EDITABLE false] in - buf#apply_tag read_only ~start:buf#start_iter ~stop:buf#end_iter; - buf#move_mark (`NAME "USER_INPUT_START") buf#end_iter - - method echo_prompt () = - let buf = self#buffer in - self#ignore_insert_text_signal true; - buf#insert ~iter:buf#end_iter ~tags:[buf#create_tag prompt_props] prompt; - self#ignore_insert_text_signal false; - self#lock - - method echo_message msg = - let buf = self#buffer in - self#ignore_insert_text_signal true; - buf#insert ~iter:buf#end_iter ~tags:[buf#create_tag message_props] - (msg ^ "\n"); - self#ignore_insert_text_signal false; - self#lock - - method echo_error msg = - self#show (); - let buf = self#buffer in - self#ignore_insert_text_signal true; - buf#insert ~iter:buf#end_iter ~tags:[buf#create_tag error_props] - (msg ^ "\n"); - self#ignore_insert_text_signal false; - self#lock - - method private get_paned_prop s = - Gobject.get { Gobject.name = s; Gobject.conv = Gobject.Data.int } - paned#as_widget - method private get_position = self#get_paned_prop "position" - method private get_min_position = self#get_paned_prop "min-position" - method private get_max_position = self#get_paned_prop "max-position" - - method show ?(msg = "") () = - self#buffer#insert msg; - paned#set_position (self#get_max_position - console_height); - self#misc#grab_focus () - method hide () = - paned#set_position self#get_max_position - method toggle () = - let pos = self#get_position in - if pos > self#get_max_position - console_height then - self#show () - else - self#hide () - - (** navigation methods: history, cursor motion, ... *) - - method private previous_phrase = - try self#set_phrase history#previous with History_failure -> () - method private next_phrase = - try self#set_phrase history#next with History_failure -> () - - method wrap_exn (f: unit -> unit) = - try - f (); - true - with - | StatefulProofEngine.Tactic_failure exn -> - self#echo_error (sprintf "Tactic failed: %s"(Printexc.to_string exn)); - false - | exn -> - self#echo_error (sprintf "Uncaught exception: %s" - (Printexc.to_string exn)); - false - - end - -let console - ?(prompt = default_prompt) ?(phrase_sep = default_phrase_sep) - ?(callback = default_callback) ?evbox ~paned - ?buffer ?editable ?cursor_visible ?justification ?wrap_mode ?border_width - ?width ?height ?packing ?show () -= - let view = - GText.view - ?buffer ?editable ?cursor_visible ?justification ?wrap_mode ?border_width - ?width ?height ?packing ?show () - in - new console ~prompt ~phrase_sep ~callback ?evbox ~paned view#as_view - diff --git a/helm/matita/matitaConsole.mli b/helm/matita/matitaConsole.mli deleted file mode 100644 index a8e272e22..000000000 --- a/helm/matita/matitaConsole.mli +++ /dev/null @@ -1,85 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - - (** @param evbox event box to which keyboard shortcuts are registered; no - * shortcut will be registered if evbox is not given *) -class console: - ?prompt:string -> ?phrase_sep:string -> ?callback:(string -> bool) -> - ?evbox:GBin.event_box -> paned:GPack.paned -> Gtk.text_view Gtk.obj -> - object - inherit GText.view - - method echo_prompt : unit -> unit - method echo_message : string -> unit - method echo_error : string -> unit - method clear : unit -> unit - - (* console visibility handling inside VPaned *) - - (** @param msg if given, show the console with a prefeed input, cursor - * just after it; defaults to the empty string *) - method show : ?msg:string -> unit -> unit - method hide : unit -> unit - method toggle : unit -> unit - - method prompt : string - method set_prompt : string -> unit - - method phrase_sep : string - method set_phrase_sep : string -> unit - - (** override previous callback definition *) - method set_callback : (string -> bool) -> unit - - method ignore_insert_text_signal: bool -> unit - - (** execute a unit -> unit function, if it raises exceptions shows them as - * errors in the console. - * @return true if no exception has been raised, false otherwise *) - method wrap_exn : (unit -> unit) -> bool - end - - (** @param prompt user prompt (default "# ") - * @param phrase_sep phrase separator (default ".") - * @param callback callback invoked upon reading of a phrase. Callback - * may be invoked more than once if multiple phrases have been inserted before - * hitting return (default: do nothing) *) -val console : - ?prompt:string -> - ?phrase_sep:string -> - ?callback:(string -> bool) -> - ?evbox:GBin.event_box -> - paned:GPack.paned -> - - ?buffer:GText.buffer -> - ?editable:bool -> - ?cursor_visible:bool -> - ?justification:Gtk.Tags.justification -> - ?wrap_mode:Gtk.Tags.wrap_mode -> - ?border_width:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> console - diff --git a/helm/matita/matitaDisambiguator.ml b/helm/matita/matitaDisambiguator.ml deleted file mode 100644 index bb7f2807d..000000000 --- a/helm/matita/matitaDisambiguator.ml +++ /dev/null @@ -1,85 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open MatitaTypes - -class parserr () = - object - method parseTerm = CicTextualParser2.parse_term - method parseTactical = CicTextualParser2.parse_tactical - end - -class disambiguator - ~parserr ~dbd ~(chooseUris: MatitaTypes.choose_uris_callback) - ~(chooseInterp: MatitaTypes.choose_interp_callback) () - = - let disambiguate_term = - let module Callbacks = - struct - let interactive_user_uri_choice - ~selection_mode ?ok ?(enable_button_for_non_vars = true) ~title ~msg - ~id uris - = - chooseUris ~selection_mode ~title ~msg - ~nonvars_button:enable_button_for_non_vars uris - - let interactive_interpretation_choice = chooseInterp - let input_or_locate_uri ~(title:string) ?id = - (* Zack: I try to avoid using this callback. I therefore assume that - * the presence of an identifier that can't be resolved via "locate" - * query is a syntax error *) - let msg = match id with Some id -> id | _ -> "" in - raise (Unbound_identifier msg) - end - in - let module Disambiguator = Disambiguate.Make (Callbacks) in - Disambiguator.disambiguate_term - in - object (self) - val mutable parserr: parserr = parserr - method parserr = parserr - method setParserr p = parserr <- p - - val mutable _env = DisambiguateTypes.Environment.empty - method env = _env - method setEnv e = _env <- e - - method disambiguateTermAst ?(context = []) ?(metasenv = []) ?env termAst = - let (save_state, env) = - match env with - | Some env -> (false, env) - | None -> (true, _env) - in - match disambiguate_term ~dbd context metasenv termAst ~aliases:env with - | [ (env, metasenv, term) as x ] -> - if save_state then self#setEnv env; - x - | _ -> assert false - - method disambiguateTerm ?context ?metasenv ?env stream = - self#disambiguateTermAst ?context ?metasenv ?env - (parserr#parseTerm stream) - end - diff --git a/helm/matita/matitaDisambiguator.mli b/helm/matita/matitaDisambiguator.mli deleted file mode 100644 index 5b7bbc880..000000000 --- a/helm/matita/matitaDisambiguator.mli +++ /dev/null @@ -1,35 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -class parserr: unit -> MatitaTypes.parserr - -class disambiguator: - parserr:MatitaTypes.parserr -> (** parser *) - dbd:Mysql.dbd -> - chooseUris:MatitaTypes.choose_uris_callback -> - chooseInterp:MatitaTypes.choose_interp_callback -> - unit -> - MatitaTypes.disambiguator - diff --git a/helm/matita/matitaGeneratedGui.ml b/helm/matita/matitaGeneratedGui.ml deleted file mode 100644 index 883cb634e..000000000 --- a/helm/matita/matitaGeneratedGui.ml +++ /dev/null @@ -1,820 +0,0 @@ -(* Automatically generated from matita.glade by lablgladecc *) - -class mainWin ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"MainWin" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"MainWin" ~info:"GtkWindow" xmldata)) - method toplevel = toplevel - val mainWin = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"MainWin" ~info:"GtkWindow" xmldata)) - method mainWin = mainWin - val mainWinEventBox = - new GBin.event_box (GtkBin.EventBox.cast - (Glade.get_widget_msg ~name:"MainWinEventBox" ~info:"GtkEventBox" xmldata)) - method mainWinEventBox = mainWinEventBox - val mainWinShape = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"MainWinShape" ~info:"GtkVBox" xmldata)) - method mainWinShape = mainWinShape - val mainMenuBar = - new GMenu.menu_shell (GtkMenu.MenuBar.cast - (Glade.get_widget_msg ~name:"MainMenuBar" ~info:"GtkMenuBar" xmldata)) - method mainMenuBar = mainMenuBar - val fileMenu = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"FileMenu" ~info:"GtkMenuItem" xmldata)) - method fileMenu = fileMenu - val fileMenu_menu = - new GMenu.menu (GtkMenu.Menu.cast - (Glade.get_widget_msg ~name:"FileMenu_menu" ~info:"GtkMenu" xmldata)) - method fileMenu_menu = fileMenu_menu - val newMenu = - new GMenu.image_menu_item (GtkMenu.ImageMenuItem.cast - (Glade.get_widget_msg ~name:"NewMenu" ~info:"GtkImageMenuItem" xmldata)) - method newMenu = newMenu - val image174 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image174" ~info:"GtkImage" xmldata)) - method image174 = image174 - val newMenu_menu = - new GMenu.menu (GtkMenu.Menu.cast - (Glade.get_widget_msg ~name:"NewMenu_menu" ~info:"GtkMenu" xmldata)) - method newMenu_menu = newMenu_menu - val newProofMenuItem = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"NewProofMenuItem" ~info:"GtkMenuItem" xmldata)) - method newProofMenuItem = newProofMenuItem - val newDefsMenuItem = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"NewDefsMenuItem" ~info:"GtkMenuItem" xmldata)) - method newDefsMenuItem = newDefsMenuItem - val openMenuItem = - new GMenu.image_menu_item (GtkMenu.ImageMenuItem.cast - (Glade.get_widget_msg ~name:"OpenMenuItem" ~info:"GtkImageMenuItem" xmldata)) - method openMenuItem = openMenuItem - val image175 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image175" ~info:"GtkImage" xmldata)) - method image175 = image175 - val saveMenuItem = - new GMenu.image_menu_item (GtkMenu.ImageMenuItem.cast - (Glade.get_widget_msg ~name:"SaveMenuItem" ~info:"GtkImageMenuItem" xmldata)) - method saveMenuItem = saveMenuItem - val image176 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image176" ~info:"GtkImage" xmldata)) - method image176 = image176 - val saveAsMenuItem = - new GMenu.image_menu_item (GtkMenu.ImageMenuItem.cast - (Glade.get_widget_msg ~name:"SaveAsMenuItem" ~info:"GtkImageMenuItem" xmldata)) - method saveAsMenuItem = saveAsMenuItem - val image177 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image177" ~info:"GtkImage" xmldata)) - method image177 = image177 - val separator1 = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"separator1" ~info:"GtkSeparatorMenuItem" xmldata)) - method separator1 = separator1 - val quitMenuItem = - new GMenu.image_menu_item (GtkMenu.ImageMenuItem.cast - (Glade.get_widget_msg ~name:"QuitMenuItem" ~info:"GtkImageMenuItem" xmldata)) - method quitMenuItem = quitMenuItem - val image178 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image178" ~info:"GtkImage" xmldata)) - method image178 = image178 - val editMenu = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"EditMenu" ~info:"GtkMenuItem" xmldata)) - method editMenu = editMenu - val viewMenu = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"ViewMenu" ~info:"GtkMenuItem" xmldata)) - method viewMenu = viewMenu - val viewMenu_menu = - new GMenu.menu (GtkMenu.Menu.cast - (Glade.get_widget_msg ~name:"ViewMenu_menu" ~info:"GtkMenu" xmldata)) - method viewMenu_menu = viewMenu_menu - val showToolBarMenuItem = - new GMenu.check_menu_item (GtkMenu.CheckMenuItem.cast - (Glade.get_widget_msg ~name:"ShowToolBarMenuItem" ~info:"GtkCheckMenuItem" xmldata)) - method showToolBarMenuItem = showToolBarMenuItem - val showProofMenuItem = - new GMenu.check_menu_item (GtkMenu.CheckMenuItem.cast - (Glade.get_widget_msg ~name:"ShowProofMenuItem" ~info:"GtkCheckMenuItem" xmldata)) - method showProofMenuItem = showProofMenuItem - val showCheckMenuItem = - new GMenu.check_menu_item (GtkMenu.CheckMenuItem.cast - (Glade.get_widget_msg ~name:"ShowCheckMenuItem" ~info:"GtkCheckMenuItem" xmldata)) - method showCheckMenuItem = showCheckMenuItem - val showScriptMenuItem = - new GMenu.check_menu_item (GtkMenu.CheckMenuItem.cast - (Glade.get_widget_msg ~name:"ShowScriptMenuItem" ~info:"GtkCheckMenuItem" xmldata)) - method showScriptMenuItem = showScriptMenuItem - val separator3 = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"separator3" ~info:"GtkSeparatorMenuItem" xmldata)) - method separator3 = separator3 - val showConsoleMenuItem = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"ShowConsoleMenuItem" ~info:"GtkMenuItem" xmldata)) - method showConsoleMenuItem = showConsoleMenuItem - val debugMenu = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"DebugMenu" ~info:"GtkMenuItem" xmldata)) - method debugMenu = debugMenu - val debugMenu_menu = - new GMenu.menu (GtkMenu.Menu.cast - (Glade.get_widget_msg ~name:"DebugMenu_menu" ~info:"GtkMenu" xmldata)) - method debugMenu_menu = debugMenu_menu - val separator2 = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"separator2" ~info:"GtkSeparatorMenuItem" xmldata)) - method separator2 = separator2 - val helpMenu = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"HelpMenu" ~info:"GtkMenuItem" xmldata)) - method helpMenu = helpMenu - val helpMenu_menu = - new GMenu.menu (GtkMenu.Menu.cast - (Glade.get_widget_msg ~name:"HelpMenu_menu" ~info:"GtkMenu" xmldata)) - method helpMenu_menu = helpMenu_menu - val aboutMenuItem = - new GMenu.menu_item (GtkMenu.MenuItem.cast - (Glade.get_widget_msg ~name:"AboutMenuItem" ~info:"GtkMenuItem" xmldata)) - method aboutMenuItem = aboutMenuItem - val mainVPanes = - new GPack.paned (GtkPack.Paned.cast - (Glade.get_widget_msg ~name:"MainVPanes" ~info:"GtkVPaned" xmldata)) - method mainVPanes = mainVPanes - val sequentsNotebook = - new GPack.notebook (GtkPack.Notebook.cast - (Glade.get_widget_msg ~name:"SequentsNotebook" ~info:"GtkNotebook" xmldata)) - method sequentsNotebook = sequentsNotebook - val consoleEventBox = - new GBin.event_box (GtkBin.EventBox.cast - (Glade.get_widget_msg ~name:"ConsoleEventBox" ~info:"GtkEventBox" xmldata)) - method consoleEventBox = consoleEventBox - val consoleHBox = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"ConsoleHBox" ~info:"GtkHBox" xmldata)) - method consoleHBox = consoleHBox - val vbox6 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"vbox6" ~info:"GtkVBox" xmldata)) - method vbox6 = vbox6 - val hideConsoleButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"HideConsoleButton" ~info:"GtkButton" xmldata)) - method hideConsoleButton = hideConsoleButton - val image169 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image169" ~info:"GtkImage" xmldata)) - method image169 = image169 - val scrolledConsole = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"ScrolledConsole" ~info:"GtkScrolledWindow" xmldata)) - method scrolledConsole = scrolledConsole - val mainStatusBar = - new GMisc.statusbar (GtkMisc.Statusbar.cast - (Glade.get_widget_msg ~name:"MainStatusBar" ~info:"GtkStatusbar" xmldata)) - method mainStatusBar = mainStatusBar - method reparent parent = - mainWinEventBox#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class proofWin ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"ProofWin" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"ProofWin" ~info:"GtkWindow" xmldata)) - method toplevel = toplevel - val proofWin = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"ProofWin" ~info:"GtkWindow" xmldata)) - method proofWin = proofWin - val proofWinEventBox = - new GBin.event_box (GtkBin.EventBox.cast - (Glade.get_widget_msg ~name:"ProofWinEventBox" ~info:"GtkEventBox" xmldata)) - method proofWinEventBox = proofWinEventBox - val scrolledProof = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"ScrolledProof" ~info:"GtkScrolledWindow" xmldata)) - method scrolledProof = scrolledProof - method reparent parent = - proofWinEventBox#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class fileSelectionWin ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"FileSelectionWin" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.file_selection (GtkWindow.FileSelection.cast - (Glade.get_widget_msg ~name:"FileSelectionWin" ~info:"GtkFileSelection" xmldata)) - method toplevel = toplevel - val fileSelectionWin = - new GWindow.file_selection (GtkWindow.FileSelection.cast - (Glade.get_widget_msg ~name:"FileSelectionWin" ~info:"GtkFileSelection" xmldata)) - method fileSelectionWin = fileSelectionWin - val fileSelCancelButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"fileSelCancelButton" ~info:"GtkButton" xmldata)) - method fileSelCancelButton = fileSelCancelButton - val fileSelOkButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"fileSelOkButton" ~info:"GtkButton" xmldata)) - method fileSelOkButton = fileSelOkButton - method check_widgets () = () - end -class toolBarWin ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"ToolBarWin" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"ToolBarWin" ~info:"GtkWindow" xmldata)) - method toplevel = toplevel - val toolBarWin = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"ToolBarWin" ~info:"GtkWindow" xmldata)) - method toolBarWin = toolBarWin - val toolBarEventBox = - new GBin.event_box (GtkBin.EventBox.cast - (Glade.get_widget_msg ~name:"ToolBarEventBox" ~info:"GtkEventBox" xmldata)) - method toolBarEventBox = toolBarEventBox - val toolBarVBox = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"ToolBarVBox" ~info:"GtkVBox" xmldata)) - method toolBarVBox = toolBarVBox - val toolbar2 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar2" ~info:"GtkToolbar" xmldata)) - method toolbar2 = toolbar2 - val introsButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"introsButton" ~info:"GtkButton" xmldata)) - method introsButton = introsButton - val applyButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"applyButton" ~info:"GtkButton" xmldata)) - method applyButton = applyButton - val exactButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"exactButton" ~info:"GtkButton" xmldata)) - method exactButton = exactButton - val toolbar3 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar3" ~info:"GtkToolbar" xmldata)) - method toolbar3 = toolbar3 - val elimButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"elimButton" ~info:"GtkButton" xmldata)) - method elimButton = elimButton - val elimTypeButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"elimTypeButton" ~info:"GtkButton" xmldata)) - method elimTypeButton = elimTypeButton - val toolbar4 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar4" ~info:"GtkToolbar" xmldata)) - method toolbar4 = toolbar4 - val splitButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"splitButton" ~info:"GtkButton" xmldata)) - method splitButton = splitButton - val leftButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"leftButton" ~info:"GtkButton" xmldata)) - method leftButton = leftButton - val rightButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"rightButton" ~info:"GtkButton" xmldata)) - method rightButton = rightButton - val existsButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"existsButton" ~info:"GtkButton" xmldata)) - method existsButton = existsButton - val toolbar5 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar5" ~info:"GtkToolbar" xmldata)) - method toolbar5 = toolbar5 - val reflexivityButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"reflexivityButton" ~info:"GtkButton" xmldata)) - method reflexivityButton = reflexivityButton - val symmetryButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"symmetryButton" ~info:"GtkButton" xmldata)) - method symmetryButton = symmetryButton - val transitivityButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"transitivityButton" ~info:"GtkButton" xmldata)) - method transitivityButton = transitivityButton - val toolbar8 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar8" ~info:"GtkToolbar" xmldata)) - method toolbar8 = toolbar8 - val simplifyButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"simplifyButton" ~info:"GtkButton" xmldata)) - method simplifyButton = simplifyButton - val reduceButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"reduceButton" ~info:"GtkButton" xmldata)) - method reduceButton = reduceButton - val whdButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"whdButton" ~info:"GtkButton" xmldata)) - method whdButton = whdButton - val toolbar6 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar6" ~info:"GtkToolbar" xmldata)) - method toolbar6 = toolbar6 - val assumptionButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"assumptionButton" ~info:"GtkButton" xmldata)) - method assumptionButton = assumptionButton - val autoButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"autoButton" ~info:"GtkButton" xmldata)) - method autoButton = autoButton - val toolbar7 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar7" ~info:"GtkToolbar" xmldata)) - method toolbar7 = toolbar7 - val cutButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"cutButton" ~info:"GtkButton" xmldata)) - method cutButton = cutButton - val replaceButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"replaceButton" ~info:"GtkButton" xmldata)) - method replaceButton = replaceButton - method reparent parent = - toolBarEventBox#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class confirmationDialog ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"ConfirmationDialog" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"ConfirmationDialog" ~info:"GtkDialog" xmldata)) - method toplevel = toplevel - val confirmationDialog = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"ConfirmationDialog" ~info:"GtkDialog" xmldata)) - method confirmationDialog = confirmationDialog - val dialog_vbox1 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"dialog-vbox1" ~info:"GtkVBox" xmldata)) - method dialog_vbox1 = dialog_vbox1 - val dialog_action_area1 = - new GPack.button_box (GtkPack.BBox.cast - (Glade.get_widget_msg ~name:"dialog-action_area1" ~info:"GtkHButtonBox" xmldata)) - method dialog_action_area1 = dialog_action_area1 - val confirmationDialogCancelButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"ConfirmationDialogCancelButton" ~info:"GtkButton" xmldata)) - method confirmationDialogCancelButton = confirmationDialogCancelButton - val confirmationDialogOkButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"ConfirmationDialogOkButton" ~info:"GtkButton" xmldata)) - method confirmationDialogOkButton = confirmationDialogOkButton - val confirmationDialogLabel = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"ConfirmationDialogLabel" ~info:"GtkLabel" xmldata)) - method confirmationDialogLabel = confirmationDialogLabel - method reparent parent = - dialog_vbox1#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class aboutWin ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"AboutWin" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"AboutWin" ~info:"GtkDialog" xmldata)) - method toplevel = toplevel - val aboutWin = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"AboutWin" ~info:"GtkDialog" xmldata)) - method aboutWin = aboutWin - val dialog_vbox2 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"dialog-vbox2" ~info:"GtkVBox" xmldata)) - method dialog_vbox2 = dialog_vbox2 - val dialog_action_area2 = - new GPack.button_box (GtkPack.BBox.cast - (Glade.get_widget_msg ~name:"dialog-action_area2" ~info:"GtkHButtonBox" xmldata)) - method dialog_action_area2 = dialog_action_area2 - val aboutDismissButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"AboutDismissButton" ~info:"GtkButton" xmldata)) - method aboutDismissButton = aboutDismissButton - val aboutLabel = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"AboutLabel" ~info:"GtkLabel" xmldata)) - method aboutLabel = aboutLabel - method reparent parent = - dialog_vbox2#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class uriChoiceDialog ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"UriChoiceDialog" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"UriChoiceDialog" ~info:"GtkDialog" xmldata)) - method toplevel = toplevel - val uriChoiceDialog = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"UriChoiceDialog" ~info:"GtkDialog" xmldata)) - method uriChoiceDialog = uriChoiceDialog - val dialog_vbox3 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"dialog-vbox3" ~info:"GtkVBox" xmldata)) - method dialog_vbox3 = dialog_vbox3 - val dialog_action_area3 = - new GPack.button_box (GtkPack.BBox.cast - (Glade.get_widget_msg ~name:"dialog-action_area3" ~info:"GtkHButtonBox" xmldata)) - method dialog_action_area3 = dialog_action_area3 - val uriChoiceAbortButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"UriChoiceAbortButton" ~info:"GtkButton" xmldata)) - method uriChoiceAbortButton = uriChoiceAbortButton - val uriChoiceSelectedButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"UriChoiceSelectedButton" ~info:"GtkButton" xmldata)) - method uriChoiceSelectedButton = uriChoiceSelectedButton - val alignment2 = - new GBin.alignment (GtkBin.Alignment.cast - (Glade.get_widget_msg ~name:"alignment2" ~info:"GtkAlignment" xmldata)) - method alignment2 = alignment2 - val hbox3 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"hbox3" ~info:"GtkHBox" xmldata)) - method hbox3 = hbox3 - val image19 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image19" ~info:"GtkImage" xmldata)) - method image19 = image19 - val label3 = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"label3" ~info:"GtkLabel" xmldata)) - method label3 = label3 - val uriChoiceConstantsButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"UriChoiceConstantsButton" ~info:"GtkButton" xmldata)) - method uriChoiceConstantsButton = uriChoiceConstantsButton - val uriChoiceAutoButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"UriChoiceAutoButton" ~info:"GtkButton" xmldata)) - method uriChoiceAutoButton = uriChoiceAutoButton - val alignment1 = - new GBin.alignment (GtkBin.Alignment.cast - (Glade.get_widget_msg ~name:"alignment1" ~info:"GtkAlignment" xmldata)) - method alignment1 = alignment1 - val hbox1 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"hbox1" ~info:"GtkHBox" xmldata)) - method hbox1 = hbox1 - val image18 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image18" ~info:"GtkImage" xmldata)) - method image18 = image18 - val label1 = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"label1" ~info:"GtkLabel" xmldata)) - method label1 = label1 - val vbox2 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"vbox2" ~info:"GtkVBox" xmldata)) - method vbox2 = vbox2 - val uriChoiceLabel = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"UriChoiceLabel" ~info:"GtkLabel" xmldata)) - method uriChoiceLabel = uriChoiceLabel - val scrolledwindow1 = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"scrolledwindow1" ~info:"GtkScrolledWindow" xmldata)) - method scrolledwindow1 = scrolledwindow1 - val uriChoiceTreeView = - new GTree.view (GtkTree.TreeView.cast - (Glade.get_widget_msg ~name:"UriChoiceTreeView" ~info:"GtkTreeView" xmldata)) - method uriChoiceTreeView = uriChoiceTreeView - val hbox2 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"hbox2" ~info:"GtkHBox" xmldata)) - method hbox2 = hbox2 - val label2 = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"label2" ~info:"GtkLabel" xmldata)) - method label2 = label2 - val entry1 = - new GEdit.entry (GtkEdit.Entry.cast - (Glade.get_widget_msg ~name:"entry1" ~info:"GtkEntry" xmldata)) - method entry1 = entry1 - method reparent parent = - dialog_vbox3#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class interpChoiceDialog ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"InterpChoiceDialog" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"InterpChoiceDialog" ~info:"GtkDialog" xmldata)) - method toplevel = toplevel - val interpChoiceDialog = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"InterpChoiceDialog" ~info:"GtkDialog" xmldata)) - method interpChoiceDialog = interpChoiceDialog - val dialog_vbox4 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"dialog-vbox4" ~info:"GtkVBox" xmldata)) - method dialog_vbox4 = dialog_vbox4 - val dialog_action_area4 = - new GPack.button_box (GtkPack.BBox.cast - (Glade.get_widget_msg ~name:"dialog-action_area4" ~info:"GtkHButtonBox" xmldata)) - method dialog_action_area4 = dialog_action_area4 - val interpChoiceHelpButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"InterpChoiceHelpButton" ~info:"GtkButton" xmldata)) - method interpChoiceHelpButton = interpChoiceHelpButton - val interpChoiceCancelButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"InterpChoiceCancelButton" ~info:"GtkButton" xmldata)) - method interpChoiceCancelButton = interpChoiceCancelButton - val interpChoiceOkButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"InterpChoiceOkButton" ~info:"GtkButton" xmldata)) - method interpChoiceOkButton = interpChoiceOkButton - val vbox3 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"vbox3" ~info:"GtkVBox" xmldata)) - method vbox3 = vbox3 - val interpChoiceDialogLabel = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"InterpChoiceDialogLabel" ~info:"GtkLabel" xmldata)) - method interpChoiceDialogLabel = interpChoiceDialogLabel - val scrolledwindow4 = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"scrolledwindow4" ~info:"GtkScrolledWindow" xmldata)) - method scrolledwindow4 = scrolledwindow4 - val interpChoiceTreeView = - new GTree.view (GtkTree.TreeView.cast - (Glade.get_widget_msg ~name:"InterpChoiceTreeView" ~info:"GtkTreeView" xmldata)) - method interpChoiceTreeView = interpChoiceTreeView - method reparent parent = - dialog_vbox4#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class emptyDialog ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"EmptyDialog" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"EmptyDialog" ~info:"GtkDialog" xmldata)) - method toplevel = toplevel - val emptyDialog = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"EmptyDialog" ~info:"GtkDialog" xmldata)) - method emptyDialog = emptyDialog - val emptyDialogVBox = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"EmptyDialogVBox" ~info:"GtkVBox" xmldata)) - method emptyDialogVBox = emptyDialogVBox - val dialog_action_area5 = - new GPack.button_box (GtkPack.BBox.cast - (Glade.get_widget_msg ~name:"dialog-action_area5" ~info:"GtkHButtonBox" xmldata)) - method dialog_action_area5 = dialog_action_area5 - val emptyDialogCancelButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"EmptyDialogCancelButton" ~info:"GtkButton" xmldata)) - method emptyDialogCancelButton = emptyDialogCancelButton - val emptyDialogOkButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"EmptyDialogOkButton" ~info:"GtkButton" xmldata)) - method emptyDialogOkButton = emptyDialogOkButton - val emptyDialogLabel = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"EmptyDialogLabel" ~info:"GtkLabel" xmldata)) - method emptyDialogLabel = emptyDialogLabel - method reparent parent = - emptyDialogVBox#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class checkWin ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"CheckWin" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"CheckWin" ~info:"GtkWindow" xmldata)) - method toplevel = toplevel - val checkWin = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"CheckWin" ~info:"GtkWindow" xmldata)) - method checkWin = checkWin - val checkWinEventBox = - new GBin.event_box (GtkBin.EventBox.cast - (Glade.get_widget_msg ~name:"CheckWinEventBox" ~info:"GtkEventBox" xmldata)) - method checkWinEventBox = checkWinEventBox - val scrolledCheck = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"ScrolledCheck" ~info:"GtkScrolledWindow" xmldata)) - method scrolledCheck = scrolledCheck - method reparent parent = - checkWinEventBox#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class scriptWin ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"ScriptWin" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"ScriptWin" ~info:"GtkWindow" xmldata)) - method toplevel = toplevel - val scriptWin = - new GWindow.window (GtkWindow.Window.cast - (Glade.get_widget_msg ~name:"ScriptWin" ~info:"GtkWindow" xmldata)) - method scriptWin = scriptWin - val scriptWinEventBox = - new GBin.event_box (GtkBin.EventBox.cast - (Glade.get_widget_msg ~name:"ScriptWinEventBox" ~info:"GtkEventBox" xmldata)) - method scriptWinEventBox = scriptWinEventBox - val scriptNotebook = - new GPack.notebook (GtkPack.Notebook.cast - (Glade.get_widget_msg ~name:"scriptNotebook" ~info:"GtkNotebook" xmldata)) - method scriptNotebook = scriptNotebook - val vbox4 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"vbox4" ~info:"GtkVBox" xmldata)) - method vbox4 = vbox4 - val toolbar1 = - new GButton.toolbar (GtkButton.Toolbar.cast - (Glade.get_widget_msg ~name:"toolbar1" ~info:"GtkToolbar" xmldata)) - method toolbar1 = toolbar1 - val scriptWinBackButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"ScriptWinBackButton" ~info:"GtkButton" xmldata)) - method scriptWinBackButton = scriptWinBackButton - val image133 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image133" ~info:"GtkImage" xmldata)) - method image133 = image133 - val scriptWinJumpButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"ScriptWinJumpButton" ~info:"GtkButton" xmldata)) - method scriptWinJumpButton = scriptWinJumpButton - val image134 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image134" ~info:"GtkImage" xmldata)) - method image134 = image134 - val scriptWinForwardButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"ScriptWinForwardButton" ~info:"GtkButton" xmldata)) - method scriptWinForwardButton = scriptWinForwardButton - val image135 = - new GMisc.image (GtkMisc.Image.cast - (Glade.get_widget_msg ~name:"image135" ~info:"GtkImage" xmldata)) - method image135 = image135 - val scrolledScript = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"ScrolledScript" ~info:"GtkScrolledWindow" xmldata)) - method scrolledScript = scrolledScript - val scriptTextView = - new GText.view (GtkText.View.cast - (Glade.get_widget_msg ~name:"ScriptTextView" ~info:"GtkTextView" xmldata)) - method scriptTextView = scriptTextView - val label7 = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"label7" ~info:"GtkLabel" xmldata)) - method label7 = label7 - val scrolledwindow3 = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"scrolledwindow3" ~info:"GtkScrolledWindow" xmldata)) - method scrolledwindow3 = scrolledwindow3 - val treeview1 = - new GTree.view (GtkTree.TreeView.cast - (Glade.get_widget_msg ~name:"treeview1" ~info:"GtkTreeView" xmldata)) - method treeview1 = treeview1 - val label8 = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"label8" ~info:"GtkLabel" xmldata)) - method label8 = label8 - method reparent parent = - scriptWinEventBox#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end -class textDialog ?(file="matita.glade") ?domain ?autoconnect(*=true*) () = - let xmldata = Glade.create ~file ~root:"TextDialog" ?domain () in - object (self) - inherit Glade.xml ?autoconnect xmldata - val toplevel = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"TextDialog" ~info:"GtkDialog" xmldata)) - method toplevel = toplevel - val textDialog = - new GWindow.dialog_any (GtkWindow.Dialog.cast - (Glade.get_widget_msg ~name:"TextDialog" ~info:"GtkDialog" xmldata)) - method textDialog = textDialog - val vbox5 = - new GPack.box (GtkPack.Box.cast - (Glade.get_widget_msg ~name:"vbox5" ~info:"GtkVBox" xmldata)) - method vbox5 = vbox5 - val hbuttonbox1 = - new GPack.button_box (GtkPack.BBox.cast - (Glade.get_widget_msg ~name:"hbuttonbox1" ~info:"GtkHButtonBox" xmldata)) - method hbuttonbox1 = hbuttonbox1 - val textDialogCancelButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"TextDialogCancelButton" ~info:"GtkButton" xmldata)) - method textDialogCancelButton = textDialogCancelButton - val textDialogOkButton = - new GButton.button (GtkButton.Button.cast - (Glade.get_widget_msg ~name:"TextDialogOkButton" ~info:"GtkButton" xmldata)) - method textDialogOkButton = textDialogOkButton - val textDialogLabel = - new GMisc.label (GtkMisc.Label.cast - (Glade.get_widget_msg ~name:"TextDialogLabel" ~info:"GtkLabel" xmldata)) - method textDialogLabel = textDialogLabel - val scrolledwindow2 = - new GBin.scrolled_window (GtkBin.ScrolledWindow.cast - (Glade.get_widget_msg ~name:"scrolledwindow2" ~info:"GtkScrolledWindow" xmldata)) - method scrolledwindow2 = scrolledwindow2 - val textDialogTextView = - new GText.view (GtkText.View.cast - (Glade.get_widget_msg ~name:"TextDialogTextView" ~info:"GtkTextView" xmldata)) - method textDialogTextView = textDialogTextView - method reparent parent = - vbox5#misc#reparent parent; - toplevel#destroy () - method check_widgets () = () - end - -let check_all ?(show=false) () = - ignore (GMain.Main.init ()); - let textDialog = new textDialog () in - if show then textDialog#toplevel#show (); - textDialog#check_widgets (); - let scriptWin = new scriptWin () in - if show then scriptWin#toplevel#show (); - scriptWin#check_widgets (); - let checkWin = new checkWin () in - if show then checkWin#toplevel#show (); - checkWin#check_widgets (); - let emptyDialog = new emptyDialog () in - if show then emptyDialog#toplevel#show (); - emptyDialog#check_widgets (); - let interpChoiceDialog = new interpChoiceDialog () in - if show then interpChoiceDialog#toplevel#show (); - interpChoiceDialog#check_widgets (); - let uriChoiceDialog = new uriChoiceDialog () in - if show then uriChoiceDialog#toplevel#show (); - uriChoiceDialog#check_widgets (); - let aboutWin = new aboutWin () in - if show then aboutWin#toplevel#show (); - aboutWin#check_widgets (); - let confirmationDialog = new confirmationDialog () in - if show then confirmationDialog#toplevel#show (); - confirmationDialog#check_widgets (); - let toolBarWin = new toolBarWin () in - if show then toolBarWin#toplevel#show (); - toolBarWin#check_widgets (); - let fileSelectionWin = new fileSelectionWin () in - if show then fileSelectionWin#toplevel#show (); - fileSelectionWin#check_widgets (); - let proofWin = new proofWin () in - if show then proofWin#toplevel#show (); - proofWin#check_widgets (); - let mainWin = new mainWin () in - if show then mainWin#toplevel#show (); - mainWin#check_widgets (); - if show then GMain.Main.main () -;; diff --git a/helm/matita/matitaGeneratedGui.mli b/helm/matita/matitaGeneratedGui.mli deleted file mode 100644 index 74b2adfd0..000000000 --- a/helm/matita/matitaGeneratedGui.mli +++ /dev/null @@ -1,480 +0,0 @@ -class mainWin : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val aboutMenuItem : GMenu.menu_item - val consoleEventBox : GBin.event_box - val consoleHBox : GPack.box - val debugMenu : GMenu.menu_item - val debugMenu_menu : GMenu.menu - val editMenu : GMenu.menu_item - val fileMenu : GMenu.menu_item - val fileMenu_menu : GMenu.menu - val helpMenu : GMenu.menu_item - val helpMenu_menu : GMenu.menu - val hideConsoleButton : GButton.button - val image169 : GMisc.image - val image174 : GMisc.image - val image175 : GMisc.image - val image176 : GMisc.image - val image177 : GMisc.image - val image178 : GMisc.image - val mainMenuBar : GMenu.menu_shell - val mainStatusBar : GMisc.statusbar - val mainVPanes : GPack.paned - val mainWin : GWindow.window - val mainWinEventBox : GBin.event_box - val mainWinShape : GPack.box - val newDefsMenuItem : GMenu.menu_item - val newMenu : GMenu.image_menu_item - val newMenu_menu : GMenu.menu - val newProofMenuItem : GMenu.menu_item - val openMenuItem : GMenu.image_menu_item - val quitMenuItem : GMenu.image_menu_item - val saveAsMenuItem : GMenu.image_menu_item - val saveMenuItem : GMenu.image_menu_item - val scrolledConsole : GBin.scrolled_window - val separator1 : GMenu.menu_item - val separator2 : GMenu.menu_item - val separator3 : GMenu.menu_item - val sequentsNotebook : GPack.notebook - val showCheckMenuItem : GMenu.check_menu_item - val showConsoleMenuItem : GMenu.menu_item - val showProofMenuItem : GMenu.check_menu_item - val showScriptMenuItem : GMenu.check_menu_item - val showToolBarMenuItem : GMenu.check_menu_item - val toplevel : GWindow.window - val vbox6 : GPack.box - val viewMenu : GMenu.menu_item - val viewMenu_menu : GMenu.menu - val xml : Glade.glade_xml Gtk.obj - method aboutMenuItem : GMenu.menu_item - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method consoleEventBox : GBin.event_box - method consoleHBox : GPack.box - method debugMenu : GMenu.menu_item - method debugMenu_menu : GMenu.menu - method editMenu : GMenu.menu_item - method fileMenu : GMenu.menu_item - method fileMenu_menu : GMenu.menu - method helpMenu : GMenu.menu_item - method helpMenu_menu : GMenu.menu - method hideConsoleButton : GButton.button - method image169 : GMisc.image - method image174 : GMisc.image - method image175 : GMisc.image - method image176 : GMisc.image - method image177 : GMisc.image - method image178 : GMisc.image - method mainMenuBar : GMenu.menu_shell - method mainStatusBar : GMisc.statusbar - method mainVPanes : GPack.paned - method mainWin : GWindow.window - method mainWinEventBox : GBin.event_box - method mainWinShape : GPack.box - method newDefsMenuItem : GMenu.menu_item - method newMenu : GMenu.image_menu_item - method newMenu_menu : GMenu.menu - method newProofMenuItem : GMenu.menu_item - method openMenuItem : GMenu.image_menu_item - method quitMenuItem : GMenu.image_menu_item - method reparent : GObj.widget -> unit - method saveAsMenuItem : GMenu.image_menu_item - method saveMenuItem : GMenu.image_menu_item - method scrolledConsole : GBin.scrolled_window - method separator1 : GMenu.menu_item - method separator2 : GMenu.menu_item - method separator3 : GMenu.menu_item - method sequentsNotebook : GPack.notebook - method showCheckMenuItem : GMenu.check_menu_item - method showConsoleMenuItem : GMenu.menu_item - method showProofMenuItem : GMenu.check_menu_item - method showScriptMenuItem : GMenu.check_menu_item - method showToolBarMenuItem : GMenu.check_menu_item - method toplevel : GWindow.window - method vbox6 : GPack.box - method viewMenu : GMenu.menu_item - method viewMenu_menu : GMenu.menu - method xml : Glade.glade_xml Gtk.obj - end -class proofWin : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val proofWin : GWindow.window - val proofWinEventBox : GBin.event_box - val scrolledProof : GBin.scrolled_window - val toplevel : GWindow.window - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method proofWin : GWindow.window - method proofWinEventBox : GBin.event_box - method reparent : GObj.widget -> unit - method scrolledProof : GBin.scrolled_window - method toplevel : GWindow.window - method xml : Glade.glade_xml Gtk.obj - end -class fileSelectionWin : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val fileSelCancelButton : GButton.button - val fileSelOkButton : GButton.button - val fileSelectionWin : GWindow.file_selection - val toplevel : GWindow.file_selection - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method fileSelCancelButton : GButton.button - method fileSelOkButton : GButton.button - method fileSelectionWin : GWindow.file_selection - method toplevel : GWindow.file_selection - method xml : Glade.glade_xml Gtk.obj - end -class toolBarWin : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val applyButton : GButton.button - val assumptionButton : GButton.button - val autoButton : GButton.button - val cutButton : GButton.button - val elimButton : GButton.button - val elimTypeButton : GButton.button - val exactButton : GButton.button - val existsButton : GButton.button - val introsButton : GButton.button - val leftButton : GButton.button - val reduceButton : GButton.button - val reflexivityButton : GButton.button - val replaceButton : GButton.button - val rightButton : GButton.button - val simplifyButton : GButton.button - val splitButton : GButton.button - val symmetryButton : GButton.button - val toolBarEventBox : GBin.event_box - val toolBarVBox : GPack.box - val toolBarWin : GWindow.window - val toolbar2 : GButton.toolbar - val toolbar3 : GButton.toolbar - val toolbar4 : GButton.toolbar - val toolbar5 : GButton.toolbar - val toolbar6 : GButton.toolbar - val toolbar7 : GButton.toolbar - val toolbar8 : GButton.toolbar - val toplevel : GWindow.window - val transitivityButton : GButton.button - val whdButton : GButton.button - val xml : Glade.glade_xml Gtk.obj - method applyButton : GButton.button - method assumptionButton : GButton.button - method autoButton : GButton.button - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method cutButton : GButton.button - method elimButton : GButton.button - method elimTypeButton : GButton.button - method exactButton : GButton.button - method existsButton : GButton.button - method introsButton : GButton.button - method leftButton : GButton.button - method reduceButton : GButton.button - method reflexivityButton : GButton.button - method reparent : GObj.widget -> unit - method replaceButton : GButton.button - method rightButton : GButton.button - method simplifyButton : GButton.button - method splitButton : GButton.button - method symmetryButton : GButton.button - method toolBarEventBox : GBin.event_box - method toolBarVBox : GPack.box - method toolBarWin : GWindow.window - method toolbar2 : GButton.toolbar - method toolbar3 : GButton.toolbar - method toolbar4 : GButton.toolbar - method toolbar5 : GButton.toolbar - method toolbar6 : GButton.toolbar - method toolbar7 : GButton.toolbar - method toolbar8 : GButton.toolbar - method toplevel : GWindow.window - method transitivityButton : GButton.button - method whdButton : GButton.button - method xml : Glade.glade_xml Gtk.obj - end -class confirmationDialog : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val confirmationDialog : GWindow.dialog_any - val confirmationDialogCancelButton : GButton.button - val confirmationDialogLabel : GMisc.label - val confirmationDialogOkButton : GButton.button - val dialog_action_area1 : GPack.button_box - val dialog_vbox1 : GPack.box - val toplevel : GWindow.dialog_any - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method confirmationDialog : GWindow.dialog_any - method confirmationDialogCancelButton : GButton.button - method confirmationDialogLabel : GMisc.label - method confirmationDialogOkButton : GButton.button - method dialog_action_area1 : GPack.button_box - method dialog_vbox1 : GPack.box - method reparent : GObj.widget -> unit - method toplevel : GWindow.dialog_any - method xml : Glade.glade_xml Gtk.obj - end -class aboutWin : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val aboutDismissButton : GButton.button - val aboutLabel : GMisc.label - val aboutWin : GWindow.dialog_any - val dialog_action_area2 : GPack.button_box - val dialog_vbox2 : GPack.box - val toplevel : GWindow.dialog_any - val xml : Glade.glade_xml Gtk.obj - method aboutDismissButton : GButton.button - method aboutLabel : GMisc.label - method aboutWin : GWindow.dialog_any - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method dialog_action_area2 : GPack.button_box - method dialog_vbox2 : GPack.box - method reparent : GObj.widget -> unit - method toplevel : GWindow.dialog_any - method xml : Glade.glade_xml Gtk.obj - end -class uriChoiceDialog : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val alignment1 : GBin.alignment - val alignment2 : GBin.alignment - val dialog_action_area3 : GPack.button_box - val dialog_vbox3 : GPack.box - val entry1 : GEdit.entry - val hbox1 : GPack.box - val hbox2 : GPack.box - val hbox3 : GPack.box - val image18 : GMisc.image - val image19 : GMisc.image - val label1 : GMisc.label - val label2 : GMisc.label - val label3 : GMisc.label - val scrolledwindow1 : GBin.scrolled_window - val toplevel : GWindow.dialog_any - val uriChoiceAbortButton : GButton.button - val uriChoiceAutoButton : GButton.button - val uriChoiceConstantsButton : GButton.button - val uriChoiceDialog : GWindow.dialog_any - val uriChoiceLabel : GMisc.label - val uriChoiceSelectedButton : GButton.button - val uriChoiceTreeView : GTree.view - val vbox2 : GPack.box - val xml : Glade.glade_xml Gtk.obj - method alignment1 : GBin.alignment - method alignment2 : GBin.alignment - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method dialog_action_area3 : GPack.button_box - method dialog_vbox3 : GPack.box - method entry1 : GEdit.entry - method hbox1 : GPack.box - method hbox2 : GPack.box - method hbox3 : GPack.box - method image18 : GMisc.image - method image19 : GMisc.image - method label1 : GMisc.label - method label2 : GMisc.label - method label3 : GMisc.label - method reparent : GObj.widget -> unit - method scrolledwindow1 : GBin.scrolled_window - method toplevel : GWindow.dialog_any - method uriChoiceAbortButton : GButton.button - method uriChoiceAutoButton : GButton.button - method uriChoiceConstantsButton : GButton.button - method uriChoiceDialog : GWindow.dialog_any - method uriChoiceLabel : GMisc.label - method uriChoiceSelectedButton : GButton.button - method uriChoiceTreeView : GTree.view - method vbox2 : GPack.box - method xml : Glade.glade_xml Gtk.obj - end -class interpChoiceDialog : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val dialog_action_area4 : GPack.button_box - val dialog_vbox4 : GPack.box - val interpChoiceCancelButton : GButton.button - val interpChoiceDialog : GWindow.dialog_any - val interpChoiceDialogLabel : GMisc.label - val interpChoiceHelpButton : GButton.button - val interpChoiceOkButton : GButton.button - val interpChoiceTreeView : GTree.view - val scrolledwindow4 : GBin.scrolled_window - val toplevel : GWindow.dialog_any - val vbox3 : GPack.box - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method dialog_action_area4 : GPack.button_box - method dialog_vbox4 : GPack.box - method interpChoiceCancelButton : GButton.button - method interpChoiceDialog : GWindow.dialog_any - method interpChoiceDialogLabel : GMisc.label - method interpChoiceHelpButton : GButton.button - method interpChoiceOkButton : GButton.button - method interpChoiceTreeView : GTree.view - method reparent : GObj.widget -> unit - method scrolledwindow4 : GBin.scrolled_window - method toplevel : GWindow.dialog_any - method vbox3 : GPack.box - method xml : Glade.glade_xml Gtk.obj - end -class emptyDialog : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val dialog_action_area5 : GPack.button_box - val emptyDialog : GWindow.dialog_any - val emptyDialogCancelButton : GButton.button - val emptyDialogLabel : GMisc.label - val emptyDialogOkButton : GButton.button - val emptyDialogVBox : GPack.box - val toplevel : GWindow.dialog_any - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method dialog_action_area5 : GPack.button_box - method emptyDialog : GWindow.dialog_any - method emptyDialogCancelButton : GButton.button - method emptyDialogLabel : GMisc.label - method emptyDialogOkButton : GButton.button - method emptyDialogVBox : GPack.box - method reparent : GObj.widget -> unit - method toplevel : GWindow.dialog_any - method xml : Glade.glade_xml Gtk.obj - end -class checkWin : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val checkWin : GWindow.window - val checkWinEventBox : GBin.event_box - val scrolledCheck : GBin.scrolled_window - val toplevel : GWindow.window - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method checkWin : GWindow.window - method checkWinEventBox : GBin.event_box - method check_widgets : unit -> unit - method reparent : GObj.widget -> unit - method scrolledCheck : GBin.scrolled_window - method toplevel : GWindow.window - method xml : Glade.glade_xml Gtk.obj - end -class scriptWin : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val image133 : GMisc.image - val image134 : GMisc.image - val image135 : GMisc.image - val label7 : GMisc.label - val label8 : GMisc.label - val scriptNotebook : GPack.notebook - val scriptTextView : GText.view - val scriptWin : GWindow.window - val scriptWinBackButton : GButton.button - val scriptWinEventBox : GBin.event_box - val scriptWinForwardButton : GButton.button - val scriptWinJumpButton : GButton.button - val scrolledScript : GBin.scrolled_window - val scrolledwindow3 : GBin.scrolled_window - val toolbar1 : GButton.toolbar - val toplevel : GWindow.window - val treeview1 : GTree.view - val vbox4 : GPack.box - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method image133 : GMisc.image - method image134 : GMisc.image - method image135 : GMisc.image - method label7 : GMisc.label - method label8 : GMisc.label - method reparent : GObj.widget -> unit - method scriptNotebook : GPack.notebook - method scriptTextView : GText.view - method scriptWin : GWindow.window - method scriptWinBackButton : GButton.button - method scriptWinEventBox : GBin.event_box - method scriptWinForwardButton : GButton.button - method scriptWinJumpButton : GButton.button - method scrolledScript : GBin.scrolled_window - method scrolledwindow3 : GBin.scrolled_window - method toolbar1 : GButton.toolbar - method toplevel : GWindow.window - method treeview1 : GTree.view - method vbox4 : GPack.box - method xml : Glade.glade_xml Gtk.obj - end -class textDialog : - ?file:string -> - ?domain:string -> - ?autoconnect:bool -> - unit -> - object - val hbuttonbox1 : GPack.button_box - val scrolledwindow2 : GBin.scrolled_window - val textDialog : GWindow.dialog_any - val textDialogCancelButton : GButton.button - val textDialogLabel : GMisc.label - val textDialogOkButton : GButton.button - val textDialogTextView : GText.view - val toplevel : GWindow.dialog_any - val vbox5 : GPack.box - val xml : Glade.glade_xml Gtk.obj - method bind : name:string -> callback:(unit -> unit) -> unit - method check_widgets : unit -> unit - method hbuttonbox1 : GPack.button_box - method reparent : GObj.widget -> unit - method scrolledwindow2 : GBin.scrolled_window - method textDialog : GWindow.dialog_any - method textDialogCancelButton : GButton.button - method textDialogLabel : GMisc.label - method textDialogOkButton : GButton.button - method textDialogTextView : GText.view - method toplevel : GWindow.dialog_any - method vbox5 : GPack.box - method xml : Glade.glade_xml Gtk.obj - end -val check_all : ?show:bool -> unit -> unit diff --git a/helm/matita/matitaGtkMisc.ml b/helm/matita/matitaGtkMisc.ml deleted file mode 100644 index aebd2dbc9..000000000 --- a/helm/matita/matitaGtkMisc.ml +++ /dev/null @@ -1,269 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open Printf - -open MatitaTypes - -let connect_button (button: GButton.button) callback = - ignore (button#connect#clicked callback) - -let toggle_visibility ~(win: GWindow.window) ~(check: GMenu.check_menu_item) = - ignore (check#connect#toggled (fun _ -> - if check#active then win#show () else win#misc#hide ())); - ignore (win#event#connect#delete (fun _ -> - win#misc#hide (); - check#set_active false; - true)) - -let toggle_win ?(check: GMenu.check_menu_item option) (win: GWindow.window) () = - if win#is_active then win#misc#hide () else win#show (); - match check with - | None -> () - | Some check -> check#set_active (not check#active) - -let add_key_binding key callback (evbox: GBin.event_box) = - ignore (evbox#event#connect#key_press (function - | key' when GdkEvent.Key.keyval key' = key -> - callback (); - false - | _ -> false)) - -class stringListModel (tree_view: GTree.view) = - let column_list = new GTree.column_list in - let text_column = column_list#add Gobject.Data.string in - let list_store = GTree.list_store column_list in - object (self) - - initializer - let renderer = (GTree.cell_renderer_text [], ["text", text_column]) in - let view_column = GTree.view_column ~renderer () in - tree_view#set_model (Some (list_store :> GTree.model)); - ignore (tree_view#append_column view_column) - - method list_store = list_store - - method easy_append s = - let tree_iter = list_store#append () in - list_store#set ~row:tree_iter ~column:text_column s - - method easy_insert pos s = - let tree_iter = list_store#insert pos in - list_store#set ~row:tree_iter ~column:text_column s - - method easy_selection () = - List.map - (fun tree_path -> - let iter = list_store#get_iter tree_path in - list_store#get ~row:iter ~column:text_column) - tree_view#selection#get_selected_rows - - end - -class interpModel = - let cols = new GTree.column_list in - let id_col = cols#add Gobject.Data.string in - let dsc_col = cols#add Gobject.Data.string in - let interp_no_col = cols#add Gobject.Data.int in - let tree_store = GTree.tree_store cols in - let id_renderer = GTree.cell_renderer_text [], ["text", id_col] in - let dsc_renderer = GTree.cell_renderer_text [], ["text", dsc_col] in - let id_view_col = GTree.view_column ~renderer:id_renderer () in - let dsc_view_col = GTree.view_column ~renderer:dsc_renderer () in - fun tree_view choices -> - object - initializer - tree_view#set_model (Some (tree_store :> GTree.model)); - ignore (tree_view#append_column id_view_col); - ignore (tree_view#append_column dsc_view_col); - let name_of_interp = - (* try to find a reasonable name for an interpretation *) - let idx = ref 0 in - fun interp -> - try - List.assoc "0" interp - with Not_found -> - incr idx; string_of_int !idx - in - tree_store#clear (); - let idx = ref ~-1 in - List.iter - (fun interp -> - incr idx; - let interp_row = tree_store#append () in - tree_store#set ~row:interp_row ~column:id_col - (name_of_interp interp); - tree_store#set ~row:interp_row ~column:interp_no_col !idx; - List.iter - (fun (id, dsc) -> - let row = tree_store#append ~parent:interp_row () in - tree_store#set ~row ~column:id_col id; - tree_store#set ~row ~column:dsc_col dsc; - tree_store#set ~row ~column:interp_no_col !idx) - interp) - choices - - method get_interp_no tree_path = - let iter = tree_store#get_iter tree_path in - tree_store#get ~row:iter ~column:interp_no_col - end - -let is_var_uri s = - try - String.sub s (String.length s - 4) 4 = ".var" - with Invalid_argument _ -> false - -let non p x = not (p x) - -class type gui = - object - method newUriDialog: unit -> MatitaGeneratedGui.uriChoiceDialog - method newInterpDialog: unit -> MatitaGeneratedGui.interpChoiceDialog - method newConfirmationDialog: unit -> MatitaGeneratedGui.confirmationDialog - method newEmptyDialog: unit -> MatitaGeneratedGui.emptyDialog - end - -let interactive_user_uri_choice - ~(gui:#gui) ~(selection_mode:[`SINGLE|`MULTIPLE]) ?(title = "") - ?(msg = "") ?(nonvars_button=false) uris -= - let nonvars_uris = lazy (List.filter (non is_var_uri) uris) in - if (selection_mode <> `SINGLE) && - (Helm_registry.get_bool "matita.auto_disambiguation") - then - Lazy.force nonvars_uris - else begin - let dialog = gui#newUriDialog () in - dialog#uriChoiceTreeView#selection#set_mode - (selection_mode :> Gtk.Tags.selection_mode); - let model = new stringListModel dialog#uriChoiceTreeView in - let choices = ref None in - let nonvars = ref false in - dialog#uriChoiceDialog#set_title title; - dialog#uriChoiceLabel#set_text msg; - List.iter model#easy_append uris; - dialog#uriChoiceConstantsButton#misc#set_sensitive nonvars_button; - let return v = - choices := v; - dialog#uriChoiceDialog#destroy (); - GMain.Main.quit () - in - ignore (dialog#uriChoiceDialog#event#connect#delete (fun _ -> true)); - connect_button dialog#uriChoiceConstantsButton (fun _ -> - return (Some (Lazy.force nonvars_uris))); - connect_button dialog#uriChoiceAutoButton (fun _ -> - Helm_registry.set_bool "matita.auto_disambiguation" true; - return (Some (Lazy.force nonvars_uris))); - connect_button dialog#uriChoiceSelectedButton (fun _ -> - match model#easy_selection () with - | [] -> () - | uris -> return (Some uris)); - connect_button dialog#uriChoiceAbortButton (fun _ -> return None); - dialog#uriChoiceDialog#show (); - GtkThread.main (); - (match !choices with - | None -> raise Cancel - | Some uris -> uris) - end - -let interactive_interp_choice ~(gui:#gui) choices = - assert (choices <> []); - let dialog = gui#newInterpDialog () in - let model = new interpModel dialog#interpChoiceTreeView choices in - let interp_len = List.length (List.hd choices) in - dialog#interpChoiceDialog#set_title "Interpretation choice"; - dialog#interpChoiceDialogLabel#set_label "Choose an interpretation:"; - let interp_no = ref None in - let return _ = - dialog#interpChoiceDialog#destroy (); - GMain.Main.quit () - in - let fail _ = interp_no := None; return () in - ignore (dialog#interpChoiceDialog#event#connect#delete (fun _ -> true)); - connect_button dialog#interpChoiceOkButton (fun _ -> - match !interp_no with None -> () | Some _ -> return ()); - connect_button dialog#interpChoiceCancelButton fail; - ignore (dialog#interpChoiceTreeView#connect#row_activated (fun path _ -> - interp_no := Some (model#get_interp_no path); - return ())); - let selection = dialog#interpChoiceTreeView#selection in - ignore (selection#connect#changed (fun _ -> - match selection#get_selected_rows with - | [path] -> - debug_print (sprintf "selection: %d" (model#get_interp_no path)); - interp_no := Some (model#get_interp_no path) - | _ -> assert false)); - dialog#interpChoiceDialog#show (); - GtkThread.main (); - (match !interp_no with Some row -> [row] | _ -> raise Cancel) - -let ask_confirmation ~(gui:#gui) ?(title = "") ?(msg = "") () = - let dialog = gui#newConfirmationDialog () in - dialog#confirmationDialog#set_title title; - dialog#confirmationDialogLabel#set_label msg; - let result = ref None in - let return r _ = - result := Some r; - dialog#confirmationDialog#destroy (); - GMain.Main.quit () - in - ignore (dialog#confirmationDialog#event#connect#delete (fun _ -> true)); - connect_button dialog#confirmationDialogOkButton (return true); - connect_button dialog#confirmationDialogCancelButton (return false); - dialog#confirmationDialog#show (); - GtkThread.main (); - (match !result with None -> assert false | Some r -> r) - -let ask_text ~(gui:#gui) ?(title = "") ?(msg = "") ?(multiline = false) () = - let dialog = gui#newEmptyDialog () in - dialog#emptyDialog#set_title title; - dialog#emptyDialogLabel#set_label msg; - let result = ref None in - let return r = - result := r; - dialog#emptyDialog#destroy (); - GMain.Main.quit () - in - ignore (dialog#emptyDialog#event#connect#delete (fun _ -> true)); - if multiline then begin (* multiline input required: use a TextView widget *) - let win = - GBin.scrolled_window ~width:400 ~height:150 ~hpolicy:`NEVER - ~vpolicy:`ALWAYS ~packing:dialog#emptyDialogVBox#add () - in - let view = GText.view ~wrap_mode:`CHAR ~packing:win#add () in - view#misc#grab_focus (); - connect_button dialog#emptyDialogOkButton (fun _ -> - return (Some (view#buffer#get_text ()))) - end else begin (* monoline input required: use a TextEntry widget *) - let entry = GEdit.entry ~packing:dialog#emptyDialogVBox#add () in - entry#misc#grab_focus (); - connect_button dialog#emptyDialogOkButton (fun _ -> - return (Some entry#text)) - end; - connect_button dialog#emptyDialogCancelButton (fun _ ->return None); - dialog#emptyDialog#show (); - GtkThread.main (); - (match !result with None -> raise Cancel | Some r -> r) - diff --git a/helm/matita/matitaGtkMisc.mli b/helm/matita/matitaGtkMisc.mli deleted file mode 100644 index 92606176c..000000000 --- a/helm/matita/matitaGtkMisc.mli +++ /dev/null @@ -1,77 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -(** {2 Gtk helpers} *) - - (** given a window and a check menu item it links the two so that the former - * is only hidden on delete and the latter toggle show/hide of the former *) -val toggle_visibility: - win:GWindow.window -> check:GMenu.check_menu_item -> unit - -val toggle_win: - ?check:GMenu.check_menu_item -> GWindow.window -> unit -> unit - -val add_key_binding: Gdk.keysym -> (unit -> 'a) -> GBin.event_box -> unit - -val connect_button: GButton.button -> (unit -> unit) -> unit - - (** single string column list *) -class stringListModel: - GTree.view -> - object - method list_store: GTree.list_store (** list_store forwarding *) - - method easy_append: string -> unit (** append + set *) - method easy_insert: int -> string -> unit (** insert + set *) - method easy_selection: unit -> string list - end - -(** {2 Matita GUI components} *) - -class type gui = - object (* minimal gui object requirements *) - method newUriDialog: unit -> MatitaGeneratedGui.uriChoiceDialog - method newInterpDialog: unit -> MatitaGeneratedGui.interpChoiceDialog - method newConfirmationDialog: unit -> MatitaGeneratedGui.confirmationDialog - method newEmptyDialog: unit -> MatitaGeneratedGui.emptyDialog - end - - (** {3 Dialogs} *) - - (** @raise MatitaTypes.Cancel *) -val interactive_user_uri_choice: gui:#gui -> MatitaTypes.choose_uris_callback - - (** @raise MatitaTypes.Cancel *) -val interactive_interp_choice: gui:#gui -> MatitaTypes.choose_interp_callback - - (** @return true if user hit "ok" button, false if user hit "cancel" button *) -val ask_confirmation: gui:#gui -> ?title:string -> ?msg:string -> unit -> bool - - (** @param multiline (default: false) if true a TextView widget will be used - * for prompting the user otherwise a TextEntry widget will be - * @return the string given by the user *) -val ask_text: - gui:#gui -> ?title:string -> ?msg:string -> ?multiline:bool -> unit -> string - diff --git a/helm/matita/matitaGui.ml b/helm/matita/matitaGui.ml deleted file mode 100644 index 26cf9df08..000000000 --- a/helm/matita/matitaGui.ml +++ /dev/null @@ -1,214 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -(* -class stringListModel' uriChoiceDialog = - let tree_view = uriChoiceDialog#uriChoiceTreeView in - let column_list = new GTree.column_list in - let text_column = column_list#add Gobject.Data.string in - let list_store = GTree.list_store column_list in - let renderer = (GTree.cell_renderer_text [], ["text", text_column]) in - let view_column = GTree.view_column ~renderer () in - let _ = tree_view#set_model (Some (list_store :> GTree.model)) in - let _ = tree_view#append_column view_column in - object - method append s = - let tree_iter = list_store#append () in - list_store#set ~row:tree_iter ~column:text_column s - method clear () = list_store#clear () - end -*) - -open Printf - -open MatitaGeneratedGui -open MatitaGtkMisc -open MatitaMisc - -class gui file = - (* creation order _is_ relevant for windows placement *) - let toolbar = new toolBarWin ~file () in - let main = new mainWin ~file () in - let about = new aboutWin ~file () in - let fileSel = new fileSelectionWin ~file () in - let proof = new proofWin ~file () in - let check = new checkWin ~file () in - let script = new scriptWin ~file () in - let keyBindingBoxes = (* event boxes which should receive global key events *) - [ toolbar#toolBarEventBox; proof#proofWinEventBox; main#mainWinEventBox; - check#checkWinEventBox; script#scriptWinEventBox; main#consoleEventBox ] - in - let console = - MatitaConsole.console ~evbox:main#consoleEventBox - ~phrase_sep:BuildTimeConf.phrase_sep - ~packing:main#scrolledConsole#add ~paned:main#mainVPanes () - in - let script_buf = script#scriptTextView#buffer in - object (self) - val mutable chosen_file = None - - (** text mark and tag representing locked part of a script *) - val locked_mark = - script_buf#create_mark ~name:"locked" ~left_gravity:true - script_buf#start_iter - val locked_tag = - script_buf#create_tag [`BACKGROUND "green"; `EDITABLE false] - - initializer - (* glade's check widgets *) - List.iter (fun w -> w#check_widgets ()) - (let c w = (w :> unit>) in - [ c about; c fileSel; c main; c proof; c toolbar; c check; c script ]); - (* "global" key bindings *) - List.iter (fun (key, callback) -> self#addKeyBinding key callback) - [ GdkKeysyms._F3, - toggle_win ~check:main#showProofMenuItem proof#proofWin; - GdkKeysyms._F4, - toggle_win ~check:main#showCheckMenuItem check#checkWin; - GdkKeysyms._F5, - toggle_win ~check:main#showScriptMenuItem script#scriptWin; - GdkKeysyms._x, (fun () -> console#toggle ()); - ]; - (* about win *) - ignore (about#aboutWin#event#connect#delete (fun _ -> true)); - ignore (main#aboutMenuItem#connect#activate (fun _ -> - about#aboutWin#show ())); - connect_button about#aboutDismissButton (fun _ -> - about#aboutWin#misc#hide ()); - about#aboutLabel#set_label (Pcre.replace ~pat:"@VERSION@" - ~templ:BuildTimeConf.version about#aboutLabel#label); - (* file selection win *) - ignore (fileSel#fileSelectionWin#event#connect#delete (fun _ -> true)); - ignore (fileSel#fileSelectionWin#connect#response (fun event -> - let return r = - chosen_file <- r; - fileSel#fileSelectionWin#misc#hide (); - GMain.Main.quit () - in - match event with - | `OK -> - let fname = fileSel#fileSelectionWin#filename in - if is_regular fname then return (Some fname) - | `CANCEL -> return None - | `HELP -> () - | `DELETE_EVENT -> return None)); - (* script *) - (* menus *) - toggle_visibility toolbar#toolBarWin main#showToolBarMenuItem; - toggle_visibility proof#proofWin main#showProofMenuItem; - toggle_visibility check#checkWin main#showCheckMenuItem; - toggle_visibility script#scriptWin main#showScriptMenuItem; - List.iter (fun w -> w#misc#set_sensitive false) - [ main#saveMenuItem; main#saveAsMenuItem ]; - main#helpMenu#set_right_justified true; - ignore (main#showConsoleMenuItem#connect#activate console#toggle); - (* main *) - connect_button main#hideConsoleButton console#hide; -(* - (* console *) - console#echo_message (sprintf "\tMatita version %s\n" - BuildTimeConf.version); - console#echo_prompt (); - console#misc#grab_focus (); -*) - - method about = about - method check = check - method console = console - method fileSel = fileSel - method main = main - method proof = proof - method script = script - method toolbar = toolbar - - method newUriDialog () = - let dialog = new uriChoiceDialog ~file () in - dialog#check_widgets (); - dialog - - method newInterpDialog () = - let dialog = new interpChoiceDialog ~file () in - dialog#check_widgets (); - dialog - - method newConfirmationDialog () = - let dialog = new confirmationDialog ~file () in - dialog#check_widgets (); - dialog - - method newEmptyDialog () = - let dialog = new emptyDialog ~file () in - dialog#check_widgets (); - dialog - - method private addKeyBinding key callback = - List.iter (fun evbox -> add_key_binding key callback evbox) - keyBindingBoxes - - method setQuitCallback callback = - ignore (main#toplevel#connect#destroy callback); - ignore (main#quitMenuItem#connect#activate callback); - self#addKeyBinding GdkKeysyms._q callback - - method setPhraseCallback = console#set_callback - - method chooseFile () = - fileSel#fileSelectionWin#show (); - GtkThread.main (); - chosen_file - - method askText ?(title = "") ?(msg = "") () = - let dialog = new textDialog () in - dialog#textDialog#set_title title; - dialog#textDialogLabel#set_label msg; - let text = ref None in - let return v = - text := v; - dialog#textDialog#destroy (); - GMain.Main.quit () - in - ignore (dialog#textDialog#event#connect#delete (fun _ -> true)); - connect_button dialog#textDialogCancelButton (fun _ -> return None); - connect_button dialog#textDialogOkButton (fun _ -> - let text = dialog#textDialogTextView#buffer#get_text () in - return (Some text)); - dialog#textDialog#show (); - GtkThread.main (); - !text - - method lockScript offset = - let mark = `MARK locked_mark in - script_buf#move_mark mark ~where:(script_buf#get_iter_at_char offset); - script_buf#remove_tag locked_tag ~start:script_buf#start_iter - ~stop:script_buf#end_iter; - script_buf#apply_tag locked_tag ~start:script_buf#start_iter - ~stop:(script_buf#get_iter_at_mark mark) - - end - -let instance = - let gui = lazy (new gui (Helm_registry.get "matita.glade_file")) in - fun () -> Lazy.force gui - diff --git a/helm/matita/matitaGui.mli b/helm/matita/matitaGui.mli deleted file mode 100644 index dfb93cd18..000000000 --- a/helm/matita/matitaGui.mli +++ /dev/null @@ -1,81 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -(* -class type stringListModel = - object - method clear: unit -> unit - method append: string -> unit - end -*) - - (** @param fname name of the Glade file describing the GUI *) -class gui : - string -> - object - - method setQuitCallback : (unit -> unit) -> unit - method setPhraseCallback : (string -> bool) -> unit - - (** {2 Access to lower-level GTK widgets} *) - - method about : MatitaGeneratedGui.aboutWin - method check : MatitaGeneratedGui.checkWin - method fileSel : MatitaGeneratedGui.fileSelectionWin - method main : MatitaGeneratedGui.mainWin - method proof : MatitaGeneratedGui.proofWin - method script: MatitaGeneratedGui.scriptWin - method toolbar : MatitaGeneratedGui.toolBarWin - - (** {2 Access to GUI useful components} *) - - method console: MatitaConsole.console - - (** {2 Dialogs instantiation} - * methods below create a new window on each invocation. You should - * remember to destroy windows after use *) - - method newUriDialog: unit -> MatitaGeneratedGui.uriChoiceDialog - method newInterpDialog: unit -> MatitaGeneratedGui.interpChoiceDialog - method newConfirmationDialog: unit -> MatitaGeneratedGui.confirmationDialog - method newEmptyDialog: unit -> MatitaGeneratedGui.emptyDialog - - (** {2 Utility methods} *) - - (** ask the used to choose a file with the file chooser *) - method chooseFile: unit -> string option - - (** prompt the user for a (multiline) text entry *) - method askText: ?title:string -> ?msg:string -> unit -> string option - - (** lock script text view from the beginning to the given offset (in UTF-8 - * characters) *) - method lockScript: int -> unit - - end - - (** singleton instance of the gui *) -val instance: unit -> gui - diff --git a/helm/matita/matitaInterpreter.ml b/helm/matita/matitaInterpreter.ml deleted file mode 100644 index 5933f6227..000000000 --- a/helm/matita/matitaInterpreter.ml +++ /dev/null @@ -1,358 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -(** Interpreter for textual phrases coming from matita's console (textual entry -* window at the bottom of the main window). -* -* Interpreter is either in `Command state or in `Proof state (see state_tag type -* below). In `Command state commands for starting proofs are accepted, but -* tactic and tactical applications are not. In `Proof state both -* tactic/tacticals and commands are accepted. -*) - -open Printf - -open MatitaTypes - - (** None means: "same state as before" *) -type state_tag = [ `Command | `Proof ] option - -exception Command_error of string - -(* -let uri name = - UriManager.uri_of_string (sprintf "%s/%s" BuildTimeConf.base_uri name) -*) - -let baseuri = ref "cic:/matita" -let qualify name = - let baseuri = !baseuri in - if baseuri.[String.length baseuri - 1] = '/' then - baseuri ^ name - else - String.concat "/" [baseuri; name] - -let canonical_context metano metasenv = - try - let (_, context, _) = List.find (fun (m, _, _) -> m = metano) metasenv in - context - with Not_found -> - failwith (sprintf "Can't find canonical context for %d" metano) - -let get_context_and_metasenv (proof_handler:MatitaTypes.proof_handler) = - if proof_handler.MatitaTypes.has_proof () then - let proof = proof_handler.MatitaTypes.get_proof () in - let metasenv = proof#metasenv in - let goal = proof#goal in - (canonical_context goal metasenv, metasenv) - else - ([], []) - - (** term AST -> Cic.term. Uses disambiguator and change imperatively the - * metasenv as needed *) -let disambiguate ~(disambiguator:MatitaTypes.disambiguator) ~proof_handler ast = - if proof_handler.MatitaTypes.has_proof () then begin - let proof = proof_handler.MatitaTypes.get_proof () in - let metasenv = proof#metasenv in - let goal = proof#goal in - let context = canonical_context goal metasenv in - let (_, metasenv, term) as retval = - disambiguator#disambiguateTermAst ~context ~metasenv ast - in - proof#set_metasenv metasenv; - retval - end else - disambiguator#disambiguateTermAst ast - -class virtual interpreterState = - (* static values, shared by all states inheriting this class *) - let loc = ref None in - let history = ref [] in - fun ~(console: MatitaConsole.console) -> - object (self) - - (** eval a toplevel phrase in the current state and return the new state - *) - method parsePhrase s = - match CicTextualParser2.parse_tactical (Stream.of_string s) with - | (TacticAst.LocatedTactical (loc', tac)) as tactical -> - loc := Some loc'; - (match tac with (* update interpreter history *) - | TacticAst.Command (TacticAst.Qed None) -> - history := `Qed :: !history - | TacticAst.Command (TacticAst.Theorem (_, Some name, _, None)) -> - history := `Theorem name :: !history - | TacticAst.Command (TacticAst.Qed _) - | TacticAst.Command (TacticAst.Theorem _) -> assert false - | _ -> history := `Tactic :: !history); - tactical - | _ -> assert false - - method virtual evalTactical: - (CicAst.term, string) TacticAst.tactical -> state_tag - - method evalPhrase s = - debug_print (sprintf "evaluating '%s'" s); - self#evalTactical (self#parsePhrase s) - - method evalAst ast = self#evalTactical ast - - method endOffset = - match !loc with - | Some (start_pos, end_pos) -> end_pos.Lexing.pos_cnum - | None -> failwith "MatitaInterpreter: no offset recorded" - - end - -let check_widget: MatitaTypes.sequent_viewer lazy_t = lazy - (let gui = MatitaGui.instance () in - MatitaMathView.sequent_viewer ~show:true ~packing:gui#check#scrolledCheck#add - ()) - - (** Implements phrases that should be accepted in all states *) -class sharedState - ~(disambiguator: MatitaTypes.disambiguator) - ~(proof_handler: MatitaTypes.proof_handler) - ~(console: MatitaConsole.console) - () -= - object (self) - inherit interpreterState ~console - method evalTactical = function - | TacticAst.Command TacticAst.Quit -> - proof_handler.MatitaTypes.quit (); - Some `Command (* dummy answer, useless *) - | TacticAst.Command TacticAst.Proof -> - (* do nothing, just for compatibility with coq syntax *) - Some `Command - | TacticAst.Command (TacticAst.Baseuri (Some uri)) -> - baseuri := uri; - console#echo_message (sprintf "base uri set to \"%s\"" uri); - None - | TacticAst.Command (TacticAst.Baseuri None) -> - console#echo_message (sprintf "base uri is \"%s\"" !baseuri); - None - | TacticAst.Command (TacticAst.Check term) -> - let (_, _, term) = disambiguate ~disambiguator ~proof_handler term in - let (context, metasenv) = get_context_and_metasenv proof_handler in - let dummyno = CicMkImplicit.new_meta metasenv [] in - let ty = CicTypeChecker.type_of_aux' metasenv context term in - let expr = Cic.Cast (term, ty) in - let sequent = (dummyno, context, expr) in - let widget = Lazy.force check_widget in - let gui = MatitaGui.instance () in - gui#check#checkWin#show (); - gui#main#showCheckMenuItem#set_active true; - widget#load_sequent (sequent::metasenv) dummyno; - None - | tactical -> - raise (Command_error (TacticAstPp.pp_tactical tactical)) - end - - (** Implements phrases that should be accepted only in `Command state *) -class commandState - ~(disambiguator: MatitaTypes.disambiguator) - ~(proof_handler: MatitaTypes.proof_handler) - ~(console: MatitaConsole.console) - () -= - let shared = new sharedState ~disambiguator ~proof_handler ~console () in - object (self) - inherit interpreterState ~console - - method evalTactical = function - | TacticAst.LocatedTactical (_, tactical) -> self#evalTactical tactical - | TacticAst.Command (TacticAst.Theorem (_, Some name, ast, None)) -> - let (_, metasenv, expr) = disambiguator#disambiguateTermAst ast in - let uri = UriManager.uri_of_string (qualify name) in - let proof = MatitaProof.proof ~typ:expr ~uri ~metasenv () in - proof_handler.MatitaTypes.new_proof proof; - Some `Proof - | TacticAst.Command TacticAst.Quit -> - proof_handler.MatitaTypes.quit (); - Some `Command (* dummy answer, useless *) - | TacticAst.Command TacticAst.Proof -> - (* do nothing, just for compatibility with coq syntax *) - Some `Command - | tactical -> shared#evalTactical tactical - end - - (** create a ProofEngineTypes.mk_fresh_name_type function which uses given - * names as long as they are available, then it fallbacks to name generation - * using FreshNamesGenerator module *) -let namer_of names = - let len = List.length names in - let count = ref 0 in - fun metasenv context name ~typ -> - if !count < len then begin - let name = Cic.Name (List.nth names !count) in - incr count; - name - end else - FreshNamesGenerator.mk_fresh_name metasenv context name ~typ - - (** Implements phrases that should be accepted only in `Proof state, basically - * tacticals *) -class proofState - ~(disambiguator: MatitaTypes.disambiguator) - ~(proof_handler: MatitaTypes.proof_handler) - ~(console: MatitaConsole.console) - ~(dbd: Mysql.dbd) - () -= - let disambiguate ast = - let (_, _, term) = disambiguate ~disambiguator ~proof_handler ast in - term - in - (** tactic AST -> ProofEngineTypes.tactic *) - let rec lookup_tactic = function - | TacticAst.LocatedTactic (_, tactic) -> lookup_tactic tactic - | TacticAst.Intros (_, names) -> (* TODO Zack implement intros length *) - PrimitiveTactics.intros_tac ~mk_fresh_name_callback:(namer_of names) () - | TacticAst.Reflexivity -> Tactics.reflexivity - | TacticAst.Assumption -> Tactics.assumption - | TacticAst.Contradiction -> Tactics.contradiction - | TacticAst.Exists -> Tactics.exists - | TacticAst.Fourier -> Tactics.fourier - | TacticAst.Left -> Tactics.left - | TacticAst.Right -> Tactics.right - | TacticAst.Ring -> Tactics.ring - | TacticAst.Split -> Tactics.split - | TacticAst.Symmetry -> Tactics.symmetry - | TacticAst.Transitivity term -> Tactics.transitivity (disambiguate term) - | TacticAst.Apply term -> Tactics.apply (disambiguate term) - | TacticAst.Absurd term -> Tactics.absurd (disambiguate term) - | TacticAst.Exact term -> Tactics.exact (disambiguate term) - | TacticAst.Cut term -> Tactics.cut (disambiguate term) - | TacticAst.Elim (term, _) -> (* TODO Zack implement "using" argument *) - Tactics.elim_intros_simpl (disambiguate term) - | TacticAst.ElimType term -> Tactics.elim_type (disambiguate term) - | TacticAst.Replace (what, with_what) -> - Tactics.replace ~what:(disambiguate what) - ~with_what:(disambiguate with_what) - | TacticAst.Auto -> Tactics.auto_new ~dbd - (* - (* TODO Zack a lot more of tactics to be implemented here ... *) - | TacticAst.Change of 'term * 'term * 'ident option - | TacticAst.Change_pattern of 'term pattern * 'term * 'ident option - | TacticAst.Decompose of 'ident * 'ident list - | TacticAst.Discriminate of 'ident - | TacticAst.Fold of reduction_kind * 'term - | TacticAst.Injection of 'ident - | TacticAst.LetIn of 'term * 'ident - | TacticAst.Reduce of reduction_kind * 'term pattern * 'ident option - | TacticAst.Replace_pattern of 'term pattern * 'term - | TacticAst.Rewrite of direction * 'term * 'ident option - *) - | _ -> - MatitaTypes.not_implemented "some tactic" - in - let shared = new sharedState ~disambiguator ~proof_handler ~console () in - object (self) - inherit interpreterState ~console - - method evalTactical = function - | TacticAst.LocatedTactical (_, tactical) -> self#evalTactical tactical - | TacticAst.Command TacticAst.Abort -> - proof_handler.MatitaTypes.abort_proof (); - Some `Command - | TacticAst.Command (TacticAst.Undo steps) -> - (proof_handler.MatitaTypes.get_proof ())#undo ?steps (); - Some `Proof - | TacticAst.Command (TacticAst.Redo steps) -> - (proof_handler.MatitaTypes.get_proof ())#redo ?steps (); - Some `Proof - | TacticAst.Command (TacticAst.Qed None) -> - (* TODO Zack this function probably should not simply fail with - * Failure, but rather raise some more meaningful exception *) - if not (proof_handler.MatitaTypes.has_proof ()) then assert false; - let proof = proof_handler.MatitaTypes.get_proof () in - let (uri, metasenv, bo, ty) = proof#proof in - let uri = MatitaTypes.unopt_uri uri in - if metasenv <> [] then failwith "Proof not completed"; - let proved_ty = CicTypeChecker.type_of_aux' [] [] bo in - if not (CicReduction.are_convertible [] proved_ty ty) then - failwith "Wrong proof"; - (* TODO Zack [] probably wrong *) - CicEnvironment.add_type_checked_term uri - (Cic.Constant ((UriManager.name_of_uri uri),(Some bo),ty,[])); - proof_handler.MatitaTypes.set_proof None; - (MatitaMathView.proof_viewer_instance ())#unload; - (* TODO Zack a lot more to be done here: - * - save object to disk in xml format - * - collect metadata - * - register uri to the getter *) - Some `Command - | TacticAst.Seq tacticals -> - (* TODO Zack check for proof completed at each step? *) - List.iter (fun t -> ignore (self#evalTactical t)) tacticals; - Some `Proof - | TacticAst.Tactic tactic_phrase -> - let tactic = lookup_tactic tactic_phrase in - (proof_handler.MatitaTypes.get_proof ())#apply_tactic tactic; - Some `Proof - | tactical -> shared#evalTactical tactical - end - -class interpreter - ~(disambiguator: MatitaTypes.disambiguator) - ~(proof_handler: MatitaTypes.proof_handler) - ~(console: MatitaConsole.console) - ~(dbd: Mysql.dbd) - () -= - let commandState = - new commandState ~disambiguator ~proof_handler ~console () - in - let proofState = - new proofState ~disambiguator ~proof_handler ~console ~dbd () - in - object (self) - val mutable state = commandState - - method reset = state <- commandState - - method endOffset = state#endOffset - - method private updateState = function - | Some `Command -> state <- commandState - | Some `Proof -> state <- proofState - | None -> () - - method evalPhrase s = - let success = - console#wrap_exn (fun () -> self#updateState (state#evalPhrase s)) - in - if success then console#clear (); - success - - method evalAst ast = - let success = - console#wrap_exn (fun () -> self#updateState (state#evalAst ast)) - in - if success then console#clear (); - success - end - diff --git a/helm/matita/matitaInterpreter.mli b/helm/matita/matitaInterpreter.mli deleted file mode 100644 index 0baa4f0f1..000000000 --- a/helm/matita/matitaInterpreter.mli +++ /dev/null @@ -1,35 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -exception Command_error of string - -class interpreter: - disambiguator:MatitaTypes.disambiguator -> - proof_handler:MatitaTypes.proof_handler -> - console:MatitaConsole.console -> - dbd:Mysql.dbd -> - unit -> - MatitaTypes.interpreter - diff --git a/helm/matita/matitaMathView.ml b/helm/matita/matitaMathView.ml deleted file mode 100644 index bb62f51c9..000000000 --- a/helm/matita/matitaMathView.ml +++ /dev/null @@ -1,284 +0,0 @@ -(* Copyright (C) 2000-2002, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -open Printf - -open MatitaCicMisc -open MatitaTypes - -(* List utility functions *) -exception Skip - -let list_map_fail f = - let rec aux = - function - [] -> [] - | he::tl -> - try - let he' = f he in - he'::(aux tl) - with Skip -> - (aux tl) - in - aux - -let choose_selection mmlwidget (element : Gdome.element option) = - let rec aux element = - if element#hasAttributeNS - ~namespaceURI:Misc.helmns - ~localName:(Gdome.domString "xref") - then - mmlwidget#set_selection (Some element) - else - try - match element#get_parentNode with - | None -> assert false - | Some p -> aux (new Gdome.element_of_node p) - with GdomeInit.DOMCastException _ -> - debug_print "trying to select above the document root" - in - match element with - | Some x -> aux x - | None -> mmlwidget#set_selection None - -class proof_viewer obj = - object(self) - - inherit GMathViewAux.single_selection_math_view obj - - val mutable current_infos = None - val mutable current_mathml = None - - initializer - ignore (self#connect#click (fun (gdome_elt, _, _, _) -> - match gdome_elt with - | Some gdome_elt -> - prerr_endline (gdome_elt#get_nodeName#to_string); - ignore (self#action_toggle gdome_elt) - | None -> ())); - ignore (self#connect#selection_changed (choose_selection self)) - - method load_proof ((uri_opt, _, _, _) as proof, (goal_opt: int option)) = - let (annobj, ids_to_terms, ids_to_father_ids, ids_to_inner_sorts, - ids_to_inner_types, ids_to_conjectures, ids_to_hypotheses) = - Cic2acic.acic_object_of_cic_object (cicCurrentProof proof) - in - current_infos <- Some (ids_to_terms, ids_to_father_ids, ids_to_conjectures, - ids_to_hypotheses); - let mathml = - ApplyTransformation.mml_of_cic_object ~explode_all:true - (unopt_uri uri_opt) annobj ids_to_inner_sorts ids_to_inner_types - in - debug_print "load_proof: dumping MathML to /tmp/proof"; - ignore (Misc.domImpl#saveDocumentToFile ~name:"/tmp/proof" ~doc:mathml ()); - match current_mathml with - | None -> - self#load_root ~root:mathml#get_documentElement ; - current_mathml <- Some mathml - | Some current_mathml -> - self#freeze; - XmlDiff.update_dom ~from:current_mathml mathml ; - self#thaw - end - -class sequent_viewer obj = - object(self) - - inherit GMathViewAux.multi_selection_math_view obj - - initializer - ignore (self#connect#selection_changed (choose_selection self)) - - val mutable current_infos = None - - method get_selected_terms = - let selections = self#get_selections in - list_map_fail - (function node -> - let xpath = - ((node : Gdome.element)#getAttributeNS - ~namespaceURI:Misc.helmns - ~localName:(Gdome.domString "xref"))#to_string - in - if xpath = "" then assert false (* "ERROR: No xref found!!!" *) - else - match current_infos with - Some (ids_to_terms,_,_) -> - let id = xpath in - (try - Hashtbl.find ids_to_terms id - with _ -> raise Skip) - | None -> assert false (* "ERROR: No current term!!!" *) - ) selections - - method get_selected_hypotheses = - let selections = self#get_selections in - list_map_fail - (function node -> - let xpath = - ((node : Gdome.element)#getAttributeNS - ~namespaceURI:Misc.helmns - ~localName:(Gdome.domString "xref"))#to_string - in - if xpath = "" then assert false (* "ERROR: No xref found!!!" *) - else - match current_infos with - Some (_,_,ids_to_hypotheses) -> - let id = xpath in - (try - Hashtbl.find ids_to_hypotheses id - with _ -> raise Skip) - | None -> assert false (* "ERROR: No current term!!!" *) - ) selections - - method load_sequent metasenv metano = -(* - let (annconjecture, ids_to_terms, ids_to_father_ids, ids_to_inner_sorts, - ids_to_hypotheses) = - Cic2acic.asequent_of_sequent metasenv conjecture - in -*) - let sequent = CicUtil.lookup_meta metano metasenv in - let (mathml, (ids_to_terms, ids_to_father_ids, ids_to_hypotheses)) = - ApplyTransformation.mml_of_cic_sequent metasenv sequent - in - current_infos <- Some (ids_to_terms, ids_to_father_ids, ids_to_hypotheses); - debug_print "load_sequent: dumping MathML to /tmp/prova"; - ignore (Misc.domImpl#saveDocumentToFile ~name:"/tmp/prova" ~doc:mathml ()); - self#load_root ~root:mathml#get_documentElement - end - - -class sequents_viewer ~(notebook:GPack.notebook) - ~(sequent_viewer:MatitaTypes.sequent_viewer) ~set_goal () -= - let tab_label metano = - (GMisc.label ~text:(sprintf "?%d" metano) ~show:true ())#coerce - in - object (self) - val mutable pages = 0 - val mutable switch_page_callback = None - val mutable page2goal = [] (* associative list: page no -> goal no *) - val mutable goal2page = [] (* the other way round *) - val mutable goal2win = [] (* associative list: goal no -> scrolled win *) - val mutable _metasenv = [] - - method reset = - for i = 1 to pages do notebook#remove_page 0 done; - pages <- 0; - page2goal <- []; - goal2page <- []; - goal2win <- []; - _metasenv <- []; - (match switch_page_callback with - | Some id -> - GtkSignal.disconnect notebook#as_widget id; - switch_page_callback <- None - | None -> ()) - - method load_sequents metasenv = - let sequents_no = List.length metasenv in - _metasenv <- metasenv; - pages <- sequents_no; - let win metano = - let w = - GBin.scrolled_window ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC - ~shadow_type:`IN ~show:true () - in - let reparent () = - match sequent_viewer#misc#parent with - | None -> w#add sequent_viewer#coerce - | Some _ -> sequent_viewer#misc#reparent w#coerce - in - goal2win <- (metano, reparent) :: goal2win; - w#coerce - in - let page = ref 0 in - List.iter - (fun (metano, _, _) -> - page2goal <- (!page, metano) :: page2goal; - goal2page <- (metano, !page) :: goal2page; - incr page; - notebook#append_page ~tab_label:(tab_label metano) (win metano)) - metasenv; - switch_page_callback <- - Some (notebook#connect#switch_page ~callback:(fun page -> - let goal = - try - List.assoc page page2goal - with Not_found -> assert false - in - set_goal goal; - self#render_page ~page ~goal)) - - method private render_page ~page ~goal = - sequent_viewer#load_sequent _metasenv goal; - try - List.assoc goal goal2win (); - debug_print "set_selection none"; - sequent_viewer#set_selection None - with Not_found -> assert false - - method goto_sequent goal = - let page = - try - List.assoc goal goal2page - with Not_found -> assert false - in - notebook#goto_page page; - self#render_page page goal; - - end - - (** constructors *) - -let sequent_viewer ?hadjustment ?vadjustment ?font_size ?log_verbosity = - GtkBase.Widget.size_params - ~cont:(OgtkMathViewProps.pack_return (fun p -> - OgtkMathViewProps.set_params - (new sequent_viewer (GtkMathViewProps.MathView_GMetaDOM.create p)) - ~font_size ~log_verbosity)) - [] - -let proof_viewer ?hadjustment ?vadjustment ?font_size ?log_verbosity = - GtkBase.Widget.size_params - ~cont:(OgtkMathViewProps.pack_return (fun p -> - OgtkMathViewProps.set_params - (new proof_viewer (GtkMathViewProps.MathView_GMetaDOM.create p)) - ~font_size ~log_verbosity)) - [] - -let proof_viewer_instance = - let instance = lazy ( - let gui = MatitaGui.instance () in - proof_viewer ~show:true ~packing:gui#proof#scrolledProof#add () - ) in - fun () -> Lazy.force instance - -let sequents_viewer ~(notebook:GPack.notebook) - ~(sequent_viewer:MatitaTypes.sequent_viewer) ~set_goal () -= - new sequents_viewer ~notebook ~sequent_viewer ~set_goal () - diff --git a/helm/matita/matitaMathView.mli b/helm/matita/matitaMathView.mli deleted file mode 100644 index 02141cde5..000000000 --- a/helm/matita/matitaMathView.mli +++ /dev/null @@ -1,60 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -val proof_viewer: - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> - MatitaTypes.proof_viewer - - (** singleton proof_viewer instance. - * Uses singleton GUI instance *) -val proof_viewer_instance: unit -> MatitaTypes.proof_viewer - -val sequent_viewer: - ?hadjustment:GData.adjustment -> - ?vadjustment:GData.adjustment -> - ?font_size:int -> - ?log_verbosity:int -> - ?width:int -> - ?height:int -> - ?packing:(GObj.widget -> unit) -> - ?show:bool -> - unit -> - MatitaTypes.sequent_viewer - -val sequents_viewer: - notebook:GPack.notebook -> - sequent_viewer:MatitaTypes.sequent_viewer -> - set_goal:(int -> unit) -> - unit -> - MatitaTypes.sequents_viewer - diff --git a/helm/matita/matitaMisc.ml b/helm/matita/matitaMisc.ml deleted file mode 100644 index 83bdeb36f..000000000 --- a/helm/matita/matitaMisc.ml +++ /dev/null @@ -1,47 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open Printf - -let is_dir fname = (Unix.stat fname).Unix.st_kind = Unix.S_DIR -let is_regular fname = (Unix.stat fname).Unix.st_kind = Unix.S_REG - -let input_file fname = - let size = (Unix.stat fname).Unix.st_size in - let buf = Buffer.create size in - let ic = open_in fname in - Buffer.add_channel buf ic size; - close_in ic; - Buffer.contents buf - -let is_proof_script fname = true (** TODO Zack *) -let is_proof_object fname = true (** TODO Zack *) - -let append_phrase_sep s = - if not (Pcre.pmatch ~pat:(sprintf "%s$" BuildTimeConf.phrase_sep) s) then - s ^ BuildTimeConf.phrase_sep - else - s - diff --git a/helm/matita/matitaMisc.mli b/helm/matita/matitaMisc.mli deleted file mode 100644 index f8e8ee40c..000000000 --- a/helm/matita/matitaMisc.mli +++ /dev/null @@ -1,40 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -val is_dir: string -> bool (** @return true if file is a directory *) -val is_regular: string -> bool (** @return true if file is a regular file *) - -val input_file: string -> string (** read all the contents of file to string *) - - (** @return true if file is a (textual) proof script *) -val is_proof_script: string -> bool - - (** @return true if file is a (binary) proof object *) -val is_proof_object: string -> bool - - (** given a phrase, if it doesn't end with BuildTimeConf.phrase_sep, append - * it *) -val append_phrase_sep: string -> string - diff --git a/helm/matita/matitaProof.ml b/helm/matita/matitaProof.ml deleted file mode 100644 index ca1b4c907..000000000 --- a/helm/matita/matitaProof.ml +++ /dev/null @@ -1,114 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open MatitaCicMisc - -let init_metadata _ = () -let compute_metadata _ _ = () - -(* -let init_metadata status = - let ((_, metasenv, _, _) as proof, _) = status in - let proof_object_metadata = (* compute proof annotations *) - Cic2acic.acic_object_of_cic_object (cicCurrentProof proof) - in - let sequents_metadata = (* compute all sequent annotations from scratch *) - List.map - (fun ((metano, context, term) as sequent) -> - (metano, Cic2acic.asequent_of_sequent metasenv sequent)) - metasenv - in - (proof_object_metadata, sequents_metadata) - -let compute_metadata (old_status, old_metadata) new_status = - let ((_, new_metasenv, _, _) as new_proof, goal_opt) = new_status in - let proof_object_metadata = (* compute proof annotations *) - let obj = - match goal_opt with - | Some _ -> cicCurrentProof new_proof - | None -> cicConstant new_proof - in - Cic2acic.acic_object_of_cic_object obj - in - let sequents_metadata = (* compute all sequent annotations from scratch *) - (** TODO Zack could we reuse some of the annotations from the previous - * status to avoid recomputing all of them? uhm ... we have to which - * sequents haven't been changed by last tactic applications ... doh! *) - List.map - (fun ((metano, context, term) as sequent) -> - (metano, Cic2acic.asequent_of_sequent new_metasenv sequent)) - new_metasenv - in - (proof_object_metadata, sequents_metadata) -*) - -class proof ?uri ~typ ~metasenv ~body () = - object (self) - - inherit [unit] - StatefulProofEngine.status - ~history_size:BuildTimeConf.undo_history_size ?uri ~typ ~body ~metasenv - init_metadata compute_metadata () - - method toXml = - let currentproof = cicCurrentProof self#proof in - let (acurrentproof,_,_,ids_to_inner_sorts,_,_,_) = - Cic2acic.acic_object_of_cic_object ~eta_fix:false currentproof - in - let uri = MatitaTypes.unopt_uri self#uri in - let xml, bodyxml = - match Cic2Xml.print_object uri ~ids_to_inner_sorts - ~ask_dtd_to_the_getter:true acurrentproof - with - | xml, Some bodyxml -> xml, bodyxml - | _, None -> assert false - in - (xml, bodyxml) - - method toString = - let (xml, bodyxml) = self#toXml in - let buf = Buffer.create 10240 in - List.iter (Buffer.add_string buf) - [ "\n"; - "\n"; - "\n"; - (Misc.strip_xml_headings (Xml.pp_to_string xml)); - (Misc.strip_xml_headings(Xml.pp_to_string bodyxml)); - (if not (self#proof_completed) then - Printf.sprintf "%d" self#goal - else - ""); - "\n" - ]; - Buffer.contents buf - - end - -let proof ?uri ~metasenv ~typ () = - let metasenv = (1, [], typ) :: metasenv in - let body = Cic.Meta (1,[]) in - let _ = CicTypeChecker.type_of_aux' metasenv [] typ in - new proof ~typ ~metasenv ~body ?uri () - diff --git a/helm/matita/matitaProof.mli b/helm/matita/matitaProof.mli deleted file mode 100644 index 9293e330a..000000000 --- a/helm/matita/matitaProof.mli +++ /dev/null @@ -1,37 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - - (** create a new proof object. Typecheck the resulting sequent. - * @param typ goal type - * @param metasenv metasenv returned by the disambiguator, this will not be - * the final metasenv of the first sequence, meta corresponding to typ will - * be added - * @param uri new proof uri *) -val proof: - ?uri:UriManager.uri -> - metasenv:Cic.metasenv -> typ:Cic.term -> - unit -> - MatitaTypes.proof - diff --git a/helm/matita/matitaTypes.ml b/helm/matita/matitaTypes.ml deleted file mode 100644 index e9657d191..000000000 --- a/helm/matita/matitaTypes.ml +++ /dev/null @@ -1,203 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -exception Not_implemented of string -let not_implemented feature = raise (Not_implemented feature) - - (** exceptions whose content should be presented to the user *) -exception Failure of string -let error s = raise (Failure s) -let warning s = prerr_endline ("MATITA WARNING:\t" ^ s) -let debug_print s = - if BuildTimeConf.debug then prerr_endline ("MATITA DEBUG:\t" ^ s) - -exception No_proof (** no current proof is available *) - -exception Cancel -exception Unbound_identifier of string - -(* -let untitled_con_uri = UriManager.uri_of_string "cic:/untitled.con" -let untitled_def_uri = UriManager.uri_of_string "cic:/untitled.ind" - -let unopt_uri ?(kind = `Con) = function - | Some uri -> uri - | None -> - (match kind with `Con -> untitled_con_uri | `Def -> untitled_def_uri) -*) -let unopt_uri = function Some uri -> uri | None -> assert false - -class type parserr = (* "parser" is a keyword :-( *) - object - method parseTerm: char Stream.t -> DisambiguateTypes.term - method parseTactical: char Stream.t -> DisambiguateTypes.tactical - end - -class type disambiguator = - object - method parserr: parserr - method setParserr: parserr -> unit - - method env: DisambiguateTypes.environment - method setEnv: DisambiguateTypes.environment -> unit - - (* TODO Zack: as long as matita doesn't support MDI inteface, - * disambiguateTerm will return a single term *) - (** @param env disambiguation environment. If this parameter is given the - * disambiguator act statelessly, that is internal disambiguation status - * want be changed but only returned. If this parameter is not given the - * internal one will be used and updated with the disambiguation status - * resulting from the disambiguation *) - method disambiguateTerm: - ?context:Cic.context -> ?metasenv:Cic.metasenv -> - ?env:DisambiguateTypes.environment -> - char Stream.t -> - (DisambiguateTypes.environment * Cic.metasenv * Cic.term) - (** @param env @see disambiguateTerm above *) - method disambiguateTermAst: - ?context:Cic.context -> ?metasenv:Cic.metasenv -> - ?env:DisambiguateTypes.environment -> - DisambiguateTypes.term -> - (DisambiguateTypes.environment * Cic.metasenv * Cic.term) - end - -(* -type sequents_metadata = - (int * (** sequent (meta) index *) - (Cic.annconjecture * (** annotated conjecture *) - (Cic.id, Cic.term) Hashtbl.t * (** ids_to_terms *) - (Cic.id, Cic.id option) Hashtbl.t * (** ids_to_father_ids *) - (Cic.id, string) Hashtbl.t * (** ids_to_inner_sorts *) - (Cic.id, Cic.hypothesis) Hashtbl.t)) (** ids_to_hypotheses *) - list -type proof_metadata = - Cic.annobj * (** annotated object *) - (Cic.id, Cic.term) Hashtbl.t * (** ids_to_terms *) - (Cic.id, Cic.id option) Hashtbl.t * (** ids_to_father_ids *) - (Cic.id, string) Hashtbl.t * (** ids_to_inner_sorts *) - (Cic.id, Cic2acic.anntypes) Hashtbl.t * (** ids_to_inner_types *) - (Cic.id, Cic.conjecture) Hashtbl.t * (** ids_to_conjectures *) - (Cic.id, Cic.hypothesis) Hashtbl.t (** ids_to_hypotheses *) -type hist_metadata = proof_metadata * sequents_metadata -*) - -class type proof = - object - inherit [unit] StatefulProofEngine.status - - (** return a pair of "xml" (as defined in Xml module) representing the * - * current proof type and body, respectively *) - method toXml: Xml.token Stream.t * Xml.token Stream.t - method toString: string - end - -type proof_handler = - { get_proof: unit -> proof; (* return current proof or fail *) - set_proof: proof option -> unit; - abort_proof: unit -> unit;(* abort current proof, cleaning up garbage *) - has_proof: unit -> bool; (* check if a current proof is available or not *) - new_proof: proof -> unit; (* as a set_proof but takes care also to register - observers *) - quit: unit -> unit - } - - (** interpreter for toplevel phrases given via console *) -class type interpreter = - object - method reset: unit (** return the interpreter to the initial state *) - - (** parse a single phrase contained in the input string. Additional - * garbage at the end of the phrase is ignored - * @return true if no exception has been raised by the evaluation, false - * otherwise - *) - method evalPhrase: string -> bool - - (** as above, evaluating a command/tactics AST *) - method evalAst: DisambiguateTypes.tactical -> bool - - (** offset from the starting of the last string parser by evalPhrase where - * parsing stop. - * @raise Failure when no offset has been recorded *) - method endOffset: int - - end - -(** {2 MathML widgets} *) - -type mml_of_cic_sequent = - Cic.metasenv -> Cic.conjecture -> - Gdome.document * - ((Cic.id, Cic.term) Hashtbl.t * - (Cic.id, Cic.id option) Hashtbl.t * - (string, Cic.hypothesis) Hashtbl.t) - -type mml_of_cic_object = - explode_all:bool -> UriManager.uri -> Cic.annobj -> - (string, string) Hashtbl.t -> (string, Cic2acic.anntypes) Hashtbl.t -> - Gdome.document - -class type proof_viewer = - object - inherit GMathViewAux.single_selection_math_view - - method load_proof: StatefulProofEngine.proof_status -> unit - end - -class type sequent_viewer = - object - inherit GMathViewAux.multi_selection_math_view - - (** @return the list of selected terms. Selections which are not terms are - * ignored *) - method get_selected_terms: Cic.term list - - (** @return the list of selected hypothese. Selections which are not - * hypotheses are ignored *) - method get_selected_hypotheses: Cic.hypothesis list - - (** load a sequent and render it into parent widget *) - method load_sequent: Cic.metasenv -> int -> unit - end - -class type sequents_viewer = - object - method reset: unit - method load_sequents: Cic.metasenv -> unit - method goto_sequent: int -> unit (* to be called _after_ load_sequents *) - end - -(** {2 shorthands} *) - -type namer = ProofEngineTypes.mk_fresh_name_type - -type choose_uris_callback = - selection_mode:[`MULTIPLE|`SINGLE] -> - ?title:string -> ?msg:string -> ?nonvars_button:bool -> - string list -> - string list - -type choose_interp_callback = (string * string) list list -> int list - diff --git a/helm/metadata/.cvsignore b/helm/metadata/.cvsignore deleted file mode 100644 index 2cde8a0b2..000000000 --- a/helm/metadata/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -all_objects.txt -constants_and_variables.txt -fill_db.sql -inductive_types.txt -log -tmp diff --git a/helm/metadata/Makefile b/helm/metadata/Makefile deleted file mode 100644 index 88b01fdc5..000000000 --- a/helm/metadata/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -FILLDB=fill_db.sql -INDUCTIVETYPES=inductive_types.txt -CONSTANTSANDVARIABLES=constants_and_variables.txt -ALLOBJECTS=all_objects.txt -GETTERURL=http://mowgli.cs.unibo.it:58081 -DBCOMM=mysql -pbjIcRpru -u helmadmin mowgli -#DBCOMM=psql -q -U helm mowgli2 - -all: - @echo "try one of:" - @echo " make indexes" - @echo " make drop_tables" - @echo " make create_tables" - @echo " make $(FILLDB)" - @echo " make fill_db" - -$(FILLDB): - rm -f $(FILLDB) - time for i in `cat $(INDUCTIVETYPES)` ; do (cd tmp ; wget -t 1 -O downloaded.xml.gz "$(GETTERURL)/getxml?format=gz&uri=$$i") ; zcat tmp/downloaded.xml.gz > tmp/inductive_type.xml ; extractor/meta_ind $$i "tmp/inductive_type.xml" >> $(FILLDB) ; rm -f tmp/downloaded.xml.gz tmp/inductive_type.xml; done > log 2>&1 - time for i in `cat $(CONSTANTSANDVARIABLES)` ; do (cd tmp ; wget -t 1 -O downloaded.xml.gz "$(GETTERURL)/getxml?format=gz&uri=$$i" ; wget -t 1 -O downloaded_body.xml.gz "$(GETTERURL)/getxml?format=gz&uri=$$i.body"); zcat tmp/downloaded.xml.gz > tmp/type.xml ; zcat tmp/downloaded_body.xml.gz > tmp/body.xml ; extractor/meta $$i "tmp/body.xml" "tmp/type.xml" >> $(FILLDB) ; rm -f tmp/downloaded.xml.gz tmp/downloaded_body.xml.gz tmp/type.xml tmp/body.xml ; done > log 2>&1 - cat sql/fill_inconcl_aux.sql >> $@ - cat sql/fill_no_concl_hyp.sql >> $@ - -indexes: - wget "$(GETTERURL)/getalluris?format=txt" -O - | grep -v "\\.body$$" | grep -v "\\.types$$" | grep -v "\\.proof_tree$$" | sort > $(ALLOBJECTS) - cat $(ALLOBJECTS) | grep "\\.ind$$" > $(INDUCTIVETYPES) - cat $(ALLOBJECTS) | grep -v "\\.ind$$" > $(CONSTANTSANDVARIABLES) - -drop_tables: - cat sql/drop_mowgli_tables.sql | $(DBCOMM) - -create_tables: - #cat sql/create_mowgli_tables.sql | $(DBCOMM) - cat sql/create_mowgli_tables.mysql.sql | $(DBCOMM) - -fill_db: - cat $(FILLDB) | $(DBCOMM) - -.PHONY: all create_tables drop_tables fill_db indexes $(FILLDB) diff --git a/helm/metadata/README b/helm/metadata/README deleted file mode 100644 index 5e83286a2..000000000 --- a/helm/metadata/README +++ /dev/null @@ -1,11 +0,0 @@ -To generate the metadata and refill the DB: - -make indexes -make fill_db.sql -make drop_tables -make create_tables -make fill_db -cd dc -make drop_tables -make create_tables -make fill_db diff --git a/helm/metadata/dc/Makefile b/helm/metadata/dc/Makefile deleted file mode 100644 index c9a7c73d6..000000000 --- a/helm/metadata/dc/Makefile +++ /dev/null @@ -1,32 +0,0 @@ - -SQL_DB = mowgli -SQL_DIR = sql -SQL_HOST = localhost -SQL_PASSWORD = bjIcRpru -SQL_USER = helmadmin -DC_DIR = /projects/helm/library/dc/ - -SQL_ENGINE = \ - mysql -h $(SQL_HOST) -u $(SQL_USER) --password=$(SQL_PASSWORD) $(SQL_DB) - -all: - @echo "try one of:" - @echo " make connect" - @echo " make create_tables" - @echo " make fill_db" - @echo " make drop_tables" - -connect: - $(SQL_ENGINE) - -create_tables: - $(SQL_ENGINE) < $(SQL_DIR)/create_dc_tables.sql - -fill_db: - find $(DC_DIR) -name "*.xml" -exec ./fill_db.pl {} \; | $(SQL_ENGINE) - -drop_tables: - $(SQL_ENGINE) < $(SQL_DIR)/drop_dc_tables.sql - -.PHONY: all connect create_tables fill_db drop_tables - diff --git a/helm/metadata/dc/fill_db.pl b/helm/metadata/dc/fill_db.pl deleted file mode 100755 index fed21ee5a..000000000 --- a/helm/metadata/dc/fill_db.pl +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -use XML::Parser; - -my $skipped = 0; -my $open = 0; -my $content = ""; -my $uri = ""; - -sub handle_start($$@) { - my ($expat, $element, @attrs) = @_; - if ($skipped == 1) { - $uri = $attrs[1]; - $uri =~ s/'/''/g; - } - if ($skipped < 2) { $skipped++ ; } - else { - $open++; - $content = ""; - } -} - -sub handle_end($$) { - my ($expat,$element) = @_; - $open--; - if ($open >= 0) { - $content =~ s/'/''/g; - $element =~ s/(\w+):(\w+)/$1$2/; - my $query = "INSERT INTO $element VALUES ('$content','$uri');"; - print $query, "\n"; - } -} - -sub handle_char($$) { - my ($expat,$char) = @_; - if ($open >= 1) { - chomp($char); - $char =~ s/ +/ /g; - $char =~ s/^ //g; - $char =~ s/ $//g; - $content .= $char; - } -} - -my $p = new XML::Parser( - Handlers => - { Start => \&handle_start, - End => \&handle_end, - Char => \&handle_char}); - -$p->parsefile($ARGV[0]); - diff --git a/helm/metadata/dc/sql/create_dc_tables.sql b/helm/metadata/dc/sql/create_dc_tables.sql deleted file mode 100644 index ca53c5b36..000000000 --- a/helm/metadata/dc/sql/create_dc_tables.sql +++ /dev/null @@ -1,58 +0,0 @@ - -create table dccreator (value varchar(255), uri varchar(255)); -create table dcdate (value varchar(255), uri varchar(255)); -create table dcdescription (value varchar(255), uri varchar(255)); -create table dcformat (value varchar(255), uri varchar(255)); -create table dcidentifier (value varchar(255), uri varchar(255)); -create table dclanguage (value varchar(255), uri varchar(255)); -create table dcpublisher (value varchar(255), uri varchar(255)); -create table dcqRelationType (value varchar(255), uri varchar(255)); -create table dcrelation (value varchar(255), uri varchar(255)); -create table dcrights (value varchar(255), uri varchar(255)); -create table dcsource (value varchar(255), uri varchar(255)); -create table dcsubject (value varchar(255), uri varchar(255)); -create table dctitle (value varchar(255), uri varchar(255)); -create table hthResourceFormat (value varchar(255), uri varchar(255)); -create table hthcontact (value varchar(255), uri varchar(255)); -create table hthfirstVersion (value varchar(255), uri varchar(255)); -create table hthinstitution (value varchar(255), uri varchar(255)); -create table hthmodified (value varchar(255), uri varchar(255)); - -create index dccreator_index on dccreator (value); -create index dcdate_index on dcdate (value); -create index dcdescription_index on dcdescription (value); -create index dcformat_index on dcformat (value); -create index dcidentifier_index on dcidentifier (value); -create index dclanguage_index on dclanguage (value); -create index dcpublisher_index on dcpublisher (value); -create index dcqRelationType_index on dcqRelationType (value); -create index dcrelation_index on dcrelation (value); -create index dcrights_index on dcrights (value); -create index dcsource_index on dcsource (value); -create index dcsubject_index on dcsubject (value); -create index dctitle_index on dctitle (value); -create index hthResourceFormat_index on hthResourceFormat (value); -create index hthcontact_index on hthcontact (value); -create index hthfirstVersion_index on hthfirstVersion (value); -create index hthinstitution_index on hthinstitution (value); -create index hthmodified_index on hthmodified (value); - -create index dccreator_rev_index on dccreator (uri); -create index dcdate_rev_index on dcdate (uri); -create index dcdescription_rev_index on dcdescription (uri); -create index dcformat_rev_index on dcformat (uri); -create index dcidentifier_rev_index on dcidentifier (uri); -create index dclanguage_rev_index on dclanguage (uri); -create index dcpublisher_rev_index on dcpublisher (uri); -create index dcqRelationType_rev_index on dcqRelationType (uri); -create index dcrelation_rev_index on dcrelation (uri); -create index dcrights_rev_index on dcrights (uri); -create index dcsource_rev_index on dcsource (uri); -create index dcsubject_rev_index on dcsubject (uri); -create index dctitle_rev_index on dctitle (uri); -create index hthResourceFormat_rev_index on hthResourceFormat (uri); -create index hthcontact_rev_index on hthcontact (uri); -create index hthfirstVersion_rev_index on hthfirstVersion (uri); -create index hthinstitution_rev_index on hthinstitution (uri); -create index hthmodified_rev_index on hthmodified (uri); - diff --git a/helm/metadata/dc/sql/drop_dc_tables.sql b/helm/metadata/dc/sql/drop_dc_tables.sql deleted file mode 100644 index d13a2a8ed..000000000 --- a/helm/metadata/dc/sql/drop_dc_tables.sql +++ /dev/null @@ -1,18 +0,0 @@ -drop table dccreator; -drop table dcdate; -drop table dcdescription; -drop table dcformat; -drop table dcidentifier; -drop table dclanguage; -drop table dcpublisher; -drop table dcqRelationType; -drop table dcrelation; -drop table dcrights; -drop table dcsource; -drop table dcsubject; -drop table dctitle; -drop table hthResourceFormat; -drop table hthcontact; -drop table hthfirstVersion; -drop table hthinstitution; -drop table hthmodified; diff --git a/helm/metadata/extractor/.cvsignore b/helm/metadata/extractor/.cvsignore deleted file mode 100644 index 1d5ca6be6..000000000 --- a/helm/metadata/extractor/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -meta -meta_ind -lex.yy.c -lex.yy_ind.c diff --git a/helm/metadata/extractor/Makefile b/helm/metadata/extractor/Makefile deleted file mode 100644 index 4b6f01aa8..000000000 --- a/helm/metadata/extractor/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -CC = gcc -Wall - -all: meta meta_ind - -meta: lex.yy.o sthandler.o - $(CC) lex.yy.o sthandler.o -lpq -o meta - -meta_ind: lex.yy_ind.o sthandler.o - $(CC) lex.yy_ind.o sthandler.o -lpq -o meta_ind - -lex.yy.c: meta_lex.l sthandler.h - flex meta_lex.l - -lex.yy_ind.c: meta_lex_ind.l sthandler.h - flex -olex.yy_ind.c meta_lex_ind.l - -sthandler.o: sthandler.c sthandler.h - -lex.yy.o: lex.yy.c sthandler.h - $(CC) -c lex.yy.c - -lex.yy_ind.o: lex.yy_ind.c sthandler.h - $(CC) -c lex.yy_ind.c - -clean: - -rm -f *.o - -rm -f lex.yy.c lex.yy_ind.c - -rm -f meta meta_ind diff --git a/helm/metadata/extractor/README b/helm/metadata/extractor/README deleted file mode 100644 index 6c9fe0bcb..000000000 --- a/helm/metadata/extractor/README +++ /dev/null @@ -1,9 +0,0 @@ -Note: - - LetIn e Variabili con corpo: da pensarci (capita solamente una 30ina - di volte... per ora!) Per il momento ci mettiamo una pezza. - - Variabili: non consideriamo l'occorrenza di una variabile come una - vera occorrenza (perche' puo' essere istanziata). In ogni caso c'e' - l'attributo @params che fornisce questa informazione. - - META e IMPLICIT non trattati - - CAST non considerati ==> di default vado in ricorsione sia sul tipo - che sul corpo diff --git a/helm/metadata/extractor/meta_lex.l b/helm/metadata/extractor/meta_lex.l deleted file mode 100644 index c4c23e847..000000000 --- a/helm/metadata/extractor/meta_lex.l +++ /dev/null @@ -1,374 +0,0 @@ - /******************************************************************/ - /* Copyright (C) 2000, HELM Team */ - /* */ - /* This file is part of HELM, an Hypertextual, Electronic */ - /* Library of Mathematics, developed at the Computer Science */ - /* Department, University of Bologna, Italy. */ - /* */ - /* HELM is free software; you can redistribute it and/or */ - /* modify it under the terms of the GNU General Public License */ - /* as published by the Free Software Foundation; either version */ - /* 2 of the License, or (at your option) any later version. */ - /* */ - /* HELM is distributed in the hope that it will be useful, */ - /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ - /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ - /* GNU General Public License for more details. */ - /* */ - /* You should have received a copy of the GNU General Public */ - /* License along with HELM; if not, write to the Free Software */ - /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, */ - /* MA 02111-1307, USA. */ - /* */ - /* For details, see the HELM World-Wide-Web page, */ - /* http://cs.unibo.it/helm/. */ - /******************************************************************/ - - /***************************************************************/ - /* META_LEXAN */ - /* Automatic Metadata Extractor */ - /* First draft 11/12/2001, by Andrea Asperti */ - /* more bugs added by domenico lordi on mon 12/17/2001 */ - /***************************************************************/ - - /***************************************************************/ - /* 1. Inclusion of header files. */ - /***************************************************************/ - -%{ -#include -#include -#include -#include "sthandler.h" -%} - - /***************************************************************/ - /* 2. Constants and Variables Definitions */ - /***************************************************************/ - -%{ -#define NOWHERE 0 -#define CONST 1 -#define MUTIND 2 -#define MUTCONSTRUCT 3 -#define SORT 4 - -#define INBODY 0 -#define MAINHYP 1 -#define INHYP 2 -#define INCONCL 3 -#define MAINCONCL 4 -#define INTYPE 5 -#define NOTFOUND 6 - -#define HERE 0 -#define AFTER 1 - - -int where = NOWHERE; -int found = NOTFOUND; -int position = INBODY; -int first_child = HERE; -int skip = 0; // boolean to skip the insertion of a URI -int no_open_source = 0; -int spine_depth = 0; -int depth = 0; -int tmp_n; -char sep = '"'; -char *xpointer = "#xpointer(1/"; -char *uri; -char *tmp; - -void search(char *uri, int first_child, int position, int depth); -%} - - /***************************************************************/ - /* 3. Regular definitions. */ - /***************************************************************/ - -uri [^"]+ -digits [0-9]+ -value [^"]+ - - /***************************************************************/ - /* 4. Rules. */ - /***************************************************************/ - - -%% - -"]*">"(" "|\n)*""(" "|\n)*"" | -"" { - if (position == INHYP) - { - no_open_source--; - if (no_open_source == 0) - { - position = MAINHYP; - depth++; - first_child = HERE; - } - } - else if (position == MAINHYP) - { - position = INTYPE; - spine_depth++; - depth = 0; - first_child = HERE; - } - /* bug? first_child = HERE; */ - } - - -.|\n { - } - -" \n"); - exit(1); - } - - - /* initialize the symbol table */ - init_symbol_table(); - - // We process the body - if (!stat(argv[2],&buf)) - { - yyin = fopen(argv[2], "r"); - position = INBODY; - yylex(); - fclose(yyin); - } - - // We process the type - yyin = fopen(argv[3], "r"); - position = INTYPE; - first_child = HERE; - no_open_source = 0; - spine_depth = 0; - depth = 0; - yylex(); - fclose(yyin); - print_all(argv[1]); - poss = rindex(argv[1],'/'); - posd = rindex(argv[1],'.'); - name = (char *)malloc((posd - poss) * sizeof(char)); - strncpy(name, poss + 1, posd - poss - 1); - name[posd - poss - 1] = '\0'; - print_name(name,argv[1]); - free(name); - - return 0; -} - - -void search(uri,first_child,position,depth) -char *uri; -int first_child; -int position; -{ - if (position == MAINHYP) - { - if (first_child == HERE) - found = search_bucket(uri,MAINHYP,depth); - else - found = search_bucket(uri,INHYP,0); - } - else if (position == INCONCL) - { - if (first_child == HERE) - found = search_bucket(uri,MAINCONCL,depth); - else - found = search_bucket(uri,INCONCL,0); - } - - else - found = search_bucket(uri,position,depth); - /* - if (found == NOTFOUND) - fprintf(stderr,"here = %d, pos = %d, uri = %s\n", first_child,position, uri); */ -} -/* - (first_child == HERE) - { - if (position == MAINHYP) - found = search_bucket(uri,MAINHYP,depth); - else if (position == INCONCL) - found = search_bucket(uri,MAINCONCL,0); - else if (position == INHYP) - found = search_bucket(uri,INHYP,0); - if (found == NOTFOUND) - printf( "pos = %d, uri = %s\n", MAINCONCL, uri); - } - else if ((position == MAINHYP) && (first_child == AFTER)) - found = search_bucket(uri,INHYP,0); - else found = search_bucket(uri,position,0); - if (found == NOTFOUND) - printf( "pos = %d, uri = %s\n", position, uri); - } */ - -int yywrap() { - return 1; - } - - - - diff --git a/helm/metadata/extractor/meta_lex_ind.l b/helm/metadata/extractor/meta_lex_ind.l deleted file mode 100644 index 9f474bf85..000000000 --- a/helm/metadata/extractor/meta_lex_ind.l +++ /dev/null @@ -1,375 +0,0 @@ - /******************************************************************/ - /* Copyright (C) 2000, HELM Team */ - /* */ - /* This file is part of HELM, an Hypertextual, Electronic */ - /* Library of Mathematics, developed at the Computer Science */ - /* Department, University of Bologna, Italy. */ - /* */ - /* HELM is free software; you can redistribute it and/or */ - /* modify it under the terms of the GNU General Public License */ - /* as published by the Free Software Foundation; either version */ - /* 2 of the License, or (at your option) any later version. */ - /* */ - /* HELM is distributed in the hope that it will be useful, */ - /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ - /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ - /* GNU General Public License for more details. */ - /* */ - /* You should have received a copy of the GNU General Public */ - /* License along with HELM; if not, write to the Free Software */ - /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, */ - /* MA 02111-1307, USA. */ - /* */ - /* For details, see the HELM World-Wide-Web page, */ - /* http://cs.unibo.it/helm/. */ - /******************************************************************/ - - /***************************************************************/ - /* META_LEXAN */ - /* Automatic Metadata Extractor */ - /* First draft 11/12/2001, by Andrea Asperti */ - /* more bugs added by domenico lordi on mon 12/17/2001 */ - /***************************************************************/ - - /***************************************************************/ - /* 1. Inclusion of header files. */ - /***************************************************************/ - -%{ -#include -#include -#include -#include "sthandler.h" -%} - - /***************************************************************/ - /* 2. Constants and Variables Definitions */ - /***************************************************************/ - -%{ -#define NOWHERE 0 -#define CONST 1 -#define MUTIND 2 -#define MUTCONSTRUCT 3 -#define SORT 4 - -#define INBODY 0 -#define MAINHYP 1 -#define INHYP 2 -#define INCONCL 3 -#define MAINCONCL 4 -#define INTYPE 5 -#define NOTFOUND 6 - -#define HERE 0 -#define AFTER 1 - - -int where = NOWHERE; -int found = NOTFOUND; -int position = INBODY; -int first_child = HERE; -int skip = 0; // boolean to skip the insertion of a URI -int no_open_source =0; -int spine_depth = 0; -int depth = 0; -int tmp_n; -int inductive_type = 0; -int constructor = 0; -int deep_type = 0; -char sep = '"'; -char *xpointer = "#xpointer(1/"; -char *uri; -char *tmp; -char *source_uri; -char *source_uri_prefix; -int waiting_for_name = 0; - -void search(char *uri, int first_child, int position, int depth); -%} - - /***************************************************************/ - /* 3. Regular definitions. */ - /***************************************************************/ - -uri [^"]+ -digits [0-9]+ -value [^"]+ -id [a-zA-Z]([-_'a-zA-Z0-9])* - - /***************************************************************/ - /* 4. Rules. */ - /***************************************************************/ - - -%% - -"" { - print_all(source_uri); - /* print_file(); */ - } - -"" { print_all(source_uri); - /* print_file(); */ - } - -"" | -"" { - if (position == INHYP) - { - no_open_source--; - if (no_open_source == 0) - { - position = MAINHYP; - depth++; - first_child = HERE; - } - } - else if (position == MAINHYP) - { - position = INTYPE; - spine_depth++; - depth = 0; - first_child = HERE; - } - } - - -.|\n { - } - -" \n"); - exit(1); - } - - source_uri = malloc((sizeof('a')*2000)); - source_uri_prefix=argv[1]; - /* fprintf(stderr,"qua"); */ - yyin = fopen(argv[2], "r"); - yylex(); - - return 0; -} - -void search(uri,first_child,position,depth) -char *uri; -int first_child; -int position; -{ - if (position == MAINHYP) - { - if (first_child == HERE) - found = search_bucket(uri,MAINHYP,depth); - else - found = search_bucket(uri,INHYP,0); - } - else if (position == INCONCL) - { - if (first_child == HERE) - found = search_bucket(uri,MAINCONCL,depth); - else - found = search_bucket(uri,INCONCL,0); - } - - else - found = search_bucket(uri,position,depth); - /* if (found == NOTFOUND) - printf( "pos = %d, uri = %s\n", position, uri); */ -} - - -int yywrap() { - return 1; - } - - - - diff --git a/helm/metadata/extractor/sthandler.c b/helm/metadata/extractor/sthandler.c deleted file mode 100644 index 87e0d49c7..000000000 --- a/helm/metadata/extractor/sthandler.c +++ /dev/null @@ -1,475 +0,0 @@ -/*********************************************************************/ -/* Copyright (C) 2000, HELM Team */ -/* */ -/* This file is part of HELM, an Hypertextual, Electronic */ -/* Library of Mathematics, developed at the Computer Science */ -/* Department, University of Bologna, Italy. */ -/* */ -/* HELM is free software; you can redistribute it and/or */ -/* modify it under the terms of the GNU General Public License */ -/* as published by the Free Software Foundation; either version 2 */ -/* of the License, or (at your option) any later version. */ -/* */ -/* HELM is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with HELM; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, */ -/* MA 02111-1307, USA. */ -/* */ -/* For details, see the HELM World-Wide-Web page, */ -/* http://cs.unibo.it/helm/. */ - /*********************************************************************/ - -/****************************************************************/ -/* STHANDLER.C */ -/****************************************************************/ -/* This module supplies routines for symbol table handling. */ -/* - init_symbol_table(): it initializes the symbol table */ -/* to void. */ -/* - search_bucket(): it searches the symbol table for the */ -/* bucket containing a given identifier, and */ -/* inserts it if it is not present; */ -/****************************************************************/ -/* First draft 11/12/2001, by Andrea Asperti */ -/****************************************************************/ - -/****************************************************************/ -/* 1. Inclusion of header files. */ -/****************************************************************/ - -#include -#include -#include - -/****************************************************************/ -/* 2. Declarations */ -/****************************************************************/ - - -#define DICTSIZE 211 -#define HASH1 4 -#define HASH2 0xf0000000 -#define HASH3 28 -#define EOS '\0' - -#define INBODY 0 -#define MAINHYP 1 -#define INHYP 2 -#define INCONCL 3 -#define MAINCONCL 4 -#define INTYPE 5 -#define NOTFOUND 6 - -/****************************************************************/ -/* 3. Types. */ -/****************************************************************/ - -struct int_list { - int val; - struct int_list *next; - }; - -struct st_bucket { - char *id; - /* identifier */ - int main_depth; - struct int_list *depths; - struct st_bucket *next_st_bucket; - /* next bucket in the list */ - struct st_bucket *all_next; - /* all buckets in symbol - table are linked together */ - int pos[5]; - - }; - -struct st_bucket *dictionary[DICTSIZE]; - /* pointers to bucket lists */ - -/****************************************************************/ -/* 4. Local functions. */ -/****************************************************************/ -struct int_list *add(struct int_list *,int); -void allocate_bucket(struct st_bucket **st, char *id, int where); -void print_mainhyp(char *about, char *uri,struct int_list *l); -void print_mainconcl(char *about, char *uri, int depth); -void move_bucket(struct st_bucket *st, int dict_index); -void print_one(char *about, char *uri, int pos); -int hash_pjw(char *id); - -/* This function is copied from the file fe-exec.c of PostgreSQL. */ -/* Copyright (c) 1996-2003, PostgreSQL Global Development Group */ -/* Copyright (c) 1994, Regents of the University of California */ -size_t -PQescapeString(char *to, const char *from, size_t length) -{ - const char *source = from; - char *target = to; - size_t remaining = length; - - while (remaining > 0 && *source != '\0') - { - switch (*source) - { - case '\\': - *target++ = '\\'; - *target++ = '\\'; - break; - - case '\'': - *target++ = '\''; - *target++ = '\''; - break; - - default: - *target++ = *source; - break; - } - source++; - remaining--; - } - - /* Write the terminating NUL character. */ - *target = '\0'; - - return target - to; -} - - -/****************************************************************/ -/* 5. Definitions of functions to be exported. */ -/****************************************************************/ - -struct st_bucket *all; - - /* The following function initializes the symbol table to NULL */ -void init_symbol_table() -{ - int i; - - /* initialize the dictionary */ - for (i = 0; i < DICTSIZE; i++) - dictionary[i] = NULL; - all = NULL; -} - - /* The following function searches the symbol table for an identifier */ - /* and inserts it if it is not present. */ - /* The bucket associated with the given identifier */ - /* becomes the first one in its list. */ - -int search_bucket(id, where, depth) - char *id; - /* identifier */ - int where; - int depth; -{ - int dict_index; - /* value returned by the */ - /* hash function */ - struct st_bucket - *prev, - *curr; - - struct st_bucket *st; - - /* apply the hash function */ - dict_index = hash_pjw(id); - /* fprintf(stderr,"%d\n", dict_index); */ - - /* scan the bucket list indicated by the hash function */ - prev = curr = dictionary[dict_index]; - while ((curr != NULL) && (strcmp(id, curr->id))) - { - prev = curr; - curr = curr->next_st_bucket; - } - if (curr == NULL) - /* the identifier is not in the list */ - { - allocate_bucket(&st,id,where); - if (where == MAINCONCL) - st->main_depth = depth; - else if (where == MAINHYP) - st->depths = add(st->depths,depth); - move_bucket(st,dict_index); - return NOTFOUND; - } - else - /* - printf("uno=%s\n", id); - printf("st=%s\n", curr->id); fflush(stdout) */ - - /* the identifier is already in the list */ - { - /* st = curr; */ - curr->pos[where] = 1; - if (where >= 1) - curr->pos[INBODY] = 0; /* it will never be set again to 1 */ - if (where == MAINHYP) - curr->depths=add(curr->depths,depth); - else if (where == MAINCONCL) - curr->main_depth = depth; - if (prev != curr) - /* the identifier is not in the first position */ - { - prev->next_st_bucket = curr->next_st_bucket; - move_bucket(curr,dict_index); - }; - return where; - } -} - -void print_all(about,conn) - char *about; -{ - - int i; - struct st_bucket *curr; - curr = all; - while (curr != NULL) - { - for (i = 0; i < 5; ++i) - if ((curr->pos[i]) == 1) - { - if (i == MAINHYP) - print_mainhyp(about,curr->id,curr->depths); - else if (i == MAINCONCL) - print_mainconcl(about,curr->id,curr->main_depth); - else - print_one(about,curr->id,i); - } - curr = curr->all_next; - } -} - -void print_name(char *name, char *uri) -{ - size_t len = strlen(uri) + 1; - char *quri = malloc (sizeof(char) * len * 2); - PQescapeString(quri,uri,len); - len = strlen(name) + 1; - char *qname = malloc (sizeof(char) * len * 2); - PQescapeString(qname,name,len); - printf("INSERT INTO objectName VALUES ('%s', '%s');\n",quri,qname); - free(quri); - free(qname); -} - -/****************************************************************/ -/* 5. Definitions of functions local to the module. */ -/****************************************************************/ - -struct int_list *add(l,m) - struct int_list *l; - int m; -{ - struct int_list *curr; - /* scan the list looking for m */ - curr = l; - while ((curr != NULL) && (m != (curr->val))) - curr = curr->next; - if (curr == NULL) - /* m is not in the list */ - { - curr = (struct int_list *)malloc(sizeof(struct int_list)); - curr->val = m; - curr->next = l; - return curr; - } - else - return l; - -} - -void print_mainhyp(about,uri,l) - char *about; - char *uri; - struct int_list *l; -{ - struct int_list *curr; - curr = l; - if (!strcmp(uri,"Rel")) - { - /* scan the list */ - while (curr != NULL) - { - size_t len = strlen(about) + 1; - char *qabout = malloc (sizeof(char) * len * 2); - PQescapeString(qabout,about,len); - printf("INSERT INTO refRel VALUES ('%s', 'http://www.cs.unibo.it/helm/schemas/schema-helm#MainHypothesis', %d);\n",qabout,curr->val); - free(qabout); - curr = curr->next; - } - } - else if ((!strcmp(uri,"Prop")) || (!strcmp(uri,"Type")) || - (!strcmp(uri,"Set"))) - { - /* scan the list */ - while (curr != NULL) - { - size_t len = strlen(about) + 1; - char *qabout = malloc (sizeof(char) * len * 2); - PQescapeString(qabout,about,len); - printf("INSERT INTO refSort VALUES ('%s', 'http://www.cs.unibo.it/helm/schemas/schema-helm#MainHypothesis', %d, '%s');\n",qabout,curr->val,uri); - free(qabout); - curr = curr->next; - } - } - else - { - /* scan the list */ - while (curr != NULL) - { - size_t len = strlen(about) + 1; - char *qabout = malloc (sizeof(char) * len * 2); - char *quri; - PQescapeString(qabout,about,len); - len = strlen(uri) + 1; - quri = malloc (sizeof(char) * len * 2); - PQescapeString(quri,uri,len); - printf("INSERT INTO refObj VALUES ('%s', '%s', 'http://www.cs.unibo.it/helm/schemas/schema-helm#MainHypothesis', %d);\n",qabout,quri,curr->val); - free(qabout); - free(quri); - curr = curr->next; - } - } -} - -void print_mainconcl(about,uri,depth) - char *about; - char *uri; - int depth; - -{ - /* fprintf(stderr,"about = %s\n",about); */ - if (!strcmp(uri,"Rel")) - { - size_t len = strlen(about) + 1; - char *qabout = malloc (sizeof(char) * len * 2); - PQescapeString(qabout,about,len); - printf("INSERT INTO refRel VALUES ('%s', 'http://www.cs.unibo.it/helm/schemas/schema-helm#MainConclusion', %d);\n",qabout,depth); - free(qabout); - } - else if ((!strcmp(uri,"Prop")) || (!strcmp(uri,"Type")) || - (!strcmp(uri,"Set"))) - { - size_t len = strlen(about) + 1; - char *qabout = malloc (sizeof(char) * len * 2); - PQescapeString(qabout,about,len); - printf("INSERT INTO refSort VALUES ('%s', 'http://www.cs.unibo.it/helm/schemas/schema-helm#MainConclusion', %d, '%s');\n",qabout,depth,uri); - free(qabout); - } - else - { - size_t len = strlen(about) + 1; - char *qabout = malloc (sizeof(char) * len * 2); - char *quri; - PQescapeString(qabout,about,len); - len = strlen(uri) + 1; - quri = malloc (sizeof(char) * len * 2); - PQescapeString(quri,uri,len); - printf("INSERT INTO refObj VALUES ('%s', '%s','http://www.cs.unibo.it/helm/schemas/schema-helm#MainConclusion', %d);\n",qabout,quri,depth); - free(qabout); - free(quri); - } -} - -// dome: cambiata per usare il modello con position -void print_one(about,uri,pos) - char *about, - *uri; - int pos; -{ - char *position = (char *)malloc((sizeof('a')*20)); - size_t len = strlen(about) + 1; - char *qabout = malloc (sizeof(char) * len * 2); - char *quri; - PQescapeString(qabout,about,len); - len = strlen(uri) + 1; - quri = malloc (sizeof(char) * len * 2); - PQescapeString(quri,uri,len); - if (pos == INBODY) - position="InBody"; - else if (pos == MAINHYP) - position="MainHypothesis"; /* This should never happen */ - else if (pos == INHYP) - position="InHypothesis"; - else if (pos == INCONCL) - position="InConclusion"; - else if (pos == MAINCONCL) - position="MainConclusion"; /* This should never happen */ - printf("INSERT INTO refObj VALUES ('%s', '%s', \ - 'http://www.cs.unibo.it/helm/schemas/schema-helm#%s', NULL);\n",qabout,quri,position); - free(qabout); - free(quri); -} - - /* The following function allocates a bucket for an identifier. */ -void allocate_bucket(st, id, where) - struct st_bucket - **st; - /* pointer to the bucket to be */ - /* allocated */ - char *id; - /* identifier */ - int where; -{ - int i; - - *st = (struct st_bucket *)malloc(sizeof(struct st_bucket)); - (*st)->id = (char *)malloc(sizeof('a')*(strlen(id) + 1)); - strcpy((*st)->id,id); - (*st)->main_depth = 0; - (*st)->depths = NULL; - (*st)->next_st_bucket = NULL; - (*st)->all_next = all; - all = *st; - for (i = 0; i < 5; ++i) - (*st)->pos[i] = 0; - (*st)->pos[where] = 1; -} - - /* The following function moves a bucket to the head of the */ - /* list in which it lies. */ -void move_bucket(st, dict_index) - struct st_bucket - *st; - /* pointer to the bucket to */ - /* be moved */ - int dict_index; - /* index corresponding to */ - /* the list in which the */ - /* bucket lies */ -{ - st->next_st_bucket = dictionary[dict_index]; - dictionary[dict_index] = st; -} - - /* The following function implements Weinberger's hash function. */ -int -hash_pjw(id) - char *id; - /* identifier to be hashed */ -{ - unsigned h, - g; - - for (h = 0; *id != EOS; id++) - { - h = (h << HASH1) + (*id); - if ((g = h) & HASH2) - h = h ^ (g >> HASH3) ^ g; - } - return(h % DICTSIZE); -} - - - - - - diff --git a/helm/metadata/extractor/sthandler.h b/helm/metadata/extractor/sthandler.h deleted file mode 100644 index f4e8284d5..000000000 --- a/helm/metadata/extractor/sthandler.h +++ /dev/null @@ -1,9 +0,0 @@ -/****************************************************************/ -/* STHANDLER.H */ -/****************************************************************/ - - -extern void init_symbol_table(); -extern void print_all(char *); -extern void print_name(char *, char *); -extern int search_bucket(char *, int, int); diff --git a/helm/metadata/extractor/sthandler_ind.c b/helm/metadata/extractor/sthandler_ind.c deleted file mode 100644 index ee035ef2a..000000000 --- a/helm/metadata/extractor/sthandler_ind.c +++ /dev/null @@ -1,424 +0,0 @@ -/*********************************************************************/ -/* Copyright (C) 2000, HELM Team */ -/* */ -/* This file is part of HELM, an Hypertextual, Electronic */ -/* Library of Mathematics, developed at the Computer Science */ -/* Department, University of Bologna, Italy. */ -/* */ -/* HELM is free software; you can redistribute it and/or */ -/* modify it under the terms of the GNU General Public License */ -/* as published by the Free Software Foundation; either version 2 */ -/* of the License, or (at your option) any later version. */ -/* */ -/* HELM is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with HELM; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, */ -/* MA 02111-1307, USA. */ -/* */ -/* For details, see the HELM World-Wide-Web page, */ -/* http://cs.unibo.it/helm/. */ - /*********************************************************************/ - -/****************************************************************/ -/* STHANDLER.C */ -/****************************************************************/ -/* This module supplies routines for symbol table handling. */ -/* - init_symbol_table(): it initializes the symbol table */ -/* to void. */ -/* - search_bucket(): it searches the symbol table for the */ -/* bucket containing a given identifier, and */ -/* inserts it if it is not present; */ -/****************************************************************/ -/* First draft 11/12/2001, by Andrea Asperti */ -/****************************************************************/ - -/****************************************************************/ -/* 1. Inclusion of header files. */ -/****************************************************************/ - -#include -#include - -/****************************************************************/ -/* 2. Declarations */ -/****************************************************************/ - - -#define DICTSIZE 211 -#define HASH1 4 -#define HASH2 0xf0000000 -#define HASH3 24 -#define EOS '\0' - -#define INBODY 0 -#define MAINHYP 1 -#define INHYP 2 -#define INCONCL 3 -#define MAINCONCL 4 -#define INTYPE 5 -#define NOTFOUND 6 - -/****************************************************************/ -/* 3. Types. */ -/****************************************************************/ - -struct int_list { - int val; - struct int_list *next; - }; - -struct st_bucket { - char *id; - /* identifier */ - int main_depth; - struct int_list *depths; - struct st_bucket *next_st_bucket; - /* next bucket in the list */ - struct st_bucket *all_next; - /* all buckets in symbol - table are linked together */ - int pos[5]; - - }; - -struct st_bucket *dictionary[DICTSIZE]; - /* pointers to bucket lists */ - -/****************************************************************/ -/* 4. Local functions. */ -/****************************************************************/ -struct int_list *add(struct int_list *,int); -int hash_pjw(char *id); - -/****************************************************************/ -/* 5. Definitions of functions to be exported. */ -/****************************************************************/ - -struct st_bucket *all; - - /* The following function initializes the symbol table to NULL */ -void init_symbol_table() -{ - struct st_bucket *st; - int i; - - /* initialize the dictionary */ - for (i = 0; i < DICTSIZE; i++) - dictionary[i] = NULL; - all = NULL; -} - - /* The following function searches the symbol table for an identifier */ - /* and inserts it if it is not present. - /* The bucket associated with the given identifier */ - /* becomes the first one in its list. */ - -search_bucket(id, where, depth) - char *id; - /* identifier */ - int where; - int depth; -{ - int dict_index; - /* value returned by the */ - /* hash function */ - struct st_bucket - *prev, - *curr; - - struct st_bucket *st; - - /* apply the hash function */ - dict_index = hash_pjw(id); - /* fprintf(stderr,"%d\n", dict_index); fflush(stdout); */ - - /* scan the bucket list indicated by the hash function */ - prev = curr = dictionary[dict_index]; - while ((curr != NULL) && (strcmp(id, curr->id))) - { - prev = curr; - curr = curr->next_st_bucket; - } - if (curr == NULL) - /* the identifier is not in the list */ - { - allocate_bucket(&st,id,where); - if (where == MAINCONCL) - st->main_depth = depth; - else if (where == MAINHYP) - st->depths = add(st->depths,depth); - move_bucket(st,dict_index); - return NOTFOUND; - } - else - /* - fprintf(stderr,"uno=%s\n", id); - fprintf(stderr,"st=%s\n", curr->id); fflush(stdout) */ - - /* the identifier is already in the list */ - { - /* st = curr; */ - curr->pos[where] = 1; - if (where >= 1) - curr->pos[INBODY] = 0; /* it will never be set again to 1 */ - if (where == MAINHYP) - curr->depths=add(curr->depths,depth); - else if (where == MAINCONCL) - curr->main_depth = depth; - if (prev != curr) - /* the identifier is not in the first position */ - { - prev->next_st_bucket = curr->next_st_bucket; - move_bucket(curr, - dict_index); - }; - return where; - } -} - -print_all(about,out,outrel,outsort) - char *about; - FILE *out, - *outrel, - *outsort; -{ - - int i; - struct st_bucket *curr; - curr = all; - while (curr != NULL) - { - for (i = 0; i < 5; ++i) - if ((curr->pos[i]) == 1) - { - if (i == MAINHYP) - print_mainhyp(about,out,outrel,outsort,curr->id,curr->depths); - else if (i == MAINCONCL) - print_mainconcl(about,out,outrel,outsort,curr->id,curr->main_depth); - else - print_one(out,curr->id,i); - } - curr = curr->all_next; - } -} - - -/****************************************************************/ -/* 5. Definitions of functions local to the module. */ -/****************************************************************/ - -struct int_list *add(l,m) - struct int_list *l; - int m; -{ - struct int_list *curr; - /* scan the list looking for m */ - curr = l; - while ((curr != NULL) && (m != (curr->val))) - curr = curr->next; - if (curr == NULL) - /* m is not in the list */ - { - curr = (struct int_list *)malloc(sizeof(struct int_list)); - curr->val = m; - curr->next = l; - return curr; - } - else - return l; - -} - -print_mainhyp(about,out,outrel,outsort,uri,l) - char *about; - FILE *out, - *outrel, - *outsort; - char *uri; - struct int_list *l; -{ - struct int_list *curr; - curr = l; - if (!strcmp(uri,"Rel")) - { - /* scan the list */ - while (curr != NULL) - { - fprintf(outrel,"\t\n"); - fprintf(outrel,"\t\t"); - fprintf(outrel,"\n\t\t\t\t"); - fprintf(outrel,"\n\t\t\t\t%d",curr->val); - fprintf(outrel,"\n\t\t\n"); - fprintf(outrel,"\t\n"); - curr = curr->next; - } - } - else if ((!strcmp(uri,"Prop")) || (!strcmp(uri,"Type")) || - (!strcmp(uri,"Set"))) - { - /* scan the list */ - while (curr != NULL) - { - fprintf(outsort,"\t\n"); - fprintf(outsort,"\t\t"); - fprintf(outsort,"\n\t\t\t\t"); - fprintf(outsort,"\n\t\t\t\t",uri); - fprintf(outsort,"\n\t\t\t\t%d",curr->val); - fprintf(outsort,"\n\t\t\n"); - fprintf(outsort,"\t\n"); - curr = curr->next; - } - } - else - { - /* scan the list */ - while (curr != NULL) - { - fprintf(out,"\t\t"); - fprintf(out,"\n\t\t\t\t"); - fprintf(out,"\n\t\t\t\t%d",curr->val); - fprintf(out,"\n\t\t\t\t",uri); - fprintf(out,"\n\t\t\n"); - curr = curr->next; - } - } -} - -print_mainconcl(about,out,outrel,outsort,uri,depth) - char *about; - FILE *out, - *outrel, - *outsort; - char *uri; - int depth; - -{ - if (!strcmp(uri,"Rel")) - { - fprintf(outrel,"\t\n"); - fprintf(outrel,"\t\t"); - fprintf(outrel,"\n\t\t\t\t"); - fprintf(outrel,"\n\t\t\t\t%d",depth); - fprintf(outrel,"\n\t\t\n"); - fprintf(outrel,"\t\n"); - } - else if ((!strcmp(uri,"Prop")) || (!strcmp(uri,"Type")) || - (!strcmp(uri,"Set"))) - { - fprintf(outsort,"\t\n"); - fprintf(outsort,"\t\t"); - fprintf(outsort,"\n\t\t\t\t"); - fprintf(outsort,"\n\t\t\t\t",uri); - fprintf(outsort,"\n\t\t\t\t%d",depth); - fprintf(outsort,"\n\t\t\n"); - fprintf(outsort,"\t\n"); - } - else - { - fprintf(out,"\t\t"); - fprintf(out,"\n\t\t\t\t"); - fprintf(out,"\n\t\t\t\t%d",depth); - fprintf(out,"\n\t\t\t\t",uri); - fprintf(out,"\n\t\t\n"); - } -} - -// dome: cambiata per usare il modello con position -print_one(out,uri,pos) - FILE *out; - char *uri; - int pos; -{ - fprintf(out,"\t\t"); - fprintf(out,"\n\t\t\t\t\n\t\t\t\t\n\t\t\n", uri); - -} - - /* The following function allocates a bucket for an identifier. */ -allocate_bucket(st, id, where) - struct st_bucket - **st; - /* pointer to the bucket to be */ - /* allocated */ - char *id; - /* identifier */ - int where; -{ - int i; - - *st = (struct st_bucket *)malloc(sizeof(struct st_bucket)); - (*st)->id = (char *)malloc(sizeof('a')*(strlen(id) + 1)); - strcpy((*st)->id,id); - (*st)->main_depth = 0; - (*st)->depths = NULL; - (*st)->next_st_bucket = NULL; - (*st)->all_next = all; - all = *st; - for (i = 0; i < 5; ++i) - (*st)->pos[i] = 0; - (*st)->pos[where] = 1; -} - - /* The following function moves a bucket to the head of the */ - /* list in which it lies. */ -move_bucket(st, dict_index) - struct st_bucket - *st; - /* pointer to the bucket to */ - /* be moved */ - int dict_index; - /* index corresponding to */ - /* the list in which the */ - /* bucket lies */ -{ - st->next_st_bucket = dictionary[dict_index]; - dictionary[dict_index] = st; -} - - /* The following function implements Weinberger's hash function. */ -int -hash_pjw(id) - char *id; - /* identifier to be hashed */ -{ - unsigned h, - g; - - for (h = 0; *id != EOS; id++) - { - h = (h << HASH1) + (*id); - if (g = h & HASH2) - h = h ^ (g >> HASH3) ^ g; - } - return(h % DICTSIZE); -} - - - - - - diff --git a/helm/metadata/extractor/sthandler_ind.h b/helm/metadata/extractor/sthandler_ind.h deleted file mode 100644 index 2536b0f60..000000000 --- a/helm/metadata/extractor/sthandler_ind.h +++ /dev/null @@ -1,8 +0,0 @@ -/****************************************************************/ -/* STHANDLER.H */ -/****************************************************************/ - - -extern void init_symbol_table(); -extern void print_all(char *, FILE *, FILE *, FILE *); -extern int search_bucket(char *, int, int); diff --git a/helm/metadata/sql/create_mowgli_tables.mysql.sql b/helm/metadata/sql/create_mowgli_tables.mysql.sql deleted file mode 100644 index e2195891a..000000000 --- a/helm/metadata/sql/create_mowgli_tables.mysql.sql +++ /dev/null @@ -1,41 +0,0 @@ - -CREATE TABLE refObj ( - source varchar(255) binary not null, - h_occurrence varchar(255) binary not null, - h_position varchar(255) binary not null, - h_depth integer -); -CREATE TABLE refSort ( - source varchar(255) binary not null, - h_position varchar(255) binary not null, - h_depth integer not null, - h_sort varchar(255) binary not null -); -CREATE TABLE refRel ( - source varchar(255) binary not null, - h_position varchar(255) binary not null, - h_depth integer not null -); -CREATE TABLE objectName ( - source varchar(255) binary not null, - value varchar(255) binary not null -); -CREATE TABLE no_inconcl_aux ( - source varchar(255) binary not null, - no tinyint(4) not null -); -CREATE TABLE no_concl_hyp ( - source varchar(255) binary not null, - no tinyint(4) not null -); - -CREATE INDEX refObj_source ON refObj (source); -CREATE INDEX refObj_target ON refObj (h_occurrence); -CREATE INDEX refObj_position ON refObj (h_position); -CREATE INDEX refSort_source ON refSort (source); -CREATE INDEX objectName_value ON objectName (value); -CREATE INDEX no_inconcl_aux_source ON no_inconcl_aux (source); -CREATE INDEX no_inconcl_aux_no ON no_inconcl_aux (no); -CREATE INDEX no_concl_hyp_source ON no_concl_hyp (source); -CREATE INDEX no_concl_hyp_no ON no_concl_hyp (no); - diff --git a/helm/metadata/sql/create_mowgli_tables.sql b/helm/metadata/sql/create_mowgli_tables.sql deleted file mode 100644 index 2719f43a9..000000000 --- a/helm/metadata/sql/create_mowgli_tables.sql +++ /dev/null @@ -1,29 +0,0 @@ - -CREATE TABLE refObj ( - source varchar(255), - h_occurrence varchar(255), - h_position varchar(255), - h_depth integer -); -CREATE TABLE refSort ( - source varchar(255), - h_position varchar(255), - h_depth integer, - h_sort varchar(255) -); -CREATE TABLE refRel ( - source varchar(255), - h_position varchar(255), - h_depth integer -); -CREATE TABLE objectName ( - source varchar(255), - value varchar(255) -); - -CREATE INDEX refObj_source ON refObj (source); -CREATE INDEX refObj_target ON refObj (h_occurrence); -CREATE INDEX refObj_position ON refObj (h_position); -CREATE INDEX refSort_source ON refSort (source); -CREATE INDEX objectName_value ON objectName (value); - diff --git a/helm/metadata/sql/drop_mowgli_tables.sql b/helm/metadata/sql/drop_mowgli_tables.sql deleted file mode 100644 index 070183db1..000000000 --- a/helm/metadata/sql/drop_mowgli_tables.sql +++ /dev/null @@ -1,6 +0,0 @@ -DROP TABLE refObj; -DROP TABLE refSort; -DROP TABLE refRel; -DROP TABLE objectName; -DROP TABLE no_inconcl_aux; -DROP TABLE no_concl_hyp; diff --git a/helm/metadata/sql/fill_inconcl_aux.sql b/helm/metadata/sql/fill_inconcl_aux.sql deleted file mode 100644 index 2e7140e18..000000000 --- a/helm/metadata/sql/fill_inconcl_aux.sql +++ /dev/null @@ -1,9 +0,0 @@ - -INSERT INTO no_inconcl_aux -SELECT source, COUNT(h_occurrence) -FROM refObj -WHERE - h_position='http://www.cs.unibo.it/helm/schemas/schema-helm#InConclusion' - OR h_position='http://www.cs.unibo.it/helm/schemas/schema-helm#MainConclusion' -GROUP BY source; - diff --git a/helm/metadata/sql/fill_no_concl_hyp.sql b/helm/metadata/sql/fill_no_concl_hyp.sql deleted file mode 100644 index 3294fe121..000000000 --- a/helm/metadata/sql/fill_no_concl_hyp.sql +++ /dev/null @@ -1,7 +0,0 @@ - -INSERT INTO no_concl_hyp -SELECT source, COUNT(DISTINCT h_occurrence) -FROM refObj -WHERE NOT (h_position="http://www.cs.unibo.it/helm/schemas/schema-helm#InBody") -GROUP BY source; - diff --git a/helm/minidom/.cvsignore b/helm/minidom/.cvsignore deleted file mode 100644 index 19aef19d8..000000000 --- a/helm/minidom/.cvsignore +++ /dev/null @@ -1,23 +0,0 @@ -*.lo -*.la -.libs -.deps -.emacs.desktop -config.h -config.h.in -config.cache -config.log -config.status -libtool -stamp-h -stamp-h.in -Makefile -Makefile.in -*.gz -configure -aclocal.m4 -install-sh -minidom-config -minidom.spec -missing -mkinstalldirs diff --git a/helm/minidom/AUTHORS b/helm/minidom/AUTHORS deleted file mode 100644 index fe59f14d6..000000000 --- a/helm/minidom/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Luca Padovani diff --git a/helm/minidom/COPYING b/helm/minidom/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/helm/minidom/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/helm/minidom/ChangeLog b/helm/minidom/ChangeLog deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/minidom/HEADER b/helm/minidom/HEADER deleted file mode 100644 index acd4a4d8c..000000000 --- a/helm/minidom/HEADER +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of MambaCC, a compiler for the Mamba - * Functional Language - * - * MambaCC is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * MambaCC is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with MambaCC; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, see the MambaCC World-Wide-Web page, - * http://cs.unibo.it/~lpadovan/mamba/, or send a mail to - * - */ diff --git a/helm/minidom/INSTALL b/helm/minidom/INSTALL deleted file mode 100644 index b42a17ac4..000000000 --- a/helm/minidom/INSTALL +++ /dev/null @@ -1,182 +0,0 @@ -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. diff --git a/helm/minidom/Makefile.am b/helm/minidom/Makefile.am deleted file mode 100644 index 2bc9d7189..000000000 --- a/helm/minidom/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ - -lib_LTLIBRARIES = libminidom.la -bin_SCRIPTS = minidom-config - -libminidom_la_LDFLAGS = -version-info @MINIDOM_VERSION_INFO@ - -EXTRA_DIST = minidom-config.in - -CLEANFILES = minidom-config - -libminidom_la_SOURCES = \ - minidom.c - -pkginclude_HEADERS = \ - minidom.h - -minidom-config: minidom-config.in - @echo "#!/bin/sh" >minidom-config - @echo >>minidom-config - @echo VERSION=\"$(VERSION)\" >>minidom-config - @echo XML_CONFIG=\"$(XML_CONFIG)\" >>minidom-config - @echo libdir=\"$(libdir)\" >>minidom-config - @echo pkglibdir=\"$(pkglibdir)\" >>minidom-config - @echo includedir=\"$(includedir)\" >>minidom-config - @echo pkgincludedir=\"$(pkgincludedir)\" >>minidom-config - @echo >>minidom-config - @cat $(srcdir)/minidom-config.in >>minidom-config - @chmod a+x minidom-config - -backup: - tar cvfz ../@PACKAGE@-@VERSION@-`date|tr ' ' '_'|tr ':' '_'`.tar.gz . - -cleanbak: - -rm -f `find . -name "*~"` - -lc: - @( \ - CFILES=`find . -name "*.c"`; \ - HFILES=`find . -name "*.h"`; \ - ICCFILES=`find . -name "*.inc"`; \ - wc -l $$CFILES $$HFILES $$INCFILES | tail -n 1 \ - ) diff --git a/helm/minidom/NEWS b/helm/minidom/NEWS deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/minidom/README b/helm/minidom/README deleted file mode 100644 index e69de29bb..000000000 diff --git a/helm/minidom/TODO b/helm/minidom/TODO deleted file mode 100644 index bebb4b616..000000000 --- a/helm/minidom/TODO +++ /dev/null @@ -1,2 +0,0 @@ -+ support for converting string to/from Unicode - diff --git a/helm/minidom/acconfig.h b/helm/minidom/acconfig.h deleted file mode 100644 index ac44dc34f..000000000 --- a/helm/minidom/acconfig.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of miniDOM, a minimal implementation of the - * Document Object Model based on the libxml library. - * - * miniDOM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * miniDOM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with miniDOM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, see the miniDOM World-Wide-Web page, - * http://cs.unibo.it/~lpadovan/minidom/, or send a mail to - * - */ - -#ifndef config_h -#define config_h - -@TOP@ - -/* Define to compile with libxml 2.x (recommended) */ -#undef HAVE_LIBXML2 - -@BOTTOM@ - -#endif /* config_h */ diff --git a/helm/minidom/config.guess b/helm/minidom/config.guess deleted file mode 100644 index 28fcc5e22..000000000 --- a/helm/minidom/config.guess +++ /dev/null @@ -1,1308 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2001-11-08' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - - -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c ; - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; - if test $? = 0 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - rm -f $dummy.c $dummy.o $dummy.rel ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - sparc*) machine=`uname -p`-unknown ;; - *) machine=${UNAME_MACHINE}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - esac - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit 0 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit 0;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit 0 ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit 0;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit 0 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit 0 ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit 0 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit 0 ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit 0 ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit 0 ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit 0 ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit 0 ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit 0 ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit 0 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit 0 ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit 0 ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit 0 ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit 0 ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit 0 ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo rs6000-ibm-aix3.2.5 - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit 0 ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit 0 ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit 0 ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit 0 ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit 0 ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit 0 ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit 0 ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; - esac - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo unknown-hitachi-hiuxwe2 - exit 0 ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit 0 ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit 0 ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit 0 ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit 0 ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit 0 ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit 0 ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit 0 ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit 0 ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit 0 ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix - exit 0 ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit 0 ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - *:GNU:*:*) - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux - exit 0 ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) - case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in - big) echo mips-unknown-linux-gnu && exit 0 ;; - little) echo mipsel-unknown-linux-gnu && exit 0 ;; - esac - ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit 0 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit 0 ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - ld_supported_targets=`cd /; ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - cat >$dummy.c < -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-pc-linux-gnu\n", argv[1]); -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-pc-linux-gnuaout\n", argv[1]); -#endif - return 0; -} -EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit 0 ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit 0 ;; - i*86:*:5:[78]*) - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit 0 ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit 0 ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit 0 ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit 0 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit 0 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit 0 ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit 0 ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit 0 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit 0 ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit 0 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit 0 ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit 0 ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit 0 ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} - exit 0 ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then - UNAME_MACHINE=pc - fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx - exit 0 ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit 0 ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit 0 ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit 0 ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit 0 ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit 0 ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit 0 ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit 0 ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit 0 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - c34*) - echo c34-convex-bsd - exit 0 ;; - c38*) - echo c38-convex-bsd - exit 0 ;; - c4*) - echo c4-convex-bsd - exit 0 ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/helm/minidom/config.sub b/helm/minidom/config.sub deleted file mode 100644 index 24794696d..000000000 --- a/helm/minidom/config.sub +++ /dev/null @@ -1,1417 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2001-11-08' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit 0;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | c4x | clipper \ - | d10v | d30v | dsp16xx \ - | fr30 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | m32r | m68000 | m68k | m88k | mcore \ - | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el | mips64vr4300 \ - | mips64vr4300el | mips64vr5000 | mips64vr5000el \ - | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ - | mipsisa32 \ - | mn10200 | mn10300 \ - | ns16k | ns32k \ - | openrisc \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | sh | sh[34] | sh[34]eb | shbe | shle \ - | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic80 | tron \ - | v850 \ - | we32k \ - | x86 | xscale | xstormy16 \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alphapca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armv*-* \ - | avr-* \ - | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c54x-* \ - | clipper-* | cray2-* | cydra-* \ - | d10v-* | d30v-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | m32r-* \ - | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ - | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ - | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ - | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \ - | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ - | v850-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | ymp) - basic_machine=ymp-cray - os=-unicos - ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [cjt]90) - basic_machine=${basic_machine}-cray - os=-unicos - ;; - crds | unos) - basic_machine=m68k-crds - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon) - basic_machine=i686-pc - ;; - pentiumii | pentium2) - basic_machine=i686-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=t3e-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt - ;; - xmp) - basic_machine=xmp-cray - os=-unicos - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; - romp) - basic_machine=romp-ibm - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4 | sh3eb | sh4eb) - basic_machine=sh-unknown - ;; - sparc | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - c4x*) - basic_machine=c4x-none - os=-coff - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto*) - os=-nto-qnx - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -vxsim* | -vxworks*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/helm/minidom/configure.in b/helm/minidom/configure.in deleted file mode 100644 index c6067b0ae..000000000 --- a/helm/minidom/configure.in +++ /dev/null @@ -1,82 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(minidom.c) - -MINIDOM_MAJOR_VERSION=0 -MINIDOM_MINOR_VERSION=1 -MINIDOM_MICRO_VERSION=4 -MINIDOM_VERSION=$MINIDOM_MAJOR_VERSION.$MINIDOM_MINOR_VERSION.$MINIDOM_MICRO_VERSION -MINIDOM_VERSION_INFO=`expr $MINIDOM_MAJOR_VERSION + $MINIDOM_MINOR_VERSION`:$MINIDOM_MICRO_VERSION:$MINIDOM_MINOR_VERSION - -AC_SUBST(MINIDOM_VERSION) -AC_SUBST(MINIDOM_VERSION_INFO) - -AC_ARG_WITH( - libxml2, - [ --with-libxml2[=ARG] compile with libxml 2.x library [default=auto]], - libxml2=$withval, - libxml2="auto" -) - -AM_INIT_AUTOMAKE(minidom, $MINIDOM_VERSION) -AM_CONFIG_HEADER(config.h) -AM_PROG_LIBTOOL - -dnl Checks for programs. -AC_PROG_CC -AC_LANG_C -AC_PROG_RANLIB - -dnl Checks for libraries. -AC_CHECK_LIB(glib, g_malloc, - [ - CFLAGS="$CFLAGS `glib-config --cflags`" - CXXFLAGS="$CXXFLAGS `glib-config --cflags`" - LIBS="$LIBS `glib-config --libs`" - ], - AC_MSG_ERROR(cound not find glib), - `glib-config --libs` -) - -AC_CHECK_PROG(XML_CONFIG, xml2-config, xml2-config, no) -if test $XML_CONFIG = "no"; then - AC_CHECK_PROG(XML_CONFIG, xml-config, xml-config, no) -fi -AC_SUBST(XML_CONFIG) - -if test $XML_CONFIG = "no"; then - AC_MSG_ERROR(could not find configuration script for libxml) -fi - -if test $XML_CONFIG = "xml2-config" -a $libxml2 = "auto"; then - libxml2="yes" -fi - -CFLAGS="$CFLAGS `$XML_CONFIG --cflags`" -CXXFLAGS="$CXXFLAGS `$XML_CONFIG --cflags`" -LIBS="$LIBS `$XML_CONFIG --libs`" - -dnl if the user gave no explicit libxml2 option, try to guess its value -if test $libxml2 = "auto"; then - AC_MSG_CHECKING(for libxml version 2) - AC_TRY_COMPILE( - [#include ], - [ - xmlEntity e; - e.etype = e.etype; - ], - [ - AC_DEFINE(HAVE_LIBXML2) - AC_MSG_RESULT(maybe) - ], - AC_MSG_RESULT(no) - ) -elif test $libxml2 = "yes"; then - AC_DEFINE(HAVE_LIBXML2) -fi - -dnl Checks for header files. - -AC_OUTPUT([ - Makefile - minidom.spec -]) diff --git a/helm/minidom/debian/README.helm b/helm/minidom/debian/README.helm deleted file mode 100644 index d899a74d2..000000000 --- a/helm/minidom/debian/README.helm +++ /dev/null @@ -1,7 +0,0 @@ -To obtain a *clean* debianized source tree from which invoke debuild, -dpkg-buildpackage or so, run debian/debianize.helm from the root directory of -this module. - -Next change to that dir and have fun with debian packaging! - --- Zack diff --git a/helm/minidom/debian/autopippe.helm b/helm/minidom/debian/autopippe.helm deleted file mode 100644 index 9c5e5e706..000000000 --- a/helm/minidom/debian/autopippe.helm +++ /dev/null @@ -1,5 +0,0 @@ -aclocal -autoheader -automake -a -automake -a -autoconf diff --git a/helm/minidom/debian/changelog b/helm/minidom/debian/changelog deleted file mode 100644 index 55032b93f..000000000 --- a/helm/minidom/debian/changelog +++ /dev/null @@ -1,40 +0,0 @@ -minidom (0.1.3-1) unstable; urgency=low - - * New upstream release - - -- Stefano Zacchiroli Mon, 12 Nov 2001 17:26:18 +0100 - -minidom (0.1.2-2) unstable; urgency=low - - * upgraded config.sub and config.guess in order to support hppa and other - architectures (closes: Bug#103063, Bug#103351) - - -- Stefano Zacchiroli Wed, 4 Jul 2001 19:04:24 +0200 - -minidom (0.1.2-1) unstable; urgency=low - - * New upstream release - - -- Stefano Zacchiroli Tue, 22 May 2001 14:18:19 +0200 - -minidom (0.1.0-3) unstable; urgency=low - - * Changed section of libminidom0 and libminidom-dev - - -- Stefano Zacchiroli (Zack) Mon, 19 Feb 2001 21:25:26 +0100 - -minidom (0.1.0-2) unstable; urgency=low - - * Removed zero sized files and unnecessary extra license info - - -- Stefano Zacchiroli (Zack) Thu, 1 Feb 2001 18:37:12 +0100 - -minidom (0.1.0-1) unstable; urgency=low - - * Initial Release. - - -- Stefano Zacchiroli (Zack) Sun, 21 Jan 2001 18:24:26 +0100 - -Local variables: -mode: debian-changelog -End: diff --git a/helm/minidom/debian/control b/helm/minidom/debian/control deleted file mode 100644 index 1914d0e61..000000000 --- a/helm/minidom/debian/control +++ /dev/null @@ -1,23 +0,0 @@ -Source: minidom -Section: devel -Priority: optional -Maintainer: Stefano Zacchiroli (Zack) -Build-Depends: debhelper (>> 2.0.0), libxml2-dev, libglib1.2-dev -Standards-Version: 3.2.1 - -Package: libminidom0 -Section: libs -Architecture: any -Depends: ${shlibs:Depends} -Description: A minimal implementation of the Document Object Model - Minidom is a minimal implementation of the Document Object Model. - This package include the shared library. - -Package: libminidom-dev -Section: devel -Architecture: any -Depends: libminidom0 (= ${Source-Version}), libc6-dev -Description: A minimal implementation of the Document Object Model - Minidom is a minimal implementation of the Document Object Model. - This package includes the development and runtime support files. - diff --git a/helm/minidom/debian/copyright b/helm/minidom/debian/copyright deleted file mode 100644 index 5acf27224..000000000 --- a/helm/minidom/debian/copyright +++ /dev/null @@ -1,28 +0,0 @@ -This package was debianized by Stefano Zacchiroli on -Sun, 21 Jan 2001 18:24:26 +0100. - -It was packed from source obtained via cvs, with this CVSROOT: - :pserver:anonymous@phd.cs.unibo.it:/home/lpadovan/PHELM/ - -Upstream Author(s): Luca Padovani - -Copyright: - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - On Debian GNU/Linux systems, the complete text of the GNU General - Public License can be found in `/usr/share/common-licenses/GPL'. - The GNU Public Licenses in /usr/share/common-licenses were taken from - ftp.gnu.org and are copyrighted by the Free Software Foundation, Inc. - diff --git a/helm/minidom/debian/debianize.helm b/helm/minidom/debian/debianize.helm deleted file mode 100755 index 5bdbe1789..000000000 --- a/helm/minidom/debian/debianize.helm +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh - -# HELM project convenience script -# -# call this as "debian/debianize.helm" to convert a checked out CVS -# module to a debianize source tree ready to be called against debuild -# or dpkg-buildpackage -# -# Stefano "Zack" Zacchiroli -# Sun Nov 25 16:50:10 CET 2001 - -NAME="MINIDOM" # package name in configure.in's opinion -CONFIGURE_IN="configure.in" # configure.in - -# TAR="tar" -# TARFLAGS="-cz" # tar flags used when creating source package - -if [ -z $NAME ]; then - echo "Please edit me and configure the 'NAME' parameter." - exit 1 -fi - - # parse version number from configure.in -echo "Retrieving version number from $CONFIGURE_IN ..." -VERSION="" -for v in MAJOR MINOR MICRO; do - T=`grep "$NAME\_$v\_VERSION\=" $CONFIGURE_IN` - T=`echo $T | sed -e 's/.*=//'` - if [ -z $VERSION ]; then - VERSION=$T - else - VERSION="$VERSION.$T" - fi -done -echo "Version number is: $VERSION" - - # create a new working dir named with the "name-version" schema -echo "Creating debianized source tree ..." -OLDDIR=`basename \`pwd\`` -NEWDIR="$OLDDIR-$VERSION" -cd .. -if [ -d $NEWDIR ]; then - echo "'../$NEWDIR' already exists, please remove it before continue" - exit 1 -fi -cp -r $OLDDIR $NEWDIR -cd $NEWDIR -echo "Debianized source tree starts at `pwd`" - - # autopippe: autoconf, automake, aclocal, ... -echo "Executing auto-* tools ..." -source debian/autopippe.helm -echo "auto-* executed!" - - # remove CVS related files, and other garbage -echo "Removing garbage files ..." -find . -regex '.*\.cvsignore' -exec rm -f {} \; -find . -regex '.*CVS.*' -and -type d -exec rm -rf {} \; -GARBAGES=`egrep -v '^#' debian/garbage.helm` -for p in $GARBAGES; do - find . -name $p -exec rm -f {} \; -done -echo "Garbage removed!" - - # fix remote symlinks -echo "Dereferencing absolute symlinks ..." -PWD=`pwd` -for l in `find . -type l -maxdepth 1`; do # loop on symlink in this dir - SOURCE=$l - TARGET=`readlink $l` - if `echo $TARGET | egrep "^/" > /dev/null`; then - echo "$SOURCE -> $TARGET" - rm -f $SOURCE - cp $TARGET $SOURCE - fi # if symlink does not begin with "/" then it is relative -done -echo "Dereferencing done!" - - # upgrade debian changelog -echo "Upgrading debian changelog version to $VERSION ..." -dch --newversion $VERSION -echo "Debian changelog upgraded!" - -# # build debian native source package -# echo -n "Building debian (native) source package: " -# DEBVERSION=`dpkg-parsechangelog -ldebian/changelog | egrep '^Version: ' | sed -e 's/Version: //'` -# DEBNAME=`dpkg-parsechangelog -ldebian/changelog | egrep '^Source: ' | sed -e 's/Source: //'` -# SOURCEPKGFILE="$DEBNAME""_""$DEBVERSION.tar.gz" -# echo "../$SOURCEPKGFILE" -# cd .. -# $TAR $TARFLAGS -f $SOURCEPKGFILE $NEWDIR - -echo -echo "Debianization is over." -echo "Please change to ../$NEWDIR in order to build the debian package." - - diff --git a/helm/minidom/debian/docs b/helm/minidom/debian/docs deleted file mode 100644 index 7d96d4e7e..000000000 --- a/helm/minidom/debian/docs +++ /dev/null @@ -1,2 +0,0 @@ -AUTHORS -TODO diff --git a/helm/minidom/debian/garbage.helm b/helm/minidom/debian/garbage.helm deleted file mode 100644 index 3542a1b97..000000000 --- a/helm/minidom/debian/garbage.helm +++ /dev/null @@ -1,2 +0,0 @@ -# find patterns; files that match will be removed from debian package. -*.helm diff --git a/helm/minidom/debian/libminidom-dev.files b/helm/minidom/debian/libminidom-dev.files deleted file mode 100644 index afb977f37..000000000 --- a/helm/minidom/debian/libminidom-dev.files +++ /dev/null @@ -1,5 +0,0 @@ -usr/lib/*.so -usr/lib/*.a -usr/lib/*.la -usr/include/ -usr/bin/ diff --git a/helm/minidom/debian/libminidom-dev.undocumented b/helm/minidom/debian/libminidom-dev.undocumented deleted file mode 100644 index 8d08f8e71..000000000 --- a/helm/minidom/debian/libminidom-dev.undocumented +++ /dev/null @@ -1 +0,0 @@ -minidom-config.1 diff --git a/helm/minidom/debian/libminidom0.files b/helm/minidom/debian/libminidom0.files deleted file mode 100644 index 093956b17..000000000 --- a/helm/minidom/debian/libminidom0.files +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*.so.* diff --git a/helm/minidom/debian/libminidom0.postinst b/helm/minidom/debian/libminidom0.postinst deleted file mode 100644 index 1b6c8ba16..000000000 --- a/helm/minidom/debian/libminidom0.postinst +++ /dev/null @@ -1,47 +0,0 @@ -#! /bin/sh -# postinst script for libminidom0 -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see /usr/share/doc/packaging-manual/ -# -# quoting from the policy: -# Any necessary prompting should almost always be confined to the -# post-installation script, and should be protected with a conditional -# so that unnecessary prompting doesn't happen if a package's -# installation fails and the `postinst' is called with `abort-upgrade', -# `abort-remove' or `abort-deconfigure'. - -case "$1" in - configure) - ldconfig - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 0 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 - - diff --git a/helm/minidom/debian/rules b/helm/minidom/debian/rules deleted file mode 100755 index 8ff12e4ac..000000000 --- a/helm/minidom/debian/rules +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This is the debhelper compatability version to use. -export DH_COMPAT=2 - -# shared library versions, option 1 -#version=0.1.0 -#major=0 -# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so -version=`ls src/.libs/lib*.so.* | \ - awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'` -major=`ls src/.libs/lib*.so.* | \ - awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'` - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info - - touch configure-stamp - -build: configure-stamp build-stamp -build-stamp: - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - -$(MAKE) distclean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/minidom. - $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - # - # build libminidom${major} package by moving files from minidom-dev - # -# dh_movefiles -plibminidom$(major) \ -# usr/lib/libminidom.so.$(major) \ -# usr/lib/libminidom.so.$(version) -# dh_movefiles get file contents from debian/*.files - dh_movefiles - -# dh_installdebconf - dh_installdocs - dh_installexamples - dh_installmenu -# dh_installemacsen -# dh_installpam -# dh_installinit - dh_installcron - dh_installmanpages - dh_installinfo - dh_undocumented - dh_installchangelogs ChangeLog - dh_link - dh_strip - dh_compress - dh_fixperms - # You may want to make some executables suid here. -# dh_suidregister - dh_makeshlibs - dh_installdeb -# dh_perl - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/helm/minidom/minidom-config.in b/helm/minidom/minidom-config.in deleted file mode 100644 index 5ed302925..000000000 --- a/helm/minidom/minidom-config.in +++ /dev/null @@ -1,48 +0,0 @@ - -usage() -{ - cat <&2 -fi - -while test $# -gt 0; do - case "$1" in - -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - case $1 in - --version) - echo $VERSION - ;; - --cflags) - echo_cflags=yes - ;; - --libs) - echo_libs=yes - ;; - *) - usage 1 1>&2 - ;; - esac - shift -done - -if test "$echo_cflags" = "yes"; then - echo `$XML_CONFIG --cflags` -I$pkgincludedir -fi - -if test "$echo_libs" = "yes"; then - echo `$XML_CONFIG --libs` -L$libdir -lminidom -fi - diff --git a/helm/minidom/minidom.c b/helm/minidom/minidom.c deleted file mode 100644 index 93cae440d..000000000 --- a/helm/minidom/minidom.c +++ /dev/null @@ -1,393 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of miniDOM, a minimal implementation of the - * Document Object Model - * - * miniDOM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * miniDOM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with miniDOM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to - */ - -#include -#include -#include -#include - -#include "minidom.h" - -gboolean -mdom_string_eq(mDOMConstStringRef s1, mDOMConstStringRef s2) -{ - g_return_val_if_fail(s1 != NULL, FALSE); - g_return_val_if_fail(s2 != NULL, FALSE); - - return strcmp(C_CONST_STRING(s1), C_CONST_STRING(s2)) ? FALSE : TRUE; -} - -mDOMStringRef -mdom_string_dup(mDOMConstStringRef s) -{ - g_return_val_if_fail(s != NULL, NULL); - return xmlStrdup(s); -} - -void -mdom_string_free(mDOMStringRef s) -{ - g_free(s); -} - -mDOMDocRef -mdom_load(const char* file_name, gboolean subst, mDOMEntityResolver entity_resolver) -{ - xmlParserCtxtPtr ctxt; - mDOMDocRef doc; - - g_return_val_if_fail(file_name != NULL, NULL); - - xmlSubstituteEntitiesDefault(subst); - - ctxt = xmlCreateFileParserCtxt(file_name); - if (ctxt == NULL) return NULL; - g_assert(ctxt->sax != NULL); - ctxt->sax->getEntity = entity_resolver; - - xmlParseDocument(ctxt); - - doc = ctxt->myDoc; - xmlFreeParserCtxt(ctxt); - - return doc; -} - -void -mdom_unload(mDOMDocRef doc) -{ - g_return_if_fail(doc != NULL); - xmlFreeDoc(doc); -} - -mDOMDocRef -mdom_doc_new(mDOMConstStringRef version) -{ - mDOMDocRef doc; - - g_return_val_if_fail(version != NULL, NULL); - doc = xmlNewDoc(version); - g_return_val_if_fail(doc != NULL, NULL); - - doc->extSubset = xmlNewDtd(doc, DOM_CONST_STRING("Entities"), NULL, NULL); - - return doc; -} - -void -mdom_doc_free(mDOMDocRef doc) -{ - g_return_if_fail(doc != NULL); - xmlFreeDoc(doc); -} - -mDOMEntityRef -mdom_doc_add_entity(mDOMDocRef doc, mDOMConstStringRef name, mDOMConstStringRef content) -{ - g_return_val_if_fail(doc != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - g_return_val_if_fail(content != NULL, NULL); -#ifdef HAVE_LIBXML2 - return xmlAddDtdEntity(doc, name, XML_INTERNAL_GENERAL_ENTITY, NULL, NULL, content); -#else - xmlAddDtdEntity(doc, name, XML_INTERNAL_GENERAL_ENTITY, NULL, NULL, content); - return NULL; -#endif -} - -mDOMEntityRef -mdom_doc_get_entity(mDOMDocRef doc, mDOMConstStringRef name) -{ - g_return_val_if_fail(doc != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - return xmlGetDtdEntity(doc, name); -} - -mDOMEntityRef -mdom_get_predefined_entity(mDOMConstStringRef name) -{ - g_return_val_if_fail(name != NULL, NULL); - return xmlGetPredefinedEntity(name); -} - -mDOMConstStringRef -mdom_entity_get_content(mDOMEntityRef entity) -{ - g_return_val_if_fail(entity != NULL, NULL); - return entity->content; -} - -mDOMNodeRef -mdom_doc_get_root_node(mDOMDocRef doc) -{ - g_return_val_if_fail(doc != NULL, NULL); - return xmlDocGetRootElement(doc); -} - -void -mdom_node_set_user_data(mDOMNodeRef node, gpointer user_data) -{ - g_return_if_fail(node != NULL); -#ifndef XML_WITHOUT_CORBA - node->_private = user_data; -#else - g_assert_not_reached(); -#endif -} - -gpointer -mdom_node_get_user_data(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); -#ifndef XML_WITHOUT_CORBA - return node->_private; -#else - g_assert_not_reached(); -#endif -} - -gboolean -mdom_node_is_text(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return xmlNodeIsText(node) ? TRUE : FALSE; -} - -gboolean -mdom_node_is_element(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->type == XML_ELEMENT_NODE; -} - -gboolean -mdom_node_is_blank(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); -#ifdef HAVE_LIBXML2 - return xmlIsBlankNode(node) ? TRUE : FALSE; -#else - return FALSE; -#endif -} - -gboolean -mdom_node_is_entity_ref(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->type == XML_ENTITY_REF_NODE; -} - -guint -mdom_node_get_type(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, 0); - return node->type; -} - -mDOMConstStringRef -mdom_node_get_name(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->name; -} - -mDOMConstStringRef -mdom_node_get_ns_uri(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - if (node->ns == NULL) return NULL; - return node->ns->href; -} - -mDOMStringRef -mdom_node_get_attribute(mDOMNodeRef node, mDOMConstStringRef name) -{ - g_return_val_if_fail(node != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - return xmlGetProp(node, name); -} - -mDOMStringRef -mdom_node_get_attribute_ns(mDOMNodeRef node, mDOMConstStringRef name, mDOMConstStringRef uri) -{ - g_return_val_if_fail(node != NULL, NULL); - g_return_val_if_fail(uri != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - g_return_val_if_fail(mdom_node_is_element(node), NULL); - return xmlGetNsProp(node, name, uri); -} - -gboolean -mdom_node_has_attribute(mDOMNodeRef node, mDOMConstStringRef name) -{ -#ifndef HAVE_LIBXML2 - mDOMStringRef s = NULL; -#endif /* HAVE_LIBXML2 */ - g_return_val_if_fail(node != NULL, FALSE); - g_return_val_if_fail(name != NULL, FALSE); -#ifdef HAVE_LIBXML2 - return (xmlHasProp(node, name) != NULL) ? TRUE : FALSE; -#else - s = xmlGetProp(node, name); - if (s != NULL) { - mdom_string_free(s); - return TRUE; - } - return FALSE; -#endif /* HAVE_LIBXML2 */ -} - -gboolean -mdom_node_has_attribute_ns(mDOMNodeRef node, mDOMConstStringRef name, mDOMConstStringRef uri) -{ - g_return_val_if_fail(node != NULL, FALSE); - g_return_val_if_fail(name != NULL, FALSE); - g_return_val_if_fail(uri != NULL, FALSE); -#ifdef HAVE_LIBXML2 - return (xmlHasNsProp(node, name, uri) != NULL) ? TRUE : FALSE; -#else - return FALSE; -#endif /* HAVE_LIBXML2 */ -} - -mDOMStringRef -mdom_node_get_content(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return xmlNodeGetContent(node); -} - -mDOMNodeRef -mdom_node_get_parent(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->parent; -} - -mDOMNodeRef -mdom_node_get_prev_sibling(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->prev; -} - -mDOMNodeRef -mdom_node_get_next_sibling(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->next; -} - -mDOMNodeRef -mdom_node_get_first_child(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); -#ifdef HAVE_LIBXML2 - return node->children; -#else - return node->childs; -#endif -} - -mDOMAttrRef -mdom_node_get_first_attribute(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->properties; -} - -gboolean -mdom_node_is_first(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->prev == NULL; -} - -gboolean -mdom_node_is_last(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->next == NULL; -} - -mDOMConstStringRef -mdom_attr_get_name(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); - return attr->name; -} - -mDOMConstStringRef -mdom_attr_get_ns_uri(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); - if (attr->ns == NULL) return NULL; - return attr->ns->href; -} - -mDOMStringRef -mdom_attr_get_value(mDOMAttrRef attr) -{ -#ifdef HAVE_LIBXML2 - g_return_val_if_fail(attr != NULL, NULL); - return xmlNodeListGetString(attr->doc, attr->children, 1); -#else - mDOMNodeRef child; - g_return_val_if_fail(attr != NULL, NULL); - - child = attr->val; - if (child == NULL) return NULL; - else return xmlNodeListGetString(child->doc, attr->val, 1); -#endif -} - -mDOMAttrRef -mdom_attr_get_prev_sibling(mDOMAttrRef attr) -{ -#ifdef HAVE_LIBXML2 - g_return_val_if_fail(attr != NULL, NULL); - return attr->prev; -#else - /* in libxml 1.x there is no prev link in attributes */ - return NULL; -#endif -} - -mDOMAttrRef -mdom_attr_get_next_sibling(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); - return attr->next; -} - -mDOMNodeRef -mdom_attr_get_parent(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); -#ifdef HAVE_LIBXML2 - return attr->parent; -#else - return attr->node; -#endif -} diff --git a/helm/minidom/minidom.h b/helm/minidom/minidom.h deleted file mode 100644 index bb2b91013..000000000 --- a/helm/minidom/minidom.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of miniDOM, a minimal implementation of the - * Document Object Model - * - * miniDOM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * miniDOM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with miniDOM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to - */ - -#ifndef minidom_h -#define minidom_h - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - typedef xmlChar* mDOMStringRef; - typedef const xmlChar* mDOMConstStringRef; - typedef xmlDocPtr mDOMDocRef; - typedef xmlNodePtr mDOMNodeRef; - typedef xmlAttrPtr mDOMAttrRef; - typedef xmlEntityPtr mDOMEntityRef; - typedef xmlNsPtr mDOMNsRef; - - typedef xmlEntityPtr (*mDOMEntityResolver)(void*, mDOMConstStringRef); - -#define C_STRING(s) ((char*) (s)) -#define C_CONST_STRING(s) ((const char*) (s)) -#define DOM_STRING(s) ((mDOMStringRef) (s)) -#define DOM_CONST_STRING(s) ((mDOMConstStringRef) (s)) - - mDOMDocRef mdom_load(const char*, gboolean, mDOMEntityResolver); - void mdom_unload(mDOMDocRef); - - gboolean mdom_string_eq(mDOMConstStringRef, mDOMConstStringRef); - void mdom_string_free(mDOMStringRef); - mDOMStringRef mdom_string_dup(mDOMConstStringRef); - - mDOMDocRef mdom_doc_new(mDOMConstStringRef); - void mdom_doc_free(mDOMDocRef); - mDOMNodeRef mdom_doc_get_root_node(mDOMDocRef); - mDOMEntityRef mdom_doc_add_entity(mDOMDocRef, mDOMConstStringRef, mDOMConstStringRef); - mDOMEntityRef mdom_doc_get_entity(mDOMDocRef, mDOMConstStringRef); - mDOMEntityRef mdom_get_predefined_entity(mDOMConstStringRef); - mDOMConstStringRef mdom_entity_get_content(mDOMEntityRef); - -#if 0 - mDOMNsRef mdom_doc_search_ns(mDOMDocRef, mDOMNodeRef, mDOMConstStringRef); - mDOMNsRef mdom_doc_search_ns_by_uri(mDOMDocRef, mDOMNodeRef, mDOMConstStringRef); - void mdom_ns_free(mDOMNsRef); - mDOMNsRef mdom_node_ns_new(mDOMNodeRef, mDOMConstStringRef, mDOMConstStringRef); -#endif - - void mdom_node_set_user_data(mDOMNodeRef, gpointer); - gpointer mdom_node_get_user_data(mDOMNodeRef); - gboolean mdom_node_is_text(mDOMNodeRef); - gboolean mdom_node_is_element(mDOMNodeRef); - gboolean mdom_node_is_entity_ref(mDOMNodeRef); - gboolean mdom_node_is_blank(mDOMNodeRef); - guint mdom_node_get_type(mDOMNodeRef); - mDOMConstStringRef mdom_node_get_name(mDOMNodeRef); - mDOMConstStringRef mdom_node_get_ns_uri(mDOMNodeRef); - mDOMStringRef mdom_node_get_attribute(mDOMNodeRef, mDOMConstStringRef); - mDOMStringRef mdom_node_get_attribute_ns(mDOMNodeRef, mDOMConstStringRef, mDOMConstStringRef); - gboolean mdom_node_has_attribute(mDOMNodeRef, mDOMConstStringRef); - gboolean mdom_node_has_attribute_ns(mDOMNodeRef, mDOMConstStringRef, mDOMConstStringRef); - mDOMStringRef mdom_node_get_content(mDOMNodeRef); - mDOMNodeRef mdom_node_get_parent(mDOMNodeRef); - mDOMNodeRef mdom_node_get_prev_sibling(mDOMNodeRef); - mDOMNodeRef mdom_node_get_next_sibling(mDOMNodeRef); - mDOMNodeRef mdom_node_get_first_child(mDOMNodeRef); - mDOMAttrRef mdom_node_get_first_attribute(mDOMNodeRef); - gboolean mdom_node_is_first(mDOMNodeRef); - gboolean mdom_node_is_last(mDOMNodeRef); - - mDOMConstStringRef mdom_attr_get_name(mDOMAttrRef); - mDOMConstStringRef mdom_attr_get_ns_uri(mDOMAttrRef); - mDOMStringRef mdom_attr_get_value(mDOMAttrRef); - mDOMAttrRef mdom_attr_get_prev_sibling(mDOMAttrRef); - mDOMAttrRef mdom_attr_get_next_sibling(mDOMAttrRef); - mDOMNodeRef mdom_attr_get_parent(mDOMAttrRef); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* minidom_h */ - diff --git a/helm/minidom/minidom.spec.in b/helm/minidom/minidom.spec.in deleted file mode 100644 index 6c44be122..000000000 --- a/helm/minidom/minidom.spec.in +++ /dev/null @@ -1,31 +0,0 @@ -Summary: A minimal implementation of the DOM based on libxml2 -Name: minidom -Version: @VERSION@ -Release: 1 -Copyright: GPL -Group: Development/Libraries -Source: www.cs.unibo.it:/~lpadovan/mml-widget/minidom-@VERSION@.tar.gz -%description -miniDOM is a minimal implementation of the Document Object -Model. - -%prep -%setup - -%build -./configure -make - -%install -make install - -%files -%doc AUTHORS BUGS COPYING ChangeLog HISTORY INSTALL LICENSE NEWS README TODO - -/usr/local/bin/minidom-config -/usr/local/lib/libminidom.so -/usr/local/lib/libminidom.so.0 -/usr/local/lib/libminidom.so.@VERSION@ -/usr/local/lib/libminidom.a -/usr/local/lib/libminidom.la -/usr/local/include/minidom/ diff --git a/helm/minidom/stamp-h.in b/helm/minidom/stamp-h.in deleted file mode 100644 index 9788f7023..000000000 --- a/helm/minidom/stamp-h.in +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/helm/mowgli/home/htaccess b/helm/mowgli/home/htaccess deleted file mode 100644 index 702b91533..000000000 --- a/helm/mowgli/home/htaccess +++ /dev/null @@ -1,5 +0,0 @@ -AuthType Basic -AuthName "Mowgli Members" -AuthUserFile /home/projects/mowgli/apache_auth/users -AuthGroupFile /home/projects/mowgli/apache_auth/groups -require valid-user diff --git a/helm/mowgli/home/html/.cvsignore b/helm/mowgli/home/html/.cvsignore deleted file mode 100644 index 206e8734b..000000000 --- a/helm/mowgli/home/html/.cvsignore +++ /dev/null @@ -1,12 +0,0 @@ -home.html -index.html -menu.html -consortium.html -project.html -news.html -mowgli-events.html -other-events.html -deadlines.html -people-list.html -latest-news.xml -approaching-deadlines.xml \ No newline at end of file diff --git a/helm/mowgli/home/html/Makefile b/helm/mowgli/home/html/Makefile deleted file mode 100644 index dc9365a5b..000000000 --- a/helm/mowgli/home/html/Makefile +++ /dev/null @@ -1,359 +0,0 @@ -# Note: "make FRAMES=x" works too -FRAMES = yes -#FRAMES = no - -DESTDIR = /projects/mowgli/public_html -#DESTDIR = /tmp/mowgli - -HTMLDESTDIRSUFFIX = html_$(FRAMES)_frames - -HTMLDESTDIR = $(DESTDIR)/$(HTMLDESTDIRSUFFIX) - -XSLTP = xsltproc --param current-date "'`date`'" -TEMPLATESROOT = ../templates -XMLROOT = ../xml -XSLROOT = ../xsl - -RMDOCTYPE = "s/<\\!DOCTYPE[^>]*>//" - -XHTMLCONTENT = $(XSLROOT)/xhtml-content.xsl - -PEOPLE = \ - people/aei/kelley.html \ - people/aei/pollney.html \ - people/aei/schutz.html \ - people/aei/velden.html \ - people/aei/wegner.html \ - people/aei/weyher.html \ - people/bologna/asperti.html \ - people/bologna/guidi.html \ - people/bologna/padovani.html \ - people/bologna/sacerdoti.html \ - people/bologna/schena.html \ - people/dfki/kohlhase.html \ - people/dfki/melis.html \ - people/dfki/siekmann.html \ - people/dfki/moschner.html \ - people/dfki/goguadze.html \ - people/dfki/libbrecht.html \ - people/inria/amerkad.html \ - people/inria/bertot.html \ - people/inria/chicli.html \ - people/inria/delahaye.html \ - people/inria/herbelin.html \ - people/inria/naciri.html \ - people/inria/pottier.html \ - people/inria/rideau.html \ - people/inria/thery.html \ - people/inria/werner.html \ - people/nijmegen/barendregt.html \ - people/nijmegen/barreiro.html \ - people/nijmegen/cohen.html \ - people/nijmegen/cruz-filipe.html \ - people/nijmegen/geuvers.html \ - people/nijmegen/niqui.html \ - people/nijmegen/stein.html \ - people/nijmegen/synek.html \ - people/nijmegen/wiedijk.html \ - people/trusted-logic/bolignano.html \ - people/trusted-logic/gimenez.html \ - people/trusted-logic/loiseaux.html - -DOCUMENTS = \ - index.html \ - home.html \ - menu.html \ - proposal/project-management.html \ - proposal/project-objectives.html \ - proposal/project-summary.html \ - proposal/contribution.html \ - proposal/innovation.html \ - proposal/EC-contribution.html \ - proposal/econ-scient-tech-prospects.html \ - proposal/project-planning.html \ - proposal/project-components.html \ - consortium.html \ - project.html \ - news.html \ - other-events.html \ - mowgli-events.html \ - deadlines.html \ - people-list.html \ - slides/mowgligroup.html \ - deliverables/distribution/d5a.html \ - deliverables/distribution/d5b.html \ - deliverables/information-dissemination-and-exploitation/d7a.html \ - deliverables/information-dissemination-and-exploitation/d7b.html \ - deliverables/interfaces/d4a.html \ - deliverables/interfaces/d4b.html \ - deliverables/interfaces/d4c.html \ - deliverables/interfaces/d4d.html \ - deliverables/interfaces/d4e.html \ - deliverables/metadata/d3a.html \ - deliverables/metadata/d3b.html \ - deliverables/project-management/d0a.html \ - deliverables/project-management/d0b.html \ - deliverables/project-management/d0c.html \ - deliverables/project-management/d0d.html \ - deliverables/requirement-analysis/d1a.html \ - deliverables/requirement-analysis/d1b.html \ - deliverables/requirement-analysis/d1c.html \ - deliverables/testing-and-validation/d6a.html \ - deliverables/testing-and-validation/d6b.html \ - deliverables/testing-and-validation/d6c.html \ - deliverables/testing-and-validation/d6d.html \ - deliverables/transformation/d2a.html \ - deliverables/transformation/d2b.html \ - deliverables/transformation/d2c.html \ - deliverables/transformation/d2d.html \ - deliverables/transformation/d2e.html \ - deliverables/transformation/d2f.html \ - deliverables/transformation/d2g.html \ - members/index.html \ - members/ml-help-example.txt \ - members/kick-off.html \ - mowgli-events/kick-off.html \ - software/index.html \ - sites/aei.html \ - sites/bologna.html \ - sites/dfki.html \ - sites/inria.html \ - sites/nijmegen.html \ - sites/trusted-logic.html \ - publications/index.html \ - publications/mowgli/crimea2002_aw_on_line.html \ - publications/mowgli/crimea2002_aw.html \ - publications/others/category_al.html \ - publications/others/crimea2001_apss.html \ - publications/others/cup_s.html \ - publications/others/cup_s2.html \ - publications/others/extreme2001_apss.html \ - publications/others/har_bg.html \ - publications/others/jep_ws.html \ - publications/others/jep_wwsw.html \ - publications/others/jlp2001_scg.html \ - publications/others/mathml2000_apss.html \ - publications/others/mscs_gb.html \ - publications/others/tcs2001_og.html \ - publications/others/tphols2000_gwz.html \ - publications/others/tphols2001_apss.html \ - publications/others/w3c_bl98.html \ - publications/others/cup_hp91.html \ - publications/others/cup_hp93.html \ - publications/others/cc.html \ - work-packages/index.html \ - work-packages/distribution.html \ - work-packages/information-dissemination-and-exploitation.html \ - work-packages/interfaces.html \ - work-packages/metadata.html \ - work-packages/project-management.html \ - work-packages/requirement-analysis.html \ - work-packages/testing-and-validation.html \ - work-packages/transformation.html \ - $(PEOPLE) - -all: $(DOCUMENTS) - -home.html: $(XMLROOT)/home.xml \ - $(XMLROOT)/news.xml \ - $(XMLROOT)/other-events.xml \ - $(XMLROOT)/mowgli-events.xml \ - $(XSLROOT)/latest-news.xsl \ - $(XSLROOT)/approaching-deadlines.xsl \ - $(XHTMLCONTENT) - $(XSLTP) -o latest-news.xml $(XSLROOT)/latest-news.xsl $(XMLROOT)/news.xml - $(XSLTP) --param today `date +%Y%m%d` -o approaching-deadlines.xml $(XSLROOT)/approaching-deadlines.xsl $(XMLROOT)/other-events.xml - $(XSLTP) --param make_header "false()" --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) $(XMLROOT)/home.xml - -menu.html: $(XMLROOT)/menu.xml $(XHTMLCONTENT) - $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" --param make_header "false()" --param make_footer "false()" -o $@ $(XHTMLCONTENT) $< - -index.html: $(TEMPLATESROOT)/index.html - cp $< $@ - -members/ml-help-example.txt: $(TEMPLATESROOT)/ml-help-example.txt - cp $< $@ - -slides/%.html: $(XMLROOT)/slides/%.xml $(XHTMLCONTENT) - $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) $< - -members/index.html: $(XMLROOT)/members-index.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -members/kick-off.html: $(XMLROOT)/members/kick-off.xml \ - $(XSLROOT)/minutes.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/minutes.xsl $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -software/index.html: $(XMLROOT)/software/index.xml \ - $(XHTMLCONTENT) - $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) $< - -proposal/project-management.html: $(XMLROOT)/proposal/project-management.xml \ - $(XHTMLCONTENT) \ - $(XSLROOT)/management.xsl - $(XSLTP) $(XSLROOT)/management.xsl $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/project-summary.html: $(XMLROOT)/proposal/project-summary.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/project-objectives.html: $(XMLROOT)/proposal/project-objectives.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/contribution.html: $(XMLROOT)/proposal/contribution.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/innovation.html: $(XMLROOT)/proposal/innovation.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/EC-contribution.html: $(XMLROOT)/proposal/EC-contribution.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/econ-scient-tech-prospects.html: $(XMLROOT)/proposal/econ-scient-tech-prospects.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/project-planning.html: $(XMLROOT)/proposal/project-planning.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -proposal/project-components.html: $(XMLROOT)/proposal/project-components.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -mowgli-events/kick-off.html: $(XMLROOT)/mowgli-events/kick-off.xml \ - $(XHTMLCONTENT) - sed $(RMDOCTYPE) $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -people-list.html: $(XMLROOT)/people/index.xml \ - $(XSLROOT)/people-list.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/people-list.xsl $< | $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -consortium.html: $(XMLROOT)/consortium.xml \ - $(XSLROOT)/consortium.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/consortium.xsl $< | $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -project.html: $(XMLROOT)/project.xml \ - $(XSLROOT)/project.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/project.xsl $< | $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -news.html: $(XMLROOT)/news.xml \ - $(XSLROOT)/news.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/news.xsl $< | $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -other-events.html: $(XMLROOT)/other-events.xml \ - $(XSLROOT)/events.xsl \ - $(XHTMLCONTENT) - $(XSLTP) --param today `date +%Y%m%d` --param events-class "'Other'" $(XSLROOT)/events.xsl $< | $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -mowgli-events.html: $(XMLROOT)/mowgli-events.xml \ - $(XSLROOT)/events.xsl \ - $(XHTMLCONTENT) - $(XSLTP) --param today `date +%Y%m%d` --param events-class "'MOWGLI'" $(XSLROOT)/events.xsl $< | $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -deadlines.html: $(XMLROOT)/other-events.xml \ - $(XSLROOT)/deadlines.xsl \ - $(XHTMLCONTENT) - $(XSLTP) --param today `date +%Y%m%d` --param events-class "'Other'" $(XSLROOT)/deadlines.xsl $< | $(XSLTP) --param path_to_top "'.'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -deliverables/%.html: $(XMLROOT)/deliverables/%.xml \ - $(XSLROOT)/deliverable.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/deliverable.xsl $< | $(XSLTP) --param path_to_top "'../..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -sites/%.html: $(XMLROOT)/sites/%.xml \ - $(XSLROOT)/site.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/site.xsl $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -people/%.html: $(XMLROOT)/people/%.xml \ - $(XSLROOT)/person.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/person.xsl $< | $(XSLTP) --param path_to_top "'../..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -publications/index.html: $(XMLROOT)/publications/index.xml \ - $(XSLROOT)/publications-index.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/publications-index.xsl $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -publications/mowgli/%_on_line.html: $(XMLROOT)/publications/mowgli/%_on_line.xml \ - $(XHTMLCONTENT) - $(XSLTP) --param path_to_top "'../..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) $< - - -publications/%.html: $(XMLROOT)/publications/%.xml \ - $(XSLROOT)/publication.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/publication.xsl $< | $(XSLTP) --param path_to_top "'../..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - -work-packages/index.html: $(XMLROOT)/work-packages/index.xml \ - $(XSLROOT)/work-packages_index.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/work-packages_index.xsl $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -work-packages/%.html: $(XMLROOT)/work-packages/%.xml \ - $(XSLROOT)/work-package.xsl \ - $(XHTMLCONTENT) - $(XSLTP) $(XSLROOT)/work-package.xsl $< | $(XSLTP) --param path_to_top "'..'" --param use_frames "'$(FRAMES)'" -o $@ $(XHTMLCONTENT) - - - -clean: - rm -f $(DOCUMENTS) approaching-deadlines.xml latest-news.xml -.PHONY: clean - -install: $(DOCUMENTS) - mkdir -p $(HTMLDESTDIR) - for i in $(dir $(DOCUMENTS)); do \ - mkdir -p $(HTMLDESTDIR)/$$i; \ - done - for i in $(DOCUMENTS); do \ - cp $$i $(HTMLDESTDIR)/$$i; \ - done - mkdir -p $(DESTDIR)/images - cp ../images/*.* $(DESTDIR)/images - mkdir -p $(DESTDIR)/style - cp ../style/*.css $(DESTDIR)/style - cp ../htaccess $(HTMLDESTDIR)/members/.htaccess - mkdir -p $(DESTDIR)/misc/proposal - cp ../htaccess $(DESTDIR)/misc/proposal/.htaccess - cp ../misc/proposal/*.* $(DESTDIR)/misc/proposal - mkdir -p $(DESTDIR)/misc/contract - cp ../htaccess $(DESTDIR)/misc/contract/.htaccess - cp ../misc/contract/*.* $(DESTDIR)/misc/contract - cp ../misc/kick-off/*.* $(DESTDIR)/misc/kick-off - cp ../htaccess $(DESTDIR)/misc/kick-off/.htaccess - if [ $(FRAMES) = yes ] ; \ - then \ - sed s/menu\\.html/$(HTMLDESTDIRSUFFIX)\\/menu\\.html/ $(DESTDIR)/index.html ; \ - else \ - cp home.html $(HTMLDESTDIR)/index.html ; \ - fi - -uninstall: - rm -rf $(DESTDIR)/* - -$(XSLROOT)/%.xsl : $(XSLROOT)/common.xsl -$(XSLROOT)/latest-news.xsl : $(XSLROOT)/news.xsl -$(DOCUMENTS) : $(XSLROOT)/common.xsl - diff --git a/helm/mowgli/home/html/deliverables/distribution/.cvsignore b/helm/mowgli/home/html/deliverables/distribution/.cvsignore deleted file mode 100644 index 24596ca98..000000000 --- a/helm/mowgli/home/html/deliverables/distribution/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -d5a.html -d5b.html diff --git a/helm/mowgli/home/html/deliverables/information-dissemination-and-exploitation/.cvsignore b/helm/mowgli/home/html/deliverables/information-dissemination-and-exploitation/.cvsignore deleted file mode 100644 index 4723c15bf..000000000 --- a/helm/mowgli/home/html/deliverables/information-dissemination-and-exploitation/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -d7a.html -d7b.html diff --git a/helm/mowgli/home/html/deliverables/interfaces/.cvsignore b/helm/mowgli/home/html/deliverables/interfaces/.cvsignore deleted file mode 100644 index c94f4c4e1..000000000 --- a/helm/mowgli/home/html/deliverables/interfaces/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -d4a.html -d4b.html -d4c.html -d4d.html -d4e.html diff --git a/helm/mowgli/home/html/deliverables/metadata/.cvsignore b/helm/mowgli/home/html/deliverables/metadata/.cvsignore deleted file mode 100644 index 00ba3da81..000000000 --- a/helm/mowgli/home/html/deliverables/metadata/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -d3a.html -d3b.html diff --git a/helm/mowgli/home/html/deliverables/project-management/.cvsignore b/helm/mowgli/home/html/deliverables/project-management/.cvsignore deleted file mode 100644 index 28430659f..000000000 --- a/helm/mowgli/home/html/deliverables/project-management/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -d0a.html -d0b.html -d0c.html -d0d.html diff --git a/helm/mowgli/home/html/deliverables/requirement-analysis/.cvsignore b/helm/mowgli/home/html/deliverables/requirement-analysis/.cvsignore deleted file mode 100644 index e9c6328a9..000000000 --- a/helm/mowgli/home/html/deliverables/requirement-analysis/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -d1a.html -d1b.html -d1c.html diff --git a/helm/mowgli/home/html/deliverables/testing-and-validation/.cvsignore b/helm/mowgli/home/html/deliverables/testing-and-validation/.cvsignore deleted file mode 100644 index cf0f34543..000000000 --- a/helm/mowgli/home/html/deliverables/testing-and-validation/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -d6a.html -d6b.html -d6c.html -d6d.html diff --git a/helm/mowgli/home/html/deliverables/transformation/.cvsignore b/helm/mowgli/home/html/deliverables/transformation/.cvsignore deleted file mode 100644 index 06fef3a09..000000000 --- a/helm/mowgli/home/html/deliverables/transformation/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -d2a.html -d2b.html -d2c.html -d2d.html -d2e.html -d2f.html -d2g.html diff --git a/helm/mowgli/home/html/members/.cvsignore b/helm/mowgli/home/html/members/.cvsignore deleted file mode 100644 index 90c0ce079..000000000 --- a/helm/mowgli/home/html/members/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -index.html -ml-help-example.txt -kick-off.html diff --git a/helm/mowgli/home/html/mowgli-events/.cvsignore b/helm/mowgli/home/html/mowgli-events/.cvsignore deleted file mode 100644 index 227036e81..000000000 --- a/helm/mowgli/home/html/mowgli-events/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -kick-off.html diff --git a/helm/mowgli/home/html/people/aei/.cvsignore b/helm/mowgli/home/html/people/aei/.cvsignore deleted file mode 100644 index dd435367d..000000000 --- a/helm/mowgli/home/html/people/aei/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -kelley.html -pollney.html -schutz.html -velden.html -wegner.html -weyher.html diff --git a/helm/mowgli/home/html/people/bologna/.cvsignore b/helm/mowgli/home/html/people/bologna/.cvsignore deleted file mode 100644 index fed7a15ef..000000000 --- a/helm/mowgli/home/html/people/bologna/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -asperti.html -guidi.html -padovani.html -sacerdoti.html -schena.html diff --git a/helm/mowgli/home/html/people/dfki/.cvsignore b/helm/mowgli/home/html/people/dfki/.cvsignore deleted file mode 100644 index 05d2b68e9..000000000 --- a/helm/mowgli/home/html/people/dfki/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -kohlhase.html -melis.html -siekmann.html -moschner.html -goguadze.html -libbrecht.html diff --git a/helm/mowgli/home/html/people/inria/.cvsignore b/helm/mowgli/home/html/people/inria/.cvsignore deleted file mode 100644 index 0c7a9ceea..000000000 --- a/helm/mowgli/home/html/people/inria/.cvsignore +++ /dev/null @@ -1,10 +0,0 @@ -amerkad.html -bertot.html -chicli.html -delahaye.html -herbelin.html -naciri.html -pottier.html -rideau.html -thery.html -werner.html diff --git a/helm/mowgli/home/html/people/nijmegen/.cvsignore b/helm/mowgli/home/html/people/nijmegen/.cvsignore deleted file mode 100644 index cb89baf3a..000000000 --- a/helm/mowgli/home/html/people/nijmegen/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -barendregt.html -barreiro.html -cohen.html -cruz-filipe.html -geuvers.html -niqui.html -stein.html -synek.html -wiedijk.html diff --git a/helm/mowgli/home/html/people/trusted-logic/.cvsignore b/helm/mowgli/home/html/people/trusted-logic/.cvsignore deleted file mode 100644 index a438e331b..000000000 --- a/helm/mowgli/home/html/people/trusted-logic/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -bolignano.html -gimenez.html -loiseaux.html diff --git a/helm/mowgli/home/html/proposal/.cvsignore b/helm/mowgli/home/html/proposal/.cvsignore deleted file mode 100644 index 4807b69dc..000000000 --- a/helm/mowgli/home/html/proposal/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -project-management.html -project-objectives.html -project-summary.html -contribution.html -innovation.html -EC-contribution.html -econ-scient-tech-prospects.html -project-planning.html -project-components.html diff --git a/helm/mowgli/home/html/publications/.cvsignore b/helm/mowgli/home/html/publications/.cvsignore deleted file mode 100644 index dcaf71693..000000000 --- a/helm/mowgli/home/html/publications/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -index.html diff --git a/helm/mowgli/home/html/publications/mowgli/.cvsignore b/helm/mowgli/home/html/publications/mowgli/.cvsignore deleted file mode 100644 index 05440f9e4..000000000 --- a/helm/mowgli/home/html/publications/mowgli/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -crimea2002_aw.html -crimea2002_aw_on_line.html diff --git a/helm/mowgli/home/html/publications/others/.cvsignore b/helm/mowgli/home/html/publications/others/.cvsignore deleted file mode 100644 index 00a053567..000000000 --- a/helm/mowgli/home/html/publications/others/.cvsignore +++ /dev/null @@ -1,18 +0,0 @@ -category_al.html -crimea2001_apss.html -cup_s.html -cup_s2.html -extreme2001_apss.html -har_bg.html -jep_ws.html -jep_wwsw.html -jlp2001_scg.html -mathml2000_apss.html -mscs_gb.html -tcs2001_og.html -tphols2000_gwz.html -tphols2001_apss.html -cc.html -cup_hp91.html -cup_hp93.html -w3c_bl98.html \ No newline at end of file diff --git a/helm/mowgli/home/html/sites/.cvsignore b/helm/mowgli/home/html/sites/.cvsignore deleted file mode 100644 index 66f60b77e..000000000 --- a/helm/mowgli/home/html/sites/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -aei.html -bologna.html -dfki.html -inria.html -nijmegen.html -trusted-logic.html diff --git a/helm/mowgli/home/html/slides/.cvsignore b/helm/mowgli/home/html/slides/.cvsignore deleted file mode 100644 index 64a8aa4e0..000000000 --- a/helm/mowgli/home/html/slides/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -mowgligroup.html diff --git a/helm/mowgli/home/html/software/.cvsignore b/helm/mowgli/home/html/software/.cvsignore deleted file mode 100644 index dcaf71693..000000000 --- a/helm/mowgli/home/html/software/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -index.html diff --git a/helm/mowgli/home/html/work-packages/.cvsignore b/helm/mowgli/home/html/work-packages/.cvsignore deleted file mode 100644 index f902f78ff..000000000 --- a/helm/mowgli/home/html/work-packages/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -index.html -distribution.html -information-dissemination-and-exploitation.html -interfaces.html -metadata.html -project-management.html -requirement-analysis.html -testing-and-validation.html -transformation.html diff --git a/helm/mowgli/home/images/NextArrow.gif b/helm/mowgli/home/images/NextArrow.gif deleted file mode 100644 index fcd28bac0..000000000 Binary files a/helm/mowgli/home/images/NextArrow.gif and /dev/null differ diff --git a/helm/mowgli/home/images/PreviousArrow.gif b/helm/mowgli/home/images/PreviousArrow.gif deleted file mode 100644 index 489817a82..000000000 Binary files a/helm/mowgli/home/images/PreviousArrow.gif and /dev/null differ diff --git a/helm/mowgli/home/images/arch.png b/helm/mowgli/home/images/arch.png deleted file mode 100644 index 7603bbfc2..000000000 Binary files a/helm/mowgli/home/images/arch.png and /dev/null differ diff --git a/helm/mowgli/home/images/gantt_new.png b/helm/mowgli/home/images/gantt_new.png deleted file mode 100644 index 5481b8776..000000000 Binary files a/helm/mowgli/home/images/gantt_new.png and /dev/null differ diff --git a/helm/mowgli/home/images/istbutton.gif b/helm/mowgli/home/images/istbutton.gif deleted file mode 100644 index f8e8097d0..000000000 Binary files a/helm/mowgli/home/images/istbutton.gif and /dev/null differ diff --git a/helm/mowgli/home/images/istbutton_small.gif b/helm/mowgli/home/images/istbutton_small.gif deleted file mode 100644 index f3b945e90..000000000 Binary files a/helm/mowgli/home/images/istbutton_small.gif and /dev/null differ diff --git a/helm/mowgli/home/images/istdrop.gif b/helm/mowgli/home/images/istdrop.gif deleted file mode 100644 index db2a1cb25..000000000 Binary files a/helm/mowgli/home/images/istdrop.gif and /dev/null differ diff --git a/helm/mowgli/home/images/logo.png b/helm/mowgli/home/images/logo.png deleted file mode 100644 index 970958231..000000000 Binary files a/helm/mowgli/home/images/logo.png and /dev/null differ diff --git a/helm/mowgli/home/images/mowgli_combo.gif b/helm/mowgli/home/images/mowgli_combo.gif deleted file mode 100644 index 5c8a6b4ad..000000000 Binary files a/helm/mowgli/home/images/mowgli_combo.gif and /dev/null differ diff --git a/helm/mowgli/home/images/mowgli_combo.png b/helm/mowgli/home/images/mowgli_combo.png deleted file mode 100644 index 47c989b0e..000000000 Binary files a/helm/mowgli/home/images/mowgli_combo.png and /dev/null differ diff --git a/helm/mowgli/home/images/mowgli_parquet.png b/helm/mowgli/home/images/mowgli_parquet.png deleted file mode 100644 index 8deab0da8..000000000 Binary files a/helm/mowgli/home/images/mowgli_parquet.png and /dev/null differ diff --git a/helm/mowgli/home/images/mowgli_parquet_light.png b/helm/mowgli/home/images/mowgli_parquet_light.png deleted file mode 100644 index 9c404dbfc..000000000 Binary files a/helm/mowgli/home/images/mowgli_parquet_light.png and /dev/null differ diff --git a/helm/mowgli/home/images/pert_new.png b/helm/mowgli/home/images/pert_new.png deleted file mode 100644 index b84e1bf67..000000000 Binary files a/helm/mowgli/home/images/pert_new.png and /dev/null differ diff --git a/helm/mowgli/home/misc/contract/MOWGLIfinal-for-ceto.zip b/helm/mowgli/home/misc/contract/MOWGLIfinal-for-ceto.zip deleted file mode 100644 index c1d986b0f..000000000 Binary files a/helm/mowgli/home/misc/contract/MOWGLIfinal-for-ceto.zip and /dev/null differ diff --git a/helm/mowgli/home/misc/contract/RTD-annex2-rtd-final.pdf b/helm/mowgli/home/misc/contract/RTD-annex2-rtd-final.pdf deleted file mode 100644 index 6b696d171..000000000 Binary files a/helm/mowgli/home/misc/contract/RTD-annex2-rtd-final.pdf and /dev/null differ diff --git a/helm/mowgli/home/misc/contract/RTD-annex3-ist-fet.pdf b/helm/mowgli/home/misc/contract/RTD-annex3-ist-fet.pdf deleted file mode 100644 index dcb7ca2ab..000000000 Binary files a/helm/mowgli/home/misc/contract/RTD-annex3-ist-fet.pdf and /dev/null differ diff --git a/helm/mowgli/home/misc/contract/RTD-audit-cert-annex4.pdf b/helm/mowgli/home/misc/contract/RTD-audit-cert-annex4.pdf deleted file mode 100644 index 2ed10963f..000000000 Binary files a/helm/mowgli/home/misc/contract/RTD-audit-cert-annex4.pdf and /dev/null differ diff --git a/helm/mowgli/home/misc/contract/mowgli-an1-final.pdf b/helm/mowgli/home/misc/contract/mowgli-an1-final.pdf deleted file mode 100644 index 0dbd1ec59..000000000 Binary files a/helm/mowgli/home/misc/contract/mowgli-an1-final.pdf and /dev/null differ diff --git a/helm/mowgli/home/misc/contract/mowgli-ctr-final.pdf b/helm/mowgli/home/misc/contract/mowgli-ctr-final.pdf deleted file mode 100644 index fbb1902fa..000000000 Binary files a/helm/mowgli/home/misc/contract/mowgli-ctr-final.pdf and /dev/null differ diff --git a/helm/mowgli/home/misc/kick-off/AIP_Intro.ppt b/helm/mowgli/home/misc/kick-off/AIP_Intro.ppt deleted file mode 100644 index 7ce24c27a..000000000 Binary files a/helm/mowgli/home/misc/kick-off/AIP_Intro.ppt and /dev/null differ diff --git a/helm/mowgli/home/misc/kick-off/KM2002GO.ps b/helm/mowgli/home/misc/kick-off/KM2002GO.ps deleted file mode 100644 index 51f022e01..000000000 --- a/helm/mowgli/home/misc/kick-off/KM2002GO.ps +++ /dev/null @@ -1,1984 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvipsk 5.86 p1.5d Copyright 1996-2001 ASCII Corp.(www-ptex@ascii.co.jp) -%%based on dvipsk 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com) -%%Title: KM2002GO.dvi -%%Pages: 14 -%%PageOrder: Ascend -%%Orientation: Landscape -%%BoundingBox: 0 0 596 842 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips KM2002GO.dvi -o KM2002GO.ps -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2002.04.03:0305 -%%BeginProcSet: texc.pro -%! -/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S -N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 -mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 -0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ -landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize -mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ -matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round -exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ -statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] -N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin -/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array -/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 -array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N -df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A -definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get -}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} -B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 -def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 -rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 -N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop -false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A -length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} -forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ -BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat -{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch -round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 -rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B -/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} -B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p --3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ -0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: pstricks.pro -%! -% PostScript prologue for pstricks.tex. -% Version 97 patch 3, 98/06/01 -% For distribution, see pstricks.tex. -% -/tx@Dict 200 dict def tx@Dict begin -/ADict 25 dict def -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Atan { /atan load stopped { pop pop 0 } if } def -/Div { dup 0 eq { pop } { div } ifelse } def -/NET { neg exch neg exch T } def -/Pyth { dup mul exch dup mul add sqrt } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } -def -/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def -} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } -/pathforall load stopped { pop pop pop pop } if z } def -/STP { .996264 dup scale } def -/STV { SDict begin normalscale end STP } def -/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def -PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y -mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul -/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -0 } ifelse setdash stroke } def -/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt -{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add -def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if -] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 -setlinecap stroke } def -/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch -2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -% DG/SR modification end -Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -% def -a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -pop pop } def -% DG/SR modification end -/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg -exch 3 index sub exch Atan rotate newpath } def -/EndArrow { @mtrx setmatrix CP grestore end } def -/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 -scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill -grestore } def -/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 -CLW moveto } def -/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 -div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 -CLW moveto } def -/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW -2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 -curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } -def -/SD { 0 360 arc fill } def -/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS -CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def -/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { -/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto -load } if ] cvx newpath 3 1 roll T exec } def -/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch -cvi def } def -/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if -f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub -def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def -/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } -ifelse { pop } repeat a } def -/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq -and { pop pop /n n 1 sub def } if } def -/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } -repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 -ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 -moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto -Lineto pop pop closepath } ifelse } def -/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul -neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add -def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 -div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { -%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 -%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -%setmatrix } def -/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup -CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 -d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% setmatrix } def -setmatrix pop } def -% DG/SR modification end -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 -def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp -mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos -abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def -/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul -m mul neg def } def -/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } -ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } -def -/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def -/NC { CC x1 y1 x2 y2 x y curveto } def -/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def -/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def -/NAC { x2 y2 x y curveto CC x1 y1 } def -/EAC { x2 y2 x y ArrowB curveto pop pop } def -/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def -n { NC } repeat EOC } ifelse } def -/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload -/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop -pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def -/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { -CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } -repeat closepath pop pop } ifelse } def -/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def -/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def -/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } -def -/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix -rotate matrix concatmatrix exch findfont exch makefont setfont } def -/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto -x1 y1 lineto closepath } def -/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 -y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div -exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse -/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto -x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } -ifelse } def -/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add -/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { -pop pop Rect } { OvalFrame } ifelse } def -/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop -} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] -aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 -2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } -ifelse } def -/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { -6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def -/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 -sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } -def -/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 -sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA -x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 -y0 x0 2 mul x1 sub y1 ] def } def -/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } -if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if -/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div -round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div -round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub -0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def -/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } -if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } -{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add -exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n -div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 -dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { -dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { -pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup -stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} -{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i -w add def } repeat grestore gsave n 0 gt -% DG/SR modification begin - Nov. 7, 1997 - Patch 1 -%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } -{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } -% DG/SR modification end -{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul -n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n -div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop -1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs -dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt -{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g -exch t L stroke /i i h add def } repeat grestore } def -/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 -1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add -exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c -mul neg d } def -/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def -/Rot { CP CP translate 3 -1 roll neg rotate NET } def -/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } -def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle -dup a add ] cvx def } def -/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] -cvx def } def -/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def -/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def -/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def -/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s -abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b -div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { -h1 abs h sub dup s mul abs } ifelse } def -/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s -mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q -{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add -exch } def -/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible -/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def -} if } ifelse } def -/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def -/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit -neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def -/IfVisible true def } def -end -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro -%!PS-Adobe-2.0 -%%Title: Dot Font for PSTricks 97 - Version 97, 93/05/07. -%%Creator: Timothy Van Zandt -%%Creation Date: May 7, 1993 -10 dict dup begin - /FontType 3 def - /FontMatrix [ .001 0 0 .001 0 0 ] def - /FontBBox [ 0 0 0 0 ] def - /Encoding 256 array def - 0 1 255 { Encoding exch /.notdef put } for - Encoding - dup (b) 0 get /Bullet put - dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put - dup (u) 0 get /SolidTriangle put - dup (t) 0 get /Triangle put - dup (T) 0 get /BoldTriangle put - dup (r) 0 get /SolidSquare put - dup (s) 0 get /Square put - dup (S) 0 get /BoldSquare put - dup (q) 0 get /SolidPentagon put - dup (p) 0 get /Pentagon put - (P) 0 get /BoldPentagon put - /Metrics 13 dict def - Metrics begin - /Bullet 1000 def - /Circle 1000 def - /BoldCircle 1000 def - /SolidTriangle 1344 def - /Triangle 1344 def - /BoldTriangle 1344 def - /SolidSquare 886 def - /Square 886 def - /BoldSquare 886 def - /SolidPentagon 1093.2 def - /Pentagon 1093.2 def - /BoldPentagon 1093.2 def - /.notdef 0 def - end - /BBoxes 13 dict def - BBoxes begin - /Circle { -550 -550 550 550 } def - /BoldCircle /Circle load def - /Bullet /Circle load def - /Triangle { -571.5 -330 571.5 660 } def - /BoldTriangle /Triangle load def - /SolidTriangle /Triangle load def - /Square { -450 -450 450 450 } def - /BoldSquare /Square load def - /SolidSquare /Square load def - /Pentagon { -546.6 -465 546.6 574.7 } def - /BoldPentagon /Pentagon load def - /SolidPentagon /Pentagon load def - /.notdef { 0 0 0 0 } def - end - /CharProcs 20 dict def - CharProcs begin - /Adjust { - 2 copy dtransform floor .5 add exch floor .5 add exch idtransform - 3 -1 roll div 3 1 roll exch div exch scale - } def - /CirclePath { 0 0 500 0 360 arc closepath } def - /Bullet { 500 500 Adjust CirclePath fill } def - /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def - /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def - /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def - /TrianglePath { - 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath - } def - /SolidTriangle { TrianglePath fill } def - /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def - /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def - /SquarePath { - -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto - closepath - } def - /SolidSquare { SquarePath fill } def - /Square { SquarePath .89 .89 scale SquarePath eofill } def - /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def - /PentagonPath { - -337.8 -465 moveto - 337.8 -465 lineto - 546.6 177.6 lineto - 0 574.7 lineto - -546.6 177.6 lineto - closepath - } def - /SolidPentagon { PentagonPath fill } def - /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def - /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def - /.notdef { } def - end - /BuildGlyph { - exch - begin - Metrics 1 index get exec 0 - BBoxes 3 index get exec - setcachedevice - CharProcs begin load exec end - end - } def - /BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec - } bind def -end -/PSTricksDotFont exch definefont pop -% END pst-dots.pro - -%%EndProcSet -%%BeginProcSet: special.pro -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ -psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 -roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath -moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict -begin/SpecialSave save N gsave normalscale currentpoint TR -@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ -CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto -closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx -sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR -}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse -CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury -lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N -/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} -repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N -/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX -currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY -moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X -/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 -1 startangle endangle arc savematrix setmatrix}N end - -%%EndProcSet -%%BeginProcSet: color.pro -%! -TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop -setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll -}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def -/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ -setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ -/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch -known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC -/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC -/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 -setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 -setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 -0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC -/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 -setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 -0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ -0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ -0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC -/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 -setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 -setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 -0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC -/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 -setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 -0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ -0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ -0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC -/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 -setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC -/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 -0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 -0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 -0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 -setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 -0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC -/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 -setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 -0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 -1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC -/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 -setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ -0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} -DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 -setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 -setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 -setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end - -%%EndProcSet -TeXDict begin 55380996 39158280 2074 600 600 (KM2002GO.dvi) -@start -%DVIPSBitmapFont: Fa cmsy10 20.74 1 -/Fa 1 33 df 32 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb cmr10 20.74 19 -/Fb 19 122 df<94380FFF804CB512F0041F14FE047F80922701FFFC0113C003079039C0 -003FE0031F90C7EA0FF0DB3FFCEC03F8DBFFF06E7E4A4914004A0180EC07FE4A90C8121F -4A484B7E021F5E4A5A5D147F4A4892B57E7390C7FC495BA349715A4B6F5A735AF101C096 -C9FCB3A296380FFF8095B6FCBCFCA6D8000301C0C8123F8585A285B3B3B3496D4B7FA201 -3F01FC037F13F8007FB600FE90B712FCA6567A7CF960> 12 D -45 D 68 -D 77 D I 83 D 97 D I<1A7E95380FFFFE0503B5FCA6EF0003F0 -007F193FA2191FB3AE923801FFE0031F13FE92B612C0020315F0020F9038E01FF8913A3F -FE0003FEDA7FF8EB007FDAFFE0EC3F9F010349EC0FDF4949EC07FF4948C87E494881013F -824948167F495A193F485B48181F5C5A485BA25AA291CAFC5AA35A5BA312FFAE127FA37F -A27EA37E807EA27E806C183F6C7F197F6C6D16FF137F6D6C5D6D6C4B7F6D6C5D6D6CDB0F -DF7F6D6DDA3F9F13F06D6DDA7F1FEBFFF06D01F0EB01FCDA7FFCEB07F8913A1FFF807FF0 -020790B512C002011500DA003F01FCEDFC00030301C00280C7FC547A7AF760> 100 -D<923807FFC0033F13FC4AB67E020715E0021F01017F913A7FF8003FFCDAFFE0EB0FFE49 -496D7E0107496D7F4990C76C7F49486E7F49488249486F7E01FF163F4A824849151F4884 -5C48717EA2485B1A804883A24890C9FCA21AC05A845BA312FF90BAFCA31A8049CCFCAA12 -7FA27FA27EA36C7FF10380F107C07E6E160F7E6C6DEE1F80A26CF03F006C7F6E167E017F -17FE6D6C5E6D6C4B5A6D6C15036D6D4A5A6D6D4A5A01006DEC3FC0DA7FF802FFC7FCDA1F -FEEB03FE913A0FFFC03FF8020390B55A020015C0031F49C8FC030113F0424F7BCC4D> I< -EB07E0EB1FF8497E497E90B5FC4880A86C91C7FC6D5A6D5A6D5AEB07E090C9FCB3A4EC1F -8048B5FCB6FCA6C6FC131F7FA27FB3B3B3497FA2017F13F0B712F8A625747BF32F> 105 -D 107 D I<023FDA1FFEEE3FFC0003B591B500E04AB512C0B601 -0702FC020F14F8041F6E023F8093283FE01FFF8090397FC03FFF93267F00036D9026FE00 -077F04FC6D9026E001F86D7FDB03F06D9026F007E06D7FC64A48027F49487F011F4A03F8 -49816D49486E6C48C86C7E4BC8143E6D013E031F49153F033CDCFE7882037C17F84B705A -4B6F49151F8C4B5FA34B5FA44B94C9FCB3B3A6496D4B6D4B7EA2017F01F892B500F04AB5 -12E0B7D8FC01B7D8F803B712F0A6844C7ACB8F> I<023FEC1FFE0003B591B512E0B60107 -14FC041F80933A3FE01FFF8093267F00037F04FC6D7FDB03F06D7FC64A48147F011F4A81 -6D49486E7E4BC8FC6D013E151F033C82157C5D4B150F865DA35DA45DB3B3A6496D4B7FA2 -017F01F892B512F0B7D8FC01B712F8A6554C7ACB60> I I<023F -ECFF800003B5010713F0B6011F7F4C13FE9338FF83FF923801FC07922603F00F1380DB07 -E014C0C64B5A011FEB0F806DEB1F00151E6D133E153C037C6D138003786D130003F86D5A -4B6D5A94C8FCA25DA35DA65DB3B3A2497F81017F13FCB87EA63A4C7CCB43> 114 -D 116 D 121 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmex7 8.296 4 -/Fc 4 63 df<12F012FCB4FC13C0EA3FE0EA1FF86C7E6C7E6C6C7E6C7F6C7F137F6D7E6D -7E80130F806D7EA26D1380A36D13C0A315E07FB3B21B3E737E46> 57 -D 59 D 61 D I -E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmtt8 10.37 53 -/Fd 53 122 df<001E130F003FEB1F80397F803FC000FF14E0A4007F14C0A9EB001FA36C -1480A5003E130F001CEB07001B1A77B52E> 34 D<007FB612C0A2B712E0A36C15C0A223 -077B9D2E> 45 D<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6F8B2E> -I I I I I<0007B612804815C05AA3168001C0C8 -FCADEBC1FF01CF13E090B512F8818181020113809039F8007FC001E0EB3FE049131F6C48 -EB0FF06CC71207C8FC16F81503A3123E127F487EA2150716F0150F90C7EA1FE06C6C133F -6DEB7FC06C6CEBFF80EBFC076CB612006C14FC6C5C000114E06C6C1380D90FFCC7FC2536 -7CB42E> 53 D 56 D 60 D<007FB612FCA2B712FEA36C15FC6C15F8CAFCA7003FB612F84815FCB7 -12FEA36C15FCA227157DA42E> I<1278127EB4FC13C07FEA7FF87FEA1FFF6C7F000313E0 -6C7F38007FFC6D7E90380FFF806D7F010113F06D7FEC3FFE6E7E020713C080020013E015 -7F15FF020313C05C021F13004A5AECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0 -485B000F13804890C8FCEA7FFC5BEAFFE05B90C9FC127E1278232D7BB02E> I<147F4A7E -A2497FA4497F14F7A401077F14E3A3010F7FA414C1011F7FA490383F80FEA590387F007F -A4498091B5FCA44881A29038FC001FA200038149130FA4D83FFFEB7FFE486DB5FCB51580 -A26C16006C496C5A29367EB52E> 65 D<003FB512F04814FEB7128016C06C15E06C15F0 -3A03F8001FF81507ED03FC150116FE1500A5150116FC150316F8150FED1FF090B612E016 -C01600A2168016E09039F8003FF0ED07F8ED03FC150116FE1500A2167FA616FF16FE1501 -1503ED07FC151F003FB612F84815F0B712E016C06C15006C14F828357FB42E> I<91387F -803C903903FFF03E010FEBFC7E49EBFEFE4913FF90B6FC48EBE07FEC801F3903FE000F48 -481307484813035B48481301A2485A15005B127F90C8FC167C16005A5AAB7E7EA2167C6D -14FE123F7FA26C7E15016C6C14FC6D13036C6CEB07F86C7E3A01FF801FF09138E07FE06C -90B512C0013F14806D14006D5B010313F89038007FC027377DB52E> I<007FB57EB612E0 -15F815FE816C15803807F0019138007FC0ED3FE0ED1FF0150FED07F8A2ED03FCA2150116 -FE1500A4167FAC16FEA3150116FCA21503ED07F8A2ED0FF0151FED3FE0ED7FC0EC01FF00 -7FB61280B712005D15F85D6C148028357EB42E> I<003FB612FC4881B7FCA27E7ED803F8 -C7FCA7167C93C7FCA415F84A7EA490B5FCA6EBF801A46E5A92C8FCA4161FEE3F80A8003F -B7FC5AB8FCA27E6C160029357EB42E> I<007FB612FEB8FCA47ED803F8C7127FA7163E16 -00A4157C15FEA490B5FCA6EBF800A4157C92C7FCAD387FFFE0B57E80A25C6C5B28357EB4 -2E> I<9138FE01E0903907FFC1F0011F13F34913FF5B90B6FC4813C14848C6FC4848137F -49133F4848131F5B001F140F5B123F491307A2127F90C7FCED03E092C7FC5A5AA7913801 -FFFE4A13FFA37E6C6D13FE91380007F0A27F003F140FA27F121F6D131F120F7F6C6C133F -6D137F6C6C13FF3801FF816C90B5FC7F7F6D13E70107EBC3E0D900FEC7FC28377DB52E> -I<003FB512FE4880B71280A26C15006C5C260007F0C7FCB3B3A5003FB512FE4880B71280 -A26C15006C5C21357AB42E> 73 D<0103B512C04914E016F0A216E06D14C090390001FC -00B3B0123E127FEAFF80A214035DEB000F397FE03FF090B55A6C5C6C5C6C91C7FC000313 -FC38007FE024367BB42E> I<387FFFF0B57EA46C5BD803F8C8FCB3AE167C16FEA8007FB6 -FCB7FCA46C15FC27357DB42E> 76 D I I<90387FFFC00003B512F8000F14FE4880A2481580EBF0013A7FC0007FC0 -49133FA290C7121FA34815E048140FB3A86C141FA26C15C0A36D133FA26D137F3A3FF803 -FF8090B6FC6C1500A26C5C000314F8C66C13C023377BB52E> I<003FB512E04814FCB7FC -16806C15C06C15E03A03F8007FF0ED1FF8150FED07FC1503150116FE1500A6150116FC15 -031507ED0FF8151FED7FF090B612E016C01680160015FC15E001F8C8FCAF383FFF80487F -B57EA26C5B6C5B27357EB42E> I<387FFFFEB612C015F08115FE7E3907F007FF02007F6F -7E153F151F82150FA5151F5E153F157F4B5A020790C7FC90B55AA215F85D81819038F003 -FEEC00FF8182153FA8EE87C0EE8FE0A5D87FFFEB1FDFB50080EBFFC08117806F13006C49 -6C5AC912F82B367EB42E> 82 D<90390FF80780D97FFF13C048B512CF4814FF5A5A381F -F80F383FE00349C6FC4848137F90C7FC00FE143FA2151FA46CEC0F806C6C90C7FC7F7FEA -3FF86CB47E6C13F86CEBFFC06C14F06C14FC6C6C7F010F7F01001480020F13C0020013E0 -153FED1FF0150FED07F8A2007C140312FEA56CEC07F0A26D130F6DEB1FE001F0133F01FF -EBFFC091B5128016005D00FC5CD8F83F13F0D87803138025377CB52E> I<003FB7FC4816 -80B8FCA43AFE007F003FA7007CED1F00C791C7FCB3AF90381FFFFC497F497FA26D5B6D5B -29357EB42E> I<3B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E0D8 -03F8C7EAFE00B3AF6D130100015DA26D130300005D6D13076D6C485AECC01F90393FF07F -E06DB55A6D5C6D91C7FC6D5B010013F8EC1FC02D3680B42E> I I 89 D 97 D I<903803FFE0011F13FC017F7F90B6FC48158012071400EA0FF84848EB7F0048 -5A49131C484890C7FC90C9FCA25A5AA77E7E7FED0F806C6CEB1FC07F6C6C133FD80FFCEB -7F803907FF81FF91B5120000015C6C5C6D5B011F13E0010390C7FC22257AA42E> I<9138 -07FF804A7FA480EC001FAAEB07F8EB3FFF4913DF48B6FC5A5A380FFE07381FF801EBE000 -4848137F153F4848131F90C7FCA25A5AA77E7E153F7F003F147F6D13FF6C6C5A6D5A380F -FE0F6CB7FC6C16806C14DF6C149F90383FFE1F90260FF80F130029357DB42E> I I I<16FC903903FC07FF90261FFF9F1380017F90B5FC90 -B712C05A4815BF3A07FE07FE3FD9F801EB1F803B0FF000FF0F00496DC7FC001F8149133F -A56D137F000F92C7FC6D5B6C6C485AEBFE0790B55A5D485C5D01DF1380D9C3FCC8FC01C0 -C9FCA27F7F6CB512F815FF16E04881488148819039E0000FFED87F80EB01FF90C87E00FE -ED3F80A248151FA46C153F007FED7F0001C0495AD83FF0EB07FED81FFEEB3FFC6CB65A6C -5D6C5DC61580011F01FCC7FC010313E02A3A7EA52E> I I I I I<387FFF -F0B57EA47EEA0003B3B3A5007FB612C0B712E0A46C15C023357BB42E> I<3A3FC1FC01FC -3A7FE7FF07FFB6009F138015BF6C91B512C07E0007010FEB0FE001FC13FC9039F807F807 -A201F013F0A201E013E0B33B3FFC0FFC0FFC3B7FFE1FFE1FFEB5393FFF3FFFA23B7FFE1F -FE1FFE3B3FFC0FFC0FFC302581A42E> I<397FF807F839FFFC3FFE91B57E90B67EA26C81 -0001EBF81F9138E00FF01480EC0007A25BA25BB23B7FFFF03FFFC0B56C4813E092B5FCA2 -816C496C13C02B257FA42E> I I<397FF80FF839FFFC7FFE01FDB57E -90B67E826C8100019038F83FF89138C007FCEC80034A6C7E491300498082A21780163FA7 -167F17007F5E6D495AA26E485AECC00F9138F03FF891B55A5E5E01FD91C7FC9038FC7FFC -EC0FF091C9FCAD387FFFF0B57EA46C5B29387FA42E> I 114 D<90383FFE3C48B512FE1207121F5A5AEB -E00738FF00014813005AA26C147C6C91C7FCEA7FF0EBFF806C13FE6CEBFFC0000714F000 -0114FCD8003F7F01007F02031380EC007F007CEC1FC000FE140FA27EA26D131F6DEB7F80 -9038F803FF90B612005D5D5D00F814E026781FFEC7FC22257AA42E> I I<3A7F -F801FFE0486C487FA4007F7F0001EB0007B3A3150F151F6D133F6D13FF6C90B612C017E0 -7F7F6D13E70103010313C02B257FA42E> I<3A3FFF80FFFE4801C17FB51580A26C16006C -01805B3A01F8000FE06D5CA20000141F6D5C137E153F017F91C7FC7FA290381F807EA214 -C0010F5BA214E0903807E1F8A2EB03F15D14F31301ECFBE0A2EB00FF5D147FA25D143FA3 -92C8FCA25C147EA214FE00075BEA1FC1383FE1F813E3EBE7F0131FEBFFE06C5B5C6C90C9 -FCEA07FCEA03F029387EA42E> 121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmtt8 16.592 1 -/Fe 1 65 df 64 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmsy8 16.592 1 -/Ff 1 16 df<4AB47E021F13F891B6FC010315C04981011F15F84981498190B8FC481780 -4817C0A24817E04817F0A24817F84817FCA34817FEA3BAFCAC6C17FEA36C17FCA36C17F8 -6C17F0A26C17E06C17C0A26C17806C17006D5D6D5D6D5D010715E06D5D010092C7FC021F -13F802011380383878BE49> 15 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmr8 16.592 72 -/Fg 72 127 df<933803FFFE047FEBFFF00307B7FC031F16C092B5D8800F13F8020301F8 -C713FE020F01C091381FFF804A90C800077FDA7FFC030113F04A486F7F010349EE7FFE49 -49707E4949707F4949707F4990CA6C7F4948717F4948717F48874A8348874A187F488748 -49721380A348497213C0A3481CE04A84AB6E606C1CC0A46C6D4E1380A36C1C006E606C63 -A26C6D4E5AA26C636D6C4D5BA26D6C4D5BA2011F626D6C4D5B6D97C7FC6F5E6D616D616F -161F6D616E6C4C5A023F60A26E6C4C5A020F60A26E6C4CC8FC00F801034D14F86F150100 -7C01014DEB01F0A202005F037E4B5A007E1B03003E023E4C14E0033F1507A2003F6E4C13 -076C1CC001C01A1F90B66C4AB6FCA36C1C80A56C1C0093C87E5D617AE06A> 10 -D<933807FFC093B512F8030F14FE033F6E7E9226FFFC017F02039039E0001FE0020F90C7 -EA07F04A486E7EDA3FF814074A48EC1FFC4A48143F495B495B4990C8FC4E7E49486F5AA2 -131F4A6F5A725AF003C095C9FCB094383FFFFEBAFCA526001FFCC8123F181FA2180FB3B3 -A8496C4B7E90B56C027F13C0007F02FF013FB61280A549617DE051> 12 -D<140C143FEC7F80ECFFC05B4913E05B15C05B491380491300495A5CEBFFF0485B485B48 -5B49C7FC485A485A485AEA7FC05B48C8FC5A127812301B1B62E049> 19 -D 34 -D 40 -D<127012F8127C7E7E6C7E7F6C7E6C7E6C7E6C7E137E137F6D7E6D7EA26D7E8013076D7E -80130180130080A26E7EA26E7EA281141F81A2140F81A2140781A36E7EA48180A41680A2 -80A616C0B3A31680A65CA21600A45C5DA44A5AA35D140FA25D141FA25D143F5DA24A5AA2 -4AC7FCA25C13015C13035C495A130F5C495AA2495A49C8FC137E5B485A485A485A485A5B -48C9FC123E5A5A1270228978E639> I 44 D I I<181E183E18 -7FA218FFA2EF01FEA218FC1703A218F81707A2EF0FF0A218E0171FA218C0173FA2EF7F80 -A218005FA25F1601A24C5AA25F1607A25F160FA24C5AA25F163FA25F167FA24CC7FCA25E -1501A25E1503A24B5AA25E150FA25E151FA24B5AA25E157FA24BC8FCA25D1401A25D1403 -A24A5AA25D140FA25D141FA24A5AA25D147FA292C9FC5CA2495AA25C1303A25C1307A249 -5AA25C131FA25C133FA2495AA291CAFC5BA25B1201A2485AA25B1207A25B120FA2485AA2 -5B123FA25B127FA248CBFCA25AA2127CA2388978E649> I I<153C157E15FE14031407141F14FF130748B5FCB6FCA2141F13F8EAFE00C7 -FCB3B3B3B04A7E4A7F49B512E0007FB81280A5315C74DB49> I<913807FFC0023F13FC49 -B67E010715E04915F890263FF80713FE903A7FC0007FFF49C7001F7FD801FC6E7F484802 -037FD807E06E7F48486E7F844848157F90C96C7E5A003E707E127E007C1880D87FE08148 -7E7F19C06D81A66C5A6C5A6C485DEA0780CA1480A25F1900A24D5AA260177F604D5A5E60 -4C5B4C5B95C7FC4C5A4C5A4C5A5F4C5A4C5A4B5B4B90C8FCED07FC4B5A4B5A4B5A4B5A93 -C9FC15FE4A5A4A5A4A5A4A48EC07C04A5A4A5A4AC8EA0F8014FC495A495A495A4948151F -4948160049C9FC017E5E495E48B9FC5A5A485F5A5A5AB9FCA260A33A5C79DB49> I<9138 -01FFF0021F13FF91B612E0010315F8010F9038007FFED91FF0EB0FFFD93FC06D7F49C700 -017F01FE6E7FD801F88248486F7E4982D807FC153F01FF828048836E80A66C495C6C90C8 -FC6C485E6C5A90C9FC4D5AA34D5A60A24C5B4C5B604C90C7FC4C5A4C5AEE7FF8923801FF -E0033F5B023FB5C8FC16F816FF17E091C7EA7FF8EE1FFE933807FF80707F04007F84717E -717E84717E19808319C0A219E0A28319F0A2EA07C0EA1FF0487E487EA2487EA319E05FA2 -5B6C4817C05B494B1380003EC9FC003F4C13006C6C5E6D4B5A6C6C15FFD807F85E6C6C4A -5B6CB46C010713C06C01E0011F5BD93FFF017F90C7FC6D90B512FC01075D010115C0D900 -3F91C8FC020113F03C5F7ADB49> I I<01E01670D801FCED03F0D9FF80143F02FEEB07FF91 -B75A606095C7FC17FC5F5F17C094C8FC16FC16E001F091C9FC91CBFCB2ED7FF0913807FF -FE021FEBFFC0027F80903AF1FFC03FF8903AF3FC000FFCD9F7F0EB03FFD9FFC06D7F4A6D -7F49C86C7E5B717E498249151F6C488290C97F170F84A3711380A419C0A5EA1FC0EA3FF0 -127F7F12FF7FA219805B5F5B1900EA7FC0007CC95B007E161F003E5F003F163F606C6C15 -7F6C6C5E6D4B5A6C6C4A5B6C6C4A5B6C6C4A90C7FC6CB4EC1FFED97FC0EB7FFC903A3FFC -03FFF06DB65A0107158001014AC8FC6D6C13F0020790C9FC3A5F79DB49> I I 56 D 58 D<007FBEFCA2BF1280A36C1D006C64D2FCB3A5003FBD12FE4888BF1280 -A36C1D00A2612578B472> 61 D 65 D I<94261FFF80EC03800403 -B500F81407041F02FF140F93B712C0030304F0131F030F9027FE003FFC133F033F01E0D9 -07FE137F92B5C8EAFF80020301F892383FC0FF4A01E0ED0FE14A0180ED07F1023F90C9EA -01FBDA7FFC70B5FC4A4883494983494983495B4949834990CB7E5C013F85494884495A87 -485B481B7F5C5A1C3F485BA21C1F485BA25A91CD120FA35AA299C7FC5BA212FFAE127FA2 -7FA36CF30F80A3807EA26C7F1C1F1D006C7FA26C636E193E7E6C6D197E1C7C6D6C19FC6D -6C61011F19016E4E5A6D7F6D6D4D5A6D6D4D5A6D6D4D5A6D6D4DC7FC6E6C5F6EB417FE02 -0F6DED03FC6E01E0ED07F06E01F8ED1FE0020001FFED7FC0033F01E0903803FF80030F01 -FED93FFEC8FC030390B612F8030016E0041F1580040302FCC9FCDC001F13C0596478E06A -> I I I I<94261FFF80EC03800403B500F81407041F02FF140F93 -B712C0030304F0131F030F9027FE003FFC133F033F01E0D907FE137F92B5C8EAFF800203 -01F892383FC0FF4A01E0ED0FE14A0180ED07F1023F90C9EA01FBDA7FFC70B5FC4A488349 -4983494983495B4949834990CB7E5C013F85494884495A87485B481B7F5C5A1C3F485BA2 -1C1F485BA25A91CD120FA35AA299C8FC5BA212FFAE127F6D053FB712E0A47E96C7ECE000 -6E063F5B755B6C86A26C7FA36C7FA27E807E6C7F80137F6D7E6D7EA26D7F6D7F6D6D5F6D -7F6D6D5FEC7FFE6E6C5F020F01C016FD6E01F0ED03F86E01FC923807F07F020001FF9238 -1FE03F033F01E09138FFC01F030F01FF010FEB800F030391B538FE0007030004F8130304 -1F03E090C8FC040392CAFCDC001F13E0636478E073> I I I 75 D I I I I I I I<912603FFE01470023F01FE14F091 -B6EAC001010315F0010FEDF803499039007FFE07D93FF0EB07FFD97FC00100138F4948EC -3FDF4848C8EA0FFF484881484881484881834848167F003F173F5B181F127F49160FA200 -FF1707A31803A27FA218017FA27F6C7E95C7FC7F6C7E6D7E14E06C13F8ECFF806C14F86C -ECFF806C15F8EEFFC06C16F86C16FF013F16C06D826D16F8010382010082023F81020716 -80DA003F15C01503DB003F14E0040314F0EE003F050713F883050013FC187FF03FFE181F -A2180FF007FF127800F883A484A27EA319FE7EA26C170319FC7FF007F87F6DEE0FF07F6D -EE1FE06DEE3FC06D167F6D6CEDFF80D9BFE04A1300D91FF8EC07FE486CB4EC1FFC010301 -F8EBFFF8486C90B612E0486C6C5D020F92C7FC48010114F848D9000F13C0406478E051> -I<001FBD12F0A5489026F0000191C7001F13F891C8D87FFC140101FCF1007F01F01A1F49 -1A0F491A07491A03A290C91701A3007EF300FCA4007C1C7CA7481C3EA5CA1800B3B3B14D -7E4C7F040F14E00203B97EA55F5D7BDC6A> I I I I<003FB70203B612FEA5D8001F02F0DA00 -7F1480010302C0031F01F8C7FC6D4A6F13C06D91C96C5B6E4EC8FC6E6D5E6E60705E6E6D -5E6E6D4B5A1A1F6E6D5E6E6D4BC9FC6E177E7015FE6F6C5D6F6D495A6F4B5A836F6D495A -6F4B5A71131F6F6D5C6F6D49CAFC6F157E7113FE706C5B70EB81F8F083F07013C770EBE7 -E070EBEFC0F0FF80827091CBFC6082717E8385717F717FA24D7F855F4D7F05FE7F4D6C7E -EE01F84C486C7F04076D7F4D7EDC0FC0804C486C7F727F4C487E047E8104FE6D7F4C147F -4B48814B486E7F03076F7F4C804B48824B486E7F737F4BC8FC037E6F7F03FE6F7F4B167F -4A48834A48707F0207717F5D4A48707F021F717F023F834A48844A6C707F010386010F6D -4C7F013F6D4C800003B500FC041F14F0B76C4AB712F8A5655E7CDD6E> I<01061560010F -15F0491401013EEC03E049EC07C049EC0F804848EC1F004848143E49143C0007157C4848 -5CA248C7485A001E5D003E1403A2003C5D007C140700785DA400F8140F4892C7FCA4D8F1 -F8EC1F80D8F7FEEC7FE0B5ECFFF0028014F8A202C014FC6C80A46C80028014F86C806C90 -C713F06C48EC7FE0D801F8EC1F802E2B6BDF49> 92 D 97 D<14F8EA07FFB5FCA51203EA007FA2133FB3A8EE1FFE4BB512 -E0030F14F8033F14FE923A7FE00FFF809127F9FF00017FDAFBFC9038007FF0DAFFF06E7E -03C0EC0FFC4B6E7E92C86C7E5C4A6F13804A6F13C01AE0197F1AF0A2F13FF8A31AFCA219 -1FA21AFEAB1AFCA2193FA21AF8A2197F1AF0A2F1FFE01AC06E5D6E17804E13006E4B5A6F -4A5ADAEFC04A5ADAE7F04A5ADAC3F8ECFFE0DA81FE01035B9127807FC01F90C7FC4A6CB5 -12FC030F14F0013E0103148090C8D83FF8C8FC47617CDF51> I I<19F8EF07FF94 -B5FCA51703EF007FA2183FB3A8ED7FF80203B51280021F14E0027F14F8903A01FFF007FE -010790388000FF4948C7EA3FFFD91FF8140F49488049481401494880485B4890C9127F48 -173F5B120F485AA2123F5BA2127FA25BA212FFAB127FA27FA2123FA36C7EA2120F6D167F -12076C6C16FF6C6D5C5F6C6D5C6D6C4A7FD93FF8EC1FBFD90FFC91397F3FFF806DB4D901 -FE14FE6D9038E01FFC010090B512F0023F14C0020F1400020001F0ECF80047617BDF51> -I I I I<14F8EA07FFB5FCA51203EA007FA213 -3FB3A893380FFF80047F13F00303B512FC4B14FF92261FF00F7F92263F80037F037EC77F -03F86E7EECF9F0DAFBE06E7EECFFC05D92C8121F855CA25CA35CB3B0496C4B7E48B592B5 -1280B600FE017F14FFA548607BDF51> I<133FEBFFC0487F487FA2487FA66C5BA26C5B6C -5B013FC7FC90C8FCB114F8EA07FFB5FCA51201EA007FA2133FB3B3A7497E48487EB612FC -A51E5D7BDC28> I<153FEDFFC04A13E04A13F0A24A13F8A66E13F0A26E13E06E13C0ED3F -0092C7FCB1ED01F8EC0FFF49B5FCA5EB00031400157F153FB3B3B3A7EA1FC0486CEB7FF0 -487E487EA2EDFFE0A216C04A138001F01400007F5B9038C007FE393FF01FF8000FB55A6C -14C0000191C7FC38001FF8257986DC2D> I<14F8EA07FFB5FCA51203EA007FA2133FB3A9 -94B612C0A5053FEBFC007113E096C7FC18FC4D5A18E04D5A4DC8FC4C5A4C5AEE0FF8EE1F -E04C5A4C5A4CC9FCED03FC4B5A4B7E151FED7FFE92B5FC02F98014FBDAFFF77F03E37F03 -C17F15814AC67F4A6D7E4A6D7E5C707E707F707FA2707F707F707F84177F717E717E8583 -717F8585496C16FC2601FFFE4A13FFB600FC017F14F8A545607CDF4D> I<14F8EA07FFB5 -FCA51203EA007FA2133FB3B3B3B3A7497E48B5FCB612FEA51F607BDF28> I I I I<02F8EB1FFED807FF49B512E0 -B5010F14F8033F14FE923A7FE01FFF809127F9FF00037FDAFBFC010013F00003D9FFF06E -7EC66C01C0EC1FFC4B6E7E6D90C87F4A814A6F13804A6F13C01AE0841AF0A2F17FF8A219 -3F1AFCA4F11FFEABF13FFCA4F17FF8A3F1FFF0A24E13E01AC06E5D6E4B13801A006E4B5A -6F4A5A6F4A5A03F04A5ADAFBF849485ADAF9FE01075B9127F87FC03F90C7FC6FB512FC03 -0F14F0030314809226003FF8C8FC93CAFCB3497E48B5FCB612FEA547577CBB51> I 114 D I<147CA714FCA51301A31303A21307A2130FA2131F133F137F13FF1203000F90B6 -12E0B8FCA426001FFCC8FCB3AB17F8AD010FEC01F080A20107EC03E0806DEC07C0ED800F -6D9038C01F806D9038F07F0091383FFFFE6E5B020713F0020013C02D567DD439> I<02F8 -167CD807FF923803FFFCB5157FA500031601D8007FED003FA2013F161FB3AE183FA3187F -A3011F16FF5F80010F5D943807DFFE6D6CEC0F9F6D6C91393F1FFFC06F01FE14FF010090 -38F003FC6EB512F86E14E0020714809127007FFC00EBFC00483D7BBB51> I I I<007FB500FC010FB512F8A5C66C01E06D1400011F496D13F86D6F13E06D1780 -6D94C7FC6D6D495A6D6D5C027F4A5A6E6C14E06F130F6E6C495A6E6C495A6E018090C8FC -6E147E705A6E13E16EEBF3F86FB45A6F5B5F6F5B8181816F7F834B7F4B7F4B7FED1FDFEE -9FFE92383F0FFFDB7E077FDBFE037F4A487EDA03F8804A486C7F4B6D7E4A486D7E4A4813 -1F023F6E7E4AC77F4A6E7F49486E7F01036F7F010F83011F8301FF8300076D020713FFB6 -00C0011F14FFA5483B7EBA4D> I I<000FB812F818FCA302E0C713F849C75AD81F -F84A13F0494A13E04916C0494A13805E494A13005F90C8485A16FF4B5B4B5B485E003E4A -5B5D4B5B4B90C7FC5EC8485A15FF4A5B5E4A5B5C4A5B4A5B93C8FC4A5A027F157C4A5A5D -495B5B494914FC494914F85D4990C8FC5B495A494814015C485B481603485B4A14074849 -140F48161F4890C8EA3FF0484815FF49140FB9FCA37E363B7CBA41> I I I 126 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmbx8 16.592 52 -/Fh 52 128 df 44 -D I<13FC3807FF804813C04813E04813F04813F8A3B512FCA66C -13F8A36C13F06C13E06C13C06C13803800FC00161674952F> I<167E4BB4FC5D150F153F -92B5FC1407147F013FB6FCB8FCA414FB1483EBC003C7FCB3B3B3AE003FB912E0A73B5B74 -DA54> 49 D<913801FFFE023FEBFFF049B612FE0107EDFFC0011F16F0017F16FC48B9FC -4849C66C804801E0010F804801800103804848C76C806D6C6D6C7F4801E06E7F6E824882 -6E6E7FB518806E80A27114C0A31AE0A26C4980A26C5BA26C5B6C5B000390C8FCD800785D -90C915C0A34D1480A21A005F615F614D5B614D5B94B55A4C5C96C7FC4C5B4C5B4C5B4C13 -E04C5B4C90C8FC4C5A4B5B4B13F04B5B4B13804B90C7EA1FE04B5AED7FF84B5A4A49EC3F -C04A13804A90C8FC4A5AEC1FF84A48157F4A5ADAFF8015FF4990C84813804990B8FC5B13 -1F5B5B90BAFC5A4819005A5A5A5A5ABBFCA261A4435B78DA54> I<92383FFF800203B512 -FC021FECFFC0027F15F049B712FC4916FF010FD9F00F8049D9000180D93FFC6D6C7FD97F -F06E7F4A8201FF6F7F4813F802FE82486D8085815A81A6616C4A5BA26C91C75C6C5B6D48 -4A5B6D5AD90FE05E90C95A94B55A614C5C4C91C7FC4C5B041F13F84BB55A0203B612C04A -92C8FC5FEFFFC018F86E15FE91C7000F6D7E040180706C13F0717F717F717F85711480A2 -7114C0A21AE0A201FE6F14F03803FF80000F13E0486D17F8487FA2487FA2B57EA41AF0A3 -4A5C6C19E0A24A17C06C495C4A17806C494A14006C48C8FC6D4B5B6C01C04A5B6C01F04A -5B6C01FE49B512E028007FFFE00F5C6D90B7C7FC010F16FC010316F0D9007F15C0020F02 -FCC8FCDA007F1380455D79DA54> I<93380FFFC04BB512F8030F14FF037F814AB712E002 -07824A49C67F023F01F0EB1FFC4A0180130749B5C7EA1FFE4901FC147F494991B5FC495B -4949491480495B4B5B5B90B5C7FC5A5C5A4A6E14005A715B5A4A6F5A48EF1FF095C8FCA2 -5AA34A131848913803FFFE030FEBFFC0033F14F04B14FC92B7FCB500F1829127F3FE003F -7FDAF7F86D13F0DAFFE001077F4B6D7F854B7F92C87F1A805C1AC05C7213E0A24A17F0A4 -1AF85C7EA67EA46C7F1AF0A27EA21AE07E95B5FC6C6D17C0A26C19806C6D4A1400A26D6C -4A5B6D6D5D6D6D495B6D6D495B6D01F8013F5B6DD9FE01B512806D90B7C7FC6D6C15FC02 -1F15F0020715C0020092C8FC030F13E0455D79DA54> 54 D<13FC3807FF804813C04813 -E04813F04813F8A3B512FCA66C13F8A36C13F06C13E06C13C06C13803800FC0090C7FCB1 -13FC3807FF804813C04813E04813F04813F8A3B512FCA66C13F8A36C13F06C13E06C13C0 -6C13803800FC00163D74BC2F> 58 D<13FC3807FF804813C04813E04813F04813F8A3B5 -12FCA66C13F8A36C13F06C13E06C13C06C13803800FC0090C7FCB1EA01FCEA07FF481380 -4813C04813E04813F0A2B5FC14F8A314FCA47EA27E7E7E7EEA01FEC7FC130114F8A41303 -14F0A2130714E0130F14C0131F1480133FEB7F005B5B485A1203485A485A5B5B5B6CC7FC -165874BC2F> I<0503B512C094B7FC040F16F0047F16FE0303B912C0030F18F0033F91C7 -14FC92B500C0020313FF020301FCC9003F13C0020F01E0040713F04A90CB7FDA3FFCF03F -FCDAFFF0F00FFF4949727F49018006017F4990CD7FD90FFCF23FF04948747E4948DB7FFC -6F7E4A0207B500C014074948023F02F06E7E494849B600FC6E7E4C15FF4890C7000F706D -13804848023FD9F80F01E0EC7FC0494AD9C0006D143F000792B5C7D83FF815E04949496E -6C141F000F4A49020716F04949496E6C140F001F73B514F84949496EEC80074B5B003F1E -FC4949491803A2007F4A1BFE494B1801A292B5FCA200FF1EFF90C791C9815CAC806D8100 -7F1EFE1E0181A26D81003F801FFC6D6D6D1803121F6F6D19F86D6D6D4A1507000F4F16F0 -6D6D6D4A150F00076E6D021F16E06D6D6D4AECC01F00036F01C090B6EB3FC06D6ED9F80F -9238E0FF806C6C020F90B6009F90B5FC6C6D0103040F150070DBFC075C6D6CD9003FDAF0 -0114F86D6C02079126C0007F13E06E9126007FFCC7000713806D6C92CDFC6D7E6DB4FC6D -7F6D01E0F20FFE6D6DF27FFFDA3FFC0703B5FC6EB4193F6E01E00503B512FE020301FC05 -7F14F80200D9FFC0030FB61280033F01FF021FB6EAFC00030F91B912E003034FC7FCDB00 -7F18C0040F05F8C8FC04004CC9FC050302F8CAFC706277E083> 64 -D I I 68 D 70 -D<95B500C01578053F02FE15FC0403B700C01301043F04F813074BB800FE130F03079438 -FF801F031FF0E03F037F9126FC003FEBF07F4AB6C70003EBFCFF020702F8DA007FB5FC4A -02C0151F023F91C912074A01FC160191B500F082494A83494A171F494A834991CB7E495B -4949844949844B8490B5FC484A197F1D3F485CA2484A191FA2481C0F92CDFC5AA248491A -07A448765A9AC9FCA25CA2B5FCAE7E070FB912C080A37EA36E93C86C01FCC7FC7EA27E81 -7EA26C80A26C80A26C807F816D7F6D7F6D7F6D806D806D6E94B5FC6D14F86E6D5E6E01FF -5E020F02E0150F6E02F85D0201DAFF8091B6FC6E6C02FC010F13FD031F91B7EAF07F0307 -F0E01F0301F08007DB003F9338FE0001040304F8EB0038DC003F038091C8FC050002F0CB -FC726277DF84> I 73 -D 76 -D I<943807FFFE4CB612F8041FEDFF80 -93B812F0030717FE031F717E037F18E04AB6D8000F14F8020702F0010014FE4A0280021F -7F023F49C8000714C04A01F803018091B500E06F6C7F494A707F494A707F4991CA6C7F49 -49717F494971804949718049497180A290B548727F48894B8448894B844889A24891CC6C -7FA2481E804A85A2481EC0A448497314E0A5B51DF0AF6C1EE06E61A46C1EC0A36E616C1E -80A26C1E006F60A26C656F606C656F606C656C6E95B55AA26D6D4D5C6D6D4D5C6D6D4D5C -A26D6D4D91C7FC6D6E4C5B6D02E0047F5B01006E93B512F06E6D4B5C6E01FE03075C6E6D -6C021F5C020702F091B548C8FC020102FF010F14F86E92B75A031F188003074DC9FC0300 -17F0041F1680040103F8CAFCDC000749CBFC6C6277DF7F> 79 D<943807FFFE4CB612F8 -041FEDFF8093B812F0030717FE031F717E037F18E04AB6D8000F14F8020702F0010014FE -4A0280021F7F023F49C8000714C04A01F803018091B500E06F6C7F494A707F494A707F49 -91CA6C7F4949717F4949718049497180494971804B8490B587484A727FA2484A727FA248 -91CC6C7FA248894A85481E80A348497314C0A4481EE0A24A85A3B51DF0AF6C1EE0A36E61 -A26C1EC0A46C6D4F1480A26C1E006E61A26C656F606C656FDA7FC05C6C932601FFF85E6C -6E010701FE4A5B051F7F6D6D4902C090B55A6D6D496E485C6D9326C07FF05D6F903AFF00 -0FF8036D6D01FC6D6C4891C7FC6DD9FF010203495B6DDAC1F8902601FE3F5B010002E16F -4813F06E01F96E90B55A6E01FD6F5C6ED9FFFC5F02076E4CC8FC02019126FF800FB512F8 -6E92B75A031F188003074DC812F00300F201F8161F040182DC0007D9FE0F7F94C802E013 -0376130F7401FE137F99B6FC1FF086A3861FE0A27416C0A2751580A2751500A2755C755C -66755C09015C7514800A3F90C7FCF40FF86D7B77DF7F> 81 D I<92267FFF8014780207B500FC14FC023F9138FF800191B7EAE0 -030103EEFC07010FEEFE1F49D9E001EBFFBF017F90C7000F13FFD9FFF8140148496E7E48 -01C0151F484981844890C91201485A84003F187F49173FA2007F181FA2190F12FF19077F -A27F190380808002F8705A6E93C8FC6CEBFF8015F0EDFF8016FC6CEDFFE017FF6C17F018 -FE6C717E6C18E019F86C846C18FF6C856D846D84010F846D840101846D7E021F831403DA -003F821501DB000F1680EE007F050315C0EF007F180F18037214E08485007E84B484A285 -A3857F1BC0A37F1B806D5F7F1B006D5F6D6001FF4D5A6E167F02E04C5A02F84B5B02FF03 -075B03F0021F5B9226FFC001B55A01F791B7C7FC01E117FCD9807F5ED9001F16E0480103 -168048D9003F02FCC8FC0078020014804B6277DF5E> I<001FBE12F8A6481DFC92C7003F -49C7FC02F0190F02C0190391C81700491B7F491B3F491B1F491B0FA2491B07007F1DFE49 -1B03A4491B01A648C9F000FFA5CA1900B3B3B00207BA12F0A7685C7ADB75> I I 87 -D<003FB800C0011FB712E0A7D8000192C9001F01FCC8FC6D6F030113C06E606E6E4B5B71 -4B90C9FC6E6E5E6E4E5A6E6E153F6E6E4B5A714B5A6E6E5E6E4D5B6F6E5B72495B6F6E49 -90CAFC6F5F6F6E495A6F6E495A72137F6F4C5A6F6E485B6F02FF5C07835B7014C77002CF -90CBFC70ECFFFE705D6282705D705D62705D83718086718083718071808671805F4D814D -814D81A24D81DD7FF78005FF814C13E34C01C1800680804C49814C6E804C487F4C486D80 -4D6D804C488204FF804B496D804B496D804D824B90C8814B824B486F804B48844C6F804B -488103FF70804A496F804A49844C6F804A90CAFC4A487180021F874A4871804A48834B71 -800107B57180B8033FB812E0A7735E7ADD7F> I I<0203B5FC027F14F80103B7FC010F16C0 -013F16F04916FC90B5D8000F7F4801F801016D7E6E6D80486D023F7F83486D82717FA271 -7FA3717F6C5BA26C5B6C5B6D5AEB0F8090C9FCA2043FB5FC031FB6FC0203B7FC143F49B8 -FC010715E3011FECF003017FEBFE0048B512F04814C04891C7FC4813FC485B485B5C5A5C -B5FC5CA45FA2806C5E6E5C5F6C6DEC7F7F6C6D02FFEBFFC06C01FED907FEECFFE06C9028 -FFC03FFC3F14F06C91B512F86CEEE01F6C6C4B7E010FED0003010102F8D9007F13E0D900 -0F01C091C8FC4C407BBE52> 97 D<90380FFF80B6FCA712017E7FB3A6EFFFFC041FEBFF -C093B612F8038315FF038F16C003BF8292B5C66C13F804F0010F7F04C001037F93C87F4B -6F7F03F86F7F4B6F7F4B834B8187A2737FA287A2737FA41C80AC1C00A44F5BA363A24F5B -A26F4B5B6F5F6F5D6F4B5B6F92B55A6F4A91C7FC04C001075B02FC01F0011F5BDB7FFE90 -B512F0DAF81FB75A4A6C1680DAE0034BC8FC4AC615F04A011F148090C8000301F0C9FC51 -617ADF5E> I<92380FFFF892B612C0020F15F8023F15FE91B81280010317C04917E0011F -DA000F13F04901F87F4901E04913F890B55A4891C74813FC5A5C485B5A5C5A7113F8485B -7113F07113E0487013C04A9138003E0095C7FCA2B5FCAD7E80A37E806C18FCF001FE6C7F -18036C6D16FC6E15076C6EEC0FF86C6E141F6C6EEC3FF06D6DEC7FE06D01FEEB01FF6D90 -26FFC01F13C06D91B612800103EEFE0001005E023F15F0020F15C002014AC7FCDA000F13 -E03F407ABE4B> I I<92380FFFE04AB512FE020FECFFC0023F15F091B712FC01038249D9FE017F011F90 -26F0001F7F49496D7F49018001037F90B5C76C7F48496E7F484982187F48498248173F85 -484981A2481980A25C4883A21AC0A2B5FCA291B9FCA51A8002E0CBFCA47EA280A27EA27E -6EEE1F806CF03FC0A26C7F6E167F6CF0FF806C6D5D6C6E4A13006D01E04A5A6D6DEC1FFC -6D01FE147F6D903AFFC007FFF8010391B612E06D5F6D6C5E021F4BC7FC020315F0DA007F -14C0030301F8C8FC42407BBE4D> I I I<90380FFF80B6FCA712017E7FB3A6 -94381FFF8094B512F8040714FE041F6E7E047F8193B77E0381D9E01F7F0387D9000F7FDB -8FF87FDB9FF06D7F16C0DBBF808103FFC7FC4B804B825DA25DA25DA35DB3AFB7D8E003B7 -1280A7516078DF5E> I I<903807FF80B6FCA712017E7FB3A795B612E0A7061FEBF00097C7FC4E -5A4E5A943801FFF04D5B050F5B4D90C8FC4D5AEFFFFC4C13F04C5B040F13804C90C9FC4C -5AEEFFF803815B03837F038F7F039F7F92B6FC8484A284043F7FDBFC1F7F4B6C7F4B6C7F -03C0804B6C804B6C8082717F717F717F717F717F857180718083727F727F727F727F1AFF -B76C90B612FEA74F607ADF59> 107 D<903807FF80B6FCA712017E7FB3B3B3B3A7B712C0 -A7226078DF2F> I I I<923807FFF092B67E -020715F0021F15FC91B87E49830107DA007F13F04901F001077F4901C001017F017F496D -13FF90B5C86C7F4A8148496F7F48496F7F4885A248496F7FA24885A248496F7FA34885A4 -B51980AC6C1A00A46C6D4B5BA26C61A26E5D6C616C616E5D6C6D4B5B6C6D4B5B6C6E91B5 -5A6D6D4991C7FC6D01F001075B6D01FE013F5B6D90B75A010317E001001780023F4BC8FC -020F15F802001580030701F0C9FC49407BBE54> I<90260FFF80EB7FFEB6010FB512E004 -7F14FC0381B7FC038716C0039F16F092B87EDD007F13FE000103F0010F7F6C03C06D806D -91C700018003FC804B6F7F4B834B6F7F4B81878587A28587A4731480AC1C0061A363A261 -63A24F5BA26F4B5B6F4B5B816F92B55A6F4A5C6F4A91C7FC04C0010F5B04F0013F5BDCFE -01B512F003DFB75A03CF168003C34BC8FC03C015F0041F1480040301F0C9FC93CCFCB3B7 -12E0A751597ABD5E> I 114 -D<913A3FFFC007800103B538FC1FC0011F91B5FC137F48B8FC48EBF0004890C7121FD80F -FC140748481401484880A24848157FA2173F12FFA27F7F6DED1F8001FF92C7FC14E0ECFF -8015FE6CECFFF016FE6C6F7E17E06C16F86C826C826C826C17806C6C16C0011F16E00107 -16F01300020F15F8EC003F1500041F13FC1603007E81B481177F173F6D151FA27F18F87F -A26DED3FF07F6DED7FE06D15FF6D6C4913C002E00107138002FC017F130091B65A5F01CF -15F0010315C048C66C91C7FC0078010F13E036407ABE43> I I<902607FFC0ED1FFFB60203B6FCA7 -0001EE00076C836D82B3B060A360A2607F60606D6D4A80DD01FE806D01F8D907FCECFF80 -6D01FEEB3FF86D90B65A6D5E6D6C1580021F5D020714F8DA003F01C002F8C7FC513F78BD -5E> I I I<007FB600C0027FB51280A7D8003F01F0C80007EBC000070190C7FC -6D6D4B5AA26D6D4B5AA26D6D4B5AA26D6D4B5AA26D6E4A5AA26D6E4A5AA26E6D4A5AA26E -6D4990C8FCA26E6D495AA26E6D495AA26E6D495AA26E6D495AA26E6E485AA26E6E485AA2 -6F6D485AA26F01F190C9FCA26FEBFBFEA26FEBFFFCA26F5CA26F5CA26F5CA26F5CA2705B -A27090CAFCA2705AA2705AA25FA24C5AA24C5AEA03F0D80FFC4A5AEA3FFF4C5A487F4B90 -CBFCB512C04B5AA24B5A4B5A151F4A485A6C4A5A4A485A263FFE035BD9FC1F90CCFC6CB5 -5A6C14F86C5C000114C06C6C90CDFCEB1FF051597DBC59> 121 D<000FB912F819FCA548 -49C714F802E016F002804914E091C74814C0494A1480495C494A140060494A5B4C5B4991 -B55A5D4B5C003F5F49495C4B91C7FC4B5B5D5FC8485B92B55A4A5C5C4A5C5F4A91C8FC4A -49EB03FC4A5B5C91B55A4C1307494A14F8495C495C5B4991C7FC4B140F495B4949141F90 -B5FC484AEC3FF05D484A147F484A14FF4891C75A4816074849141F4A49B5FC4890B8FCBA -FC19E0A47E3E3D7BBC4B> I I 127 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi cmbx10 20.74 12 -/Fi 12 125 df 77 D<030FB5FC0203B612F8021F15FF91B812E001 -0317F84917FE011F9026FC001F6D7E4901800103806F010080496D6E13F890B56F7F6F80 -727F486E6E7F8784878487A26C5C72806D5BA26D5B6D5BD907FEC9FCEB00F091CAFCA518 -3F0403B7FC93B8FC151F92B9FC140F023F150049B612C0010702FCC7FC4914E0013F1480 -4949C8FC48B512F84814E0485C5D4891C9FC485B5A5C5A5CA2B5FC5CA360A360806C5F6E -5D6C18DF6EED1F9F6C6D037F14FC6C6EDAFF1FEBFF806C02E0902603FE0FECFF806C02F8 -D90FFC16C06C02FF9038FFF8076C92B5487E013FEEC001010F4C7E01014BC7123FD9001F -02F002031480DA007F90CCFC5A507BCE60> 97 D<93383FFFE00307B67E033F15F04AB7 -12FE0207707E021F83027F8391B526FC003F7F010302E001077F490280497F4949C78049 -495C495B49494A7F90B55AA2485C5A5D5A92C86C5B5A725B485B725B48715B060013C007 -1EC7FC4895C8FC5CA4B5FCAF7EA280A27EA36C7FA2F20FC06CF11FE0816C193F6F17C06C -197F6C806FEEFF806C4E13006D6D5D6D6D4B5A6D6D4B5A6D6D6C141F6D02E0EC7FF86D02 -F8903803FFF0010002FF013F13C06E91B65A021F94C7FC020716FC020116F0DA003F15C0 -030702FCC8FCDB003F13C04B5079CE58> 99 D<93381FFFE00303B6FC033F15E092B712 -F8020716FE021F707E4AD9FC0114E091B526E0001F7F49028001077F010749C76C7F4949 -02007F49496F7E49496F1380494917C08590B5486F13E0485C487213F0A24891C914F885 -481AFC5C5A7313FE5AA25C5AA21BFF85A2B5FCA291BBFCA51BFE02FCCCFCA67EA3807EA3 -7EA26C7F1B7E1BFF6C807E6F5E6C1AFE6C6E16036FEE07FC6D180F6D6DEE1FF86D6DEE3F -F06D01FFEEFFE06D6E4A13C06D02E0020F1380010002FC023F13006E903AFFC007FFFE02 -1F91B65A020717F0020117C06E6C93C7FC030F15FC030115C0DB000701F8C8FC50507BCE -5B> 101 D 104 D 107 -D<902601FFFC913803FFF0B6033FEBFF804DB612E0050715F8051F15FE057F819426FFFC -07804CD9C001804C48C780C66CDA07F880011F4A48826DEC1FC04C486E7F4CC8FC047E83 -5EDBFDF881A2DBFFF0835EA25EA35EA493C9FCB3B3A6B8D8F001B812E0A8634E79CD6E> -110 D<93380FFFF04BB67E031F15F892B8FC020317C0020F17F0023F49C66C13FC4A01E0 -01077F49B5008001016D7E4949C86C7F49496F7F49496F7F49496F7F49496F7F49496F7F -90B5486F7F481B8092CAFC481BC0481BE04A83481BF0A2481BF8A348497113FCA3481BFE -A5B51AFFAE6C1BFEA46C1BFC6E5FA26C1BF8A36C6D94B512F0A26C1BE06F5D6C1BC06C1B -806F5D6C6E4B14006D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D6C49B55A010102E00107 -14806D02FE017F91C7FC023F90B712FC6E5F020717E0020094C8FC031F15F8030315C0DB -000F01F0C9FC58507BCE63> I<902601FFF8903803FF80B6021F13F0057F13FC94B6FC04 -0315804C15C093260FFE0F13E093261FF01F13F005E014F8C66C91383F803F011FEC7F00 -6D027E4913FC16FEEDF9FC5E5E15FB5E03FF6E13F8A24C6D13F07213E07213C04C010113 -00F0007C96C7FC93CAFCA65DB3B3A2B812FCA8464E7ACD52> 114 -D<912603FFFEEB03C0027F9039FFE00FE00103B6EAFC3F010F92B5FC133F49EB00072601 -FFF0EB007F480180141F4890C812074848814981484881003F177F5B183F127FA2181F12 -FF7FA27F7F6D6CED0FC06E92C7FC14F814FF6C14FCEDFFE0EEFF806C16F017FC6C16FF18 -C06C17F06C836C836C836C836D1780011F17C0010717E0010117F06D7E020F16F8140003 -0315FCED000F1600051F13FE83007E1603B48283187F6D163FA36D161FA219FC7FA27F6D -EE3FF8A26D17F06D167F6D17E06E15FF02E0020313C06E4A138002FE021F1300913AFFC0 -03FFFE92B65A01E316F001C016C0D9003F92C7FC48010714F80078D9007F90C8FC3F5079 -CE4E> I<91B5933801FFFEB74AB6FCA8C66C93C7FC011F183F6D84B3B3A962A362A397B5 -FC6D5FA2616D6E5CF10FEF6DDD1FCF7F70DA3F8F14C06D6E02FFEDFFE06E6D0103130F6E -01FFEB1FFE6E91B512F8020716F0020116E06E6C1580030FECFC00DB007F01E003E0C7FC -634F79CD6E> 117 D 124 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fj cmbx12 24.888 19 -/Fj 19 122 df[ 143 142 120 269 165 -66 D[<0803B500C0EE01F00703B600FE4C7E077FDBFFE015070607B800FC150F063F05FF -151F4DBA00E0143F050F07F8147F053F07FE14FF94BC5B04039326F8000FECC003040F4B -C86CEBF007043F03C0030F6D5A93B648C900036D5A4B03F09339007FFF3F030703C0051F -90B5FC4B92CB7E033F02FC18034B02F08492B648844A0380193F4A92CD7E4A4A864A4A86 -4A02F0864A4A864A8991B65A494B874992CF7E4C885B494A885E498B494A88A2495C8D90 -B65A8D5A5E48217FA24892D1FC223FA25A5DA248211FA3485C7C5A9FC9FCA25AA45DA3B6 -FCB27EA381A20A0FBB12F8A27EA46C80A36C98C96C02F8C7FCA2817EA36C81A27E827E82 -7FA26D80A26D806D80A26D806D80A26D816D816E806E806E806E6E97B6FC6E806E806E03 -C0606E816F02F8606F02FE60030F6E606F03E0173F030103F85F6F03FF933801FFFC043F -03E00307497E040F03FF033F497E040304FC0107B5EAE00F040093B8487E053FF2000105 -0F07FCEB007F050107F0141FDD003F06C01407060795C81201DE007F04F8ED0070070304 -8093C8FCDF000302E0CDFC> 157 146 115 271 183 71 D[ 74 142 122 269 87 73 D[ 121 -142 120 269 140 76 D[ 203 142 120 269 -220 I[<97B512F0077FECFFE00607B712FE067FEEFFE00503B912FC051FF0FF80057F19 -E00403BB12FC040F9226E0007F14FF043F02FCC7000315C04C02E0DA007F804BB6008003 -1F14F8030702FCC9000314FE4B4A70804B02E0706C80037F0280051F14E092B6CB6C804A -4A72804A4A72804A02F00600804A4A737F4A4A73804A8B4A4A738091B6CD6C80494A7480 -A2494A7480494A7480498C4C86498D4C87498D494A7580A290B68B4C87488EA24892CF6C -80A3488E4B88A2488EA3484A761580A34823C0A5484A7615E0A7B621F0B36C23E0A26F64 -A56C23C0A46F646C2380A36C23006F64A26C6AA270636C6AA26C6A70636C6A70636D69A2 -6D6E98B65AA26D6E505DA26D6E5092C7FC6D6870626D6E505C6D686D6F4F5C6E6E4F5C6E -6E4F5CA26E6E96B65A6E6E4E92C8FC6E6E4E5C020102FF060F14F86E6F4D5C6F6E4D5C6F -02F094B65A030F6E4C92C9FC6F02FE04075C03016E6C031F14F86F03F092B65A043F02FE -020715C0040FDAFFF090B7CAFC040392B812FC04001AF0051F198005074ECBFCDD007F17 -E0060F94CCFCDE007F15E0070002F0CDFC> 148 146 115 271 175 -79 D[ 162 144 120 269 179 85 D[ 229 144 123 269 240 87 D<93B512FC037FECFFF0 -0207B8FC023F17E091B912F84918FE0107727E499126C0007F14E04901E0C7000F80496D -020380496D020014FE6F6F7F90B570806F6F8085486E6F807380A27380A28885886C5CA2 -6D4982886D5B6D5B010713C0010190CAFC90CCFCA90603B7FC050FB8FC0403B9FC167F03 -07BAFC153F4AB7EA807F020FEDE000023F02FCC7FC91B612E0010392C8FC4914FC011F14 -F04914C0495C90B548C9FC485C485C485C485C5A5D485CA24891CAFCA3B6FC5CA397B6FC -A461806C60F107EF6C6E150F6F16CF6C183F6FDB7F8F806C6EDBFF0F14E06C02FCDA03FE -15FE6C6E91260FFC0791B5FC6C6E6CD93FF817806C923AF803FFF003013F91B6487E010F -EF8000010394C77E010004FC141F021F03F0140702010380DA007F1400DA000701F8CDFC -695F79DD71> 97 D[ 113 144 121 270 129 I<94387FFFC0040FB6FC93B712E0030716FC031F16FF037F -17C04AB912F00207DAF80380021F912680003F13FE4A49C7000F7F4A01F802038049B548 -6E804902C06E6C7F494A6F7F4991C9FC49727F4949707F4B84498490B548707F5A4B1980 -48855D481CC086481CE05D5A871DF05AA25D5AA21DF887A2B6FCA392BBFCA51DF00380CD -FCA77EA4817EA37EA2817EA26CF307F06FF00FF87E816C1B1F6F19F06C1B3F6D6DF07FE0 -6D7FF4FFC06D6E4C13806D6E5E6D02F04C13006D6EEE1FFE6D6E4C5A6D6C01FFEEFFF86E -02E002035B6E02FC021F5B02079126FFC003B55A6E92B7C7FC020060033F17F8030F17E0 -03011780DB003F03FCC8FC040315C0DC000F01F8C9FC5D5F7ADD6A> 101 -D[<95383FFF80050FB512F094B612FE040781041F16C0047F824BB87E0307DAF8077F03 -1FDAC00F7F4B49C6487F4B495B92B500F0814A4A5B4A5C4A93B612805F4A91C7FC5C5E5C -5E5C731400A24C6E5B91B56F5BA2735B070313E00700138097C8FCB3A4BA12F8A9C702FC -CBFCB3B3B3B3A2003FB9FCA9> 81 144 121 271 71 I[ -49 144 119 271 65 105 D[ 50 143 119 270 65 108 D<94381FFFF00407B612C0047F15FC0303B87E -030F17E0037F17FC4ABAFC4A9126FC007F80020F02C0010714E04A49C880027F01F8033F -13FC91B5486F7F4902C003077F494A6F804991C96C80494970804949717F49874949717F -A290B548717F48884B83481D80A2481DC04B83481DE0A2481DF0A3484A7114F8A4481DFC -A5B61BFEAF6C1DFCA56C6E4D14F8A36C1DF0A36C1DE06F5F6C1DC0A26C6E4D1480A26C1D -006F5F6C646D6D4D5B6F94B5FC6D636D6D4C5C6D6E4B5C6D6E4B5C6D02F0031F5C6D6E4B -91C7FC6D6C01FE92B512FC6ED9FFC001075C6E02FC017F5C020791B812C0020196C8FC6E -6C17FC031F17F003031780DB007F03FCC9FC040715C0DC001F01F0CAFC675F7ADD74> -111 D 114 D<92261FFFF814F80203B638C001FC023FEDFC0791B812 -1F010317FF130F013F9038F8001F4990C8FCD9FFF8153F4801E0150F4849150348498148 -90CAFC197F4848173F191F485AA2007F180FA31907487EA27FA28002E0705A6E93C8FC14 -FC14FF15F06CECFF8016FCEEFFF06CEEFF8018F06C17FE727E6C18E0856C18FC6C846C72 -7E6C856D84011F846D841303010084023F83140F020183EC001FDB007F16801603DC000F -15C01700183F060F14E0007F1703486C82727E857F85857FA2857F1BC07FA27F1B806D5F -7F1B006E5E6E5F6E163F6E4C5A02FC4C5A6E03035B6E6C4A5B03F0023F5B03FF0107B55A -01F991B7C7FCD9F07F16FCD9E01F16F0D9800716C0D9000193C8FC48D9003F14F8007C02 -0349C9FC4B5F78DD5C> I[ -72 132 124 258 90 I<007FB800C04AB71280A9D800034ACA000791C7FC6D080013F077 -5A6D6E4E5AA26E6E6064836E4F90C8FC836E4F5A836E4F5AA26E6E4C5AA26E6E5F1C3F6E -6E5F1C7F836E4F5A846F4D5B846F4D90C9FCA26F6E4A5AA26F6E5D1B0F846F4D5A846F4D -5A846F4D5AA26F6E4A5AA2706E5C627002C091CAFC6219E0704B5A19F0704B5AA2706E48 -5AA2706E485AA27002FE5B1A7F19FF704B5AA2715DA27192CBFCA2715CA2715CA3715CA2 -715CA2715CA2715CA2725BA27290CCFCA3725AA2725AA24E5AA24E5AA261187FA24E5AA2 -4D5B13FE2603FF804A90CDFC000F13E0486D4A5A487F486D4A5AA260B56C141F4D5AA24D -5A17FF604C5B4A4990CEFC6C5D4C5A6C49EB3FFC4A495A6C4948485A9026FE80075B270F -FFC03F5B6C90B6CFFC6C5D6C15F86C6C5C011F14C0010749D0FC9038007FE071857CDB7B -> 121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fk cmr12 24.888 17 -/Fk 17 125 df[<95260FFFE0ED7FF00503B6913807FFFE053F03C0011FEBFF804CB700 -F0017F14E00407903EFC007FFC01FFF03FF0041F01C0902603FE0790388007F8DC7FFEC8 -D8FF8F9038000FFC922601FFF892263FDFFC131F4B01E06FB448EB3FFE030F49037F157F -4B90C9B54890B5FC4B484B5C4B485D4B484B5C4A5B4A49605C4A4995C7EA7FFE4CF23FFC -4AF41FF893C96C49EC0FF04A71EE03C07493C7FC4A48177FA2515A4A5AB3ACC012F0A6C7 -01FCCA01FCC9FCB3B3B3B3496D4C7F88496D4C80011F02E0031F14F8B800FC90B912C0A6 -> 120 145 123 272 118 11 D[<962603FFFC177096B600E016F0060F03FC1501067FED -FF800503B800E01403050F05F81407053FDAE00113FE94B500FCC7D80FFF140F040302C0 -020101C0131F040F49C96C7E4C01F8DC1FF0133F047F01E0EE07FC93B50080DC01FE137F -030349CB6C13FF4B01F8727E4B49F01FC1033F01C0F00FE34B49F007F392B5CC6CB5FC4A -49854A49854A5B4A49864A49864A49865E4A90CE7E91B587495B494987A2494987495B8B -495B491E7F5D5B4B1C3F90B5FC201F4891D0FCA25A4A1D0F5AA25C481F07A3485BA22003 -A25A5CA29DC9FC5AA45CA2B5FCB37E80A30A3FB912C0A27EA3806C98C7003FED80000C01 -02FCC7FC786C5B8B6C6D668BA27E80A27E807EA26C80A26D7FA26D7FA26D7F7F817F6D7F -817F6D7F6E7F8070626E7F6E7F6E6D626E7F6E6D97B5FC6E7F6F01C0606F6DF003FD030F -6DF007F96F01FCF00FF06F01FF95381FE07F03006EEF3FC07001E09438FF803F041F01FC -0403EB001F7001FFDC0FFE130F040302E0DB3FFC1307040002FE912603FFF01303053FD9 -FFF0017F491301050F91B70080130005034DC81270DD007F04F092C8FC060F1680060003 -F8CCFC070349CDFC> 138 149 117 272 159 71 D[ 57 -141 120 268 73 73 D[ 139 141 119 268 157 75 D[ 108 141 119 268 126 I[ 166 141 119 268 -185 I[<96381FFFE00603B6FC063F15F04DB712FE050F903AF8007FFFC0053F90C70003 -13F0DDFFF89138007FFC040301E0ED1FFF040F0180030713C0DC3FFEC9000113F04C4870 -7F922601FFF0EF3FFE4B49717E4B018005077F031F90CB6C13E04B48727F4B48727F4B48 -737E4A49737E4A49737E4A49737F4A894A49737F4A90CD6C7F4A48747FA24A48747F4949 -757E498A4B87498B4949757FA24949757FA24949757F498BA290B5CF6C7FA2488C4A88A2 -488C4A88482180A348497713C0A34821E0A24A89A24821F0A44821F84A89A6B520FCB26C -6D5313F8A76C21F06E65A36C21E0A36E9AB5FC6C21C0A36C6D521480A26C21006E64A26C -686F636C68A26D6D515BA26D6D515BA26D6D515B6D676F636D676F98B5FC6D9CC7FC6D6D -505B6D666F626E6D4F5B6E6D4F5B6E656E6D4F5B6E6D4F5B6E6D4F90C8FC6E6D4F5A6E6D -4E5B6F6C4E5B6F6D4D5B6F6D4D5B6F6D4D5B030301F8057F90C9FC6F6D4D5A6F6CB40403 -13F8706D4B5B040F01E0031F13C0040301FC92B5CAFC0400D9FF80010713FC053F01F801 -7F13F0050F90B712C005014CCBFCDD003F15F0060392CCFCDE001F13E0> 134 -149 117 272 157 79 D[ 199 145 124 268 208 87 D<93380FFFC093B512FC0307ECFF80031F15F0923A -7FFE007FFC912601FFF0EB07FE020701C0903800FF804A90C8EA3FC0DA1FFCED0FE0DA7F -F86F7E4A48ED01F849496F7E4949167E4949163E4990CA123F49EF03FF49484C13804A5E -017F5F49484C13C061485B5AA2485BA25A4A7013805A731300735A4849EE03F896C8FCA3 -5AA291CDFCA3B5FCAF7E80A47EA36C7FA36CF101F0807E1A036C6D18E0A26C6D17071BC0 -6C6D170F017F19806E171F013F19006D6C5F6D6D167E6D6D167C6D18FC6D6D4B5A6D6D4B -5ADA7FFC4B5A6E6CED1FC091260FFF804A5A6E6D02FEC7FC020101F8EB07FC6E01FFEB7F -F8031F90B512E003071580030002FCC8FC040F13C04C5E79DB5A> 99 -D 101 D 103 D[<14FCEB03FF010F13C049 -7F497FA2497FA86D5BA26D5B6D5B010390C8FCEB00FC91C9FCB3A9EC03F848B5FCB6FCA6 -C67E130F7F7FA27FB3B3B3AE5B81497F013FEBFFC0B812E0A6> 43 -138 121 265 57 105 D[ 97 143 123 270 107 107 D 110 D<153EA8157EA615FEA41401A31403A31407A2140FA2 -141F143FA2147F14FF5B5B5B5B133F90B912F01207BAFCA4C76C48C9FCB3B3AA193EB219 -7E023F167C81A36E16F88280F001F06E7FF003E06E7F6E6DEB07C06E150FDB7FFCEB1F80 -6F6CEB3F0092391FFFC1FE0307EBFFFC030114F06F6C5B040790C7FC3F817CFE4F> 116 -D 123 D I E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - @landscape -%%EndSetup -%%Page: 0 1 -0 0 bop Black Black Black Black Fk 2459 910 a(MO) -6 -b(W) g(GLI) 1992 1151 y(Kic) g(k{O\013) 67 b(Meeting) g(|) p -Fj 1198 1882 a(Usabilit) -6 b(y) 75 b(of) j(MBase) g(for) g(MO) -6 -b(W) g(GLI) p Fi 2126 2627 a(Markus) 66 b(Mosc) -6 b(hner) p -Fh 1176 2897 a(Univ) h(ersit) g(y) 56 b(of) g(Saarbr) 5 -b(\177) -89 b(uc) -5 b(k) g(en,) 55 b(D-66123,) k(German) -5 -b(y;) 1811 3104 y(email:) 73 b(mosc) -5 b(hm@math) g(w) g(eb.org) p -Fg 4881 3761 a(15.Marc) l(h) 49 b(2002) p Black Black -90 rotate dyy eop -%%Page: 0 2 -0 1 bop Black Black Fh 258 96 a(First) 55 b(Glance) p -Black Ff 271 612 a(\017) p Black Fg 86 w(Managemen) l(t) 50 -b(of) f(mathematical) i(kno) l(wledge) p Black Ff 271 -922 a(\017) p Black Fg 86 w(Con) l(ten) l(t) f(language:) p -Fh 66 w(OMDo) 5 b(c) p Black Ff 271 1232 a(\017) p Black -Fh 86 w(Dev) -5 b(elopmen) g(t) 56 b(Graph) p Black Ff -271 1542 a(\017) p Black Fg 86 w(Implemen) l(tation) 51 -b(based) f(on) f(the) p Fh 430 1714 a(MathW) -14 b(eb) p -Fg 48 w(infrastructure) p Black Ff 271 2024 a(\017) p -Black Fg 86 w(Demo) 49 b(and) h(prerelease) g(a) l(v) -8 -b(ailable) p Black Black 90 rotate dyy eop -%%Page: 0 3 -0 2 bop Black Black Fh 258 96 a(Application) 55 b(of) i(MBase) p -Black Ff 271 567 a(\017) p Black Fg 86 w(Usage) 49 b(for) g(writing) h -(mathematical) h(do) t(cumen) l(ts:) p Black Fh 639 859 -a({) p Black Fg 86 w(Structured) f(rep) t(ository) h(of) d -(mathematical) j(concepts) p Black Fh 639 1082 a({) p -Black Fg 86 w(Storing) g(and) e(retrieving) i(mathematical) g(do) t -(cumen) l(ts) p Black Ff 271 1374 a(\017) p Black Fg -86 w(P) l(oten) l(tial) g(use:) p Black Fh 639 1666 a({) p -Black Fg 86 w(Uni\014cation) g(of) e(libraries) p Black -Fh 639 1889 a({) p Black Fg 86 w(Rep) t(ository) h(of) f -(\(standardized\)) p Fh 50 w(XML) p Fg({based) h(do) t(cumen) l(ts) p -Black Fh 639 2112 a({) p Black Fg 86 w(Seman) l(tics{based) h(retriev) --8 b(al) 50 b(of) f(distributed) i(mathematical) g(facts) p -Black Ff 271 2404 a(\017) p Black Fg 86 w(P) l(ossible) f(use) f -(within) h(MO) l(W) l(GLI:) 430 2576 y(lo) t(cal) h(rep) t(ositories) f -(for) f(a) g(uniform) h(data) f(exc) l(hange) p Black -Ff 271 2868 a(\017) p Black Fg 86 w(Systems) g(in) l(tended) i(to) e -(use) g(it) g(in) h(the) f(near) g(future:) p Black 609 -3160 a(1.) p Black 86 w(Activ) l(eMath) h(authoring) h(to) t(ol) p -Black 609 3383 a(2.) p Black 86 w(INKA) d(and) h(\012mega) g(pro) t(of) -g(planner) p Black 609 3607 a(3.) p Black 86 w(Other) p -Fh 49 w(MathW) -14 b(eb) p Fg 48 w(systems) p Black Black -90 rotate dyy eop -%%Page: 0 4 -0 3 bop Black Black Fh 258 95 a(F) -14 b(eatures) p Black -Fg 231 611 a(1.) p Black 85 w(Syn) l(tactic) 51 b(supp) t(ort) e(for) p -Fh 49 w(OMDo) 5 b(c) p Fg 49 w(1.1) p Black 231 921 a(2.) p -Black 85 w(W) -12 b(eb) 50 b(in) l(terface) p Black 231 -1231 a(3.) p Black 85 w(XMLRPC) e(in) l(terface) 430 -1403 y(\(libraries) j(for) e(imp) t(ortan) l(t) h(programming) h -(languages) g(exist\)) p Black 231 1713 a(4.) p Black -85 w(P) l(attern) e(matc) l(hing) h(\(\\case") g(in) p -Fh 49 w(Oz) p Fg(\)) f(|) 430 1885 y(core) h(of) e(seman) l(tics{orien) -l(ted) j(searc) l(h) p Black 231 2195 a(5.) p Black 85 -w(Con) l(ten) l(t) f(stored) f(in) g(SQL) h(database) p -Black 231 2505 a(6.) p Black 85 w(Distributions) h(for) e(Lin) l(ux) p -Black Black 90 rotate dyy eop -%%Page: 0 5 -0 4 bop Black Black Fh 258 96 a(Roadmap) p Black Ff 271 -612 a(\017) p Black Fg 86 w(Curren) l(t) 50 b(state:) 64 -b(database) 50 b(for) e(mathematical) j(con) l(ten) l(t) p -Black Ff 271 922 a(\017) p Black Fg 86 w(Ongoing) g(w) l(ork:) p -Black Fh 639 1232 a({) p Black Fg 86 w(Better) e(supp) t(ort) g(for) g -(seman) l(tics) p Black Fh 639 1473 a({) p Black Fg 86 -w(Con) l(ten) l(t) g(exc) l(hange) h(b) t(et) l(w) l(een) p -Fh 50 w(MBase) p Fg({serv) l(ers) p Black Fh 639 1714 -a({) p Black 86 w(Dev) -5 b(elopmen) g(t) 56 b(Graph) p -Fg 49 w(in) l(tegration) p Black Ff 271 2024 a(\017) p -Black Fg 86 w(F) -12 b(uture) 50 b(w) l(ork:) p Black -Fh 639 2334 a({) p Black Fg 86 w(F) -12 b(ul\014ll) 52 -b(pro) t(of) d(obligations) j(automatically) 809 2506 -y(\(via) p Fh 50 w(MathW) -14 b(eb) p Fg(\)) p Black -Fh 639 2747 a({) p Black Fg 86 w(Syn) l(tax) 50 b(transformators) p -Black Fh 639 2988 a({) p Black Fg 86 w(Logical) h(morphisms) p -Black Black 90 rotate dyy eop -%%Page: 0 6 -0 5 bop Black Black Fh 258 96 a(Dev) -5 b(elopmen) g(t) 56 -b(Graph) p Black Ff 271 612 a(\017) p Black Fg 86 w(Dev) l(elopmen) l -(t) 51 b(b) l(y) e(Dieter) g(Hutter) g(and) g(Serge) h(Autexier) p -Black Ff 271 922 a(\017) p Black Fg 86 w(Directed) g(\(acyclic\)) h -(graphs) e(with) p Black 609 1232 a(1.) p Black 86 w(theories) h(as) f -(no) t(des) p Black 609 1473 a(2.) p Black 86 w(morphisms) h(as) f -(edges) g(|) 809 1645 y(De\014nition) i(and) f(Theorem) f(Links) p -Black Ff 271 1955 a(\017) p Black Fg 86 w(Mec) l(hanism) h(for:) p -Black 609 2265 a(1.) p Black 86 w(F) -12 b(orm) l(ulating) 52 -b(theory) d(links) p Black 609 2506 a(2.) p Black 86 -w(Pro) l(ving) h(of) f(relations) h(b) t(et) l(w) l(een) f(theories) p -Black Ff 271 2816 a(\017) p Black Fg 86 w(Managemen) l(t) h(of) f -(Change:) 430 2988 y(Computation) i(of) e(pro) t(of) g(obligations) j -(after) c(c) l(hanges) p Black Ff 271 3298 a(\017) p -Black Fg 86 w(Realized) j(in) f(the) p Fh 49 w(MA) -14 -b(Y) g(A) p Fg 48 w(system) p Black Black 90 rotate dyy -eop -%%Page: 0 7 -0 6 bop Black Black Fh 258 95 a(URLs) p Black Ff 271 -611 a(\017) p Black Fh 86 w(MBase) p Black 639 921 a({) p -Black Fg 86 w(Homepage:) 66 b(h) l(ttp://www.math) l(w) l(eb.org/m) l -(base) p Black Fh 639 1162 a({) p Black Fg 86 w(Demo:) f(h) l(ttp://m) l -(base.math) l(w) l(eb.org:8080) p Black Fh 639 1403 a({) p -Black Fg 86 w(Bugtrac) l(king:) i(h) l(ttp://bugzilla.math) l(w) l -(eb.org:8000) p Black Fh 639 1644 a({) p Black Fg 86 -w(Users) 48 b(mailing) k(list:) 65 b(m) l(base) p Fe(@) p -Fg(math) l(w) l(eb.org) p Black Fh 639 1885 a({) p Black -Fg 86 w(Do) l(wnload) 50 b(of) f(prereleases) h(for) e(Lin) l(ux:) 809 -2057 y(h) l(ttp://www.math) l(w) l(eb.org/releases/m) l(base) 809 -2230 y(ftp://ftp.ags.uni-sb.de/math) l(w) l(eb.org/releases/m) l(base) p -Black Ff 271 2540 a(\017) p Black Fh 86 w(OMDo) 5 b(c) p -Fg 49 w(:) p Black Fh 639 2850 a({) p Black Fg 86 w(h) l -(ttp://www.math) l(w) l(eb.org/omdo) t(c/index.h) l(tml) p -Black Fh 639 3091 a({) p Black Fg 86 w(Mailing) 52 b(list:) 65 -b(omdo) t(c) p Fe(@) p Fg(math) l(w) l(eb.org) p Black -Ff 271 3401 a(\017) p Black Fh 86 w(Dev) -5 b(elopmen) g(t) 56 -b(Graph) p Fg(:) p Black Fh 639 3710 a({) p Black Fg -86 w(h) l(ttp://www.dfki.de/) 2114 3677 y(~) 2130 3710 -y(ink) -8 b(a/ma) l(y) l(a.h) l(tml) p Black Black 90 rotate -dyy eop -%%Page: 0 8 -0 7 bop Black Black Black Fh 639 103 a({) p Black Fg -86 w(h) l(ttp://www.dfki.de/vse/systems/ink) -8 b(a/ink) g(a5.h) l(tml) -p Black Ff 271 413 a(\017) p Black Fh 86 w(URLs) 57 b(for) f(Activ) -5 -b(eMath) p Black 639 723 a({) p Black Fg 86 w(Homepage:) 66 -b(h) l(ttp://www.math) l(w) l(eb.org/activ) l(emath/index.h) l(tml) p -Black Fh 639 964 a({) p Black Fg 86 w(Demo:) f(h) l(ttp://www.math) l -(w) l(eb.org/activ) l(emath/demo/) p Black Fh 639 1205 -a({) p Black Fg 86 w(Bugtrac) l(king:) i(h) l -(ttp://leibniz.ags.uni-sb.de:8000/) p Black Black 90 rotate -dyy eop -%%Page: 0 9 -0 8 bop Black Black Fh 258 96 a(Idea) 57 b(on) f(OMDo) 5 -b(c) p Black Ff 271 612 a(\017) p Black Fh 86 w(OMDo) g(c) p -Fg 98 w(=) p Fh 48 w(O) p Fg(p) t(en) 50 b(Markup) f(F) -12 -b(ormat) 50 b(for) p Fh 49 w(M) p Fg(athematical) p Fh -50 w(Do) 5 b(c) p Fg(umen) l(ts) p Black Ff 271 922 a(\017) p -Black Fh 86 w(XML) p Fg 49 w(based) p Black Ff 271 1232 -a(\017) p Black Fg 86 w(Extension) 50 b(of) p Fh 49 w(Op) 5 -b(enMath) p Fg 47 w(standard) p Black Ff 271 1542 a(\017) p -Black Fg 86 w(Univ) l(ersal) 51 b(format) d(for) h(mathematical) i(do) t -(cumen) l(ts) p Black Ff 271 1852 a(\017) p Black Fg -86 w(Flexibilit) l(y) j(for) 48 b(seman) l(tical) j(notions) p -Black Ff 271 2162 a(\017) p Black Fg 86 w(Separating) g(presen) l -(tation) g(and) e(con) l(ten) l(t) p Black Black 90 rotate -dyy eop -%%Page: 0 10 -0 9 bop Black Black Fh 258 96 a(T) -5 b(yp) 5 b(es) 57 -b(of) f(OMDo) 5 b(c) 56 b(items) p Black Ff 271 612 a(\017) p -Black Fg 86 w(Theories) 50 b(and) g(inheritance) p Black -Ff 271 922 a(\017) p Black Fg 86 w(Core) f(mathematical) i(ob) 8 -b(jects:) p Black Fh 639 1232 a({) p Black Fg 86 w(De\014nitions) 51 -b(and) f(sym) l(b) t(ols) p Black Fh 639 1473 a({) p -Black Fg 86 w(Assertions,) f(axioms) g(and) h(pro) t(ofs) p -Black Ff 271 1783 a(\017) p Black Fg 86 w(F) -12 b(or) 50 -b(Con) l(ten) l(t:) p Black Fh 639 2093 a({) p Black -Fg 86 w(metadata:) 66 b(Dublin) 50 b(Core) p Black Fh -639 2334 a({) p Black Fg 86 w(FMP:) f(formal) g(con) l(ten) l(t) p -Black Fh 639 2575 a({) p Black Fg 86 w(CMP:) f(natural) i(language) h -(con) l(ten) l(t) p Black Black 90 rotate dyy eop -%%Page: 0 11 -0 10 bop Black Black Black Ff 271 96 a(\017) p Black -Fg 86 w(ADT:) 48 b(abstract) h(data) g(t) l(yp) t(es) p -Black Ff 271 406 a(\017) p Black Fg 86 w(Auxiliary) j(elemen) l(ts:) p -Black Fh 639 716 a({) p Black Fg 86 w(System) d(sp) t(eci\014c) h(priv) --8 b(ate) 50 b(data) p Black Fh 639 957 a({) p Black -Fg 86 w(Applets) p Black Ff 271 1267 a(\017) p Black -Fg 86 w(Presen) l(tation) g(information) p Black Black -90 rotate dyy eop -%%Page: 0 12 -0 11 bop Black Black Fh 258 96 a(Usage) 57 b(of) f(OMDo) 5 -b(c) p Black Ff 271 612 a(\017) p Black Fg 86 w(Examples) 50 -b(of) f(use:) p Black Fh 639 1094 a({) p Black Fg 86 -w(Mathematical) i(b) t(o) t(oks) f(in) p Fh 49 w(OMDo) 5 -b(c) p Black 639 1335 a({) p Black 86 w(Activ) -5 b(eMath) p -Fg 48 w(group:) 66 b(a) 49 b(w) l(eb{based) h(learning) h(system) d -(for) h(mathematical) i(courses) 809 1508 y(\(sligh) l(tly) g(mo) t -(di\014ed) g(v) l(ersion\)) p Black Fh 639 1749 a({) p -Black 86 w(QMath) p Fg 43 w(b) l(y) 45 b(Alb) t(erto) h(Gonz\023) -73 -b(alez) 45 b(P) l(alomo) g(|) g(a) f(fron) l(tend) i(for) p -Fh 44 w(OMDo) 5 b(c) p Fg 44 w(\(needs) 45 b(dev) l(el-) 809 -1921 y(opmen) l(t\)) p Black Fh 639 2162 a({) p Black -Fg 86 w(Comm) l(unication) 51 b(standard) f(b) t(et) l(w) l(een) f -(\012mega) g(and) h(TPS) p Black Fh 639 2403 a({) p Black -Fg 86 w(V) -12 b(arious) 50 b(XSL) f(st) l(yle) g(\014les) h(for) e -(transformation) i(in) l(to) g(other) g(formats) p Black -Black 90 rotate dyy eop -%%Page: 0 13 -0 12 bop Black Black Fd 0 255 a() p -1 0 0 TeXcolorrgb 112 357 a() 204 450 y(The) f(Theory) -h(SEMIGROUP) 204 543 y(The) f(OMEGA) j -(system) 204 636 y(2001-5-28) 112 -729 y() p Fc 2308 297 a(9) 2308 359 y(>) 2308 -379 y(>) 2308 400 y(>) 2308 421 y(>) 2308 441 y(>) 2308 -462 y(=) 2308 586 y(>) 2308 607 y(>) 2308 627 y(>) 2308 -648 y(>) 2308 669 y(>) 2308 689 y(;) p Fb 2399 570 a(Metadaten) p -Black 0 1 0 TeXcolorrgb Fd 91 800 a(Semi-group) 40 -b(theory) p Fa 2058 817 a( ) p Fi -143 w(|) -29 -b(|) g(|) g(|) g(|) g(|) g(|) g(|) p Fb 60 w(Name) p -Black Fd 91 989 a() 183 -1162 y() 91 1334 y() p 0 0 1 TeXcolorrgb 112 1440 -a() 204 1533 -y(SEMIGROUP) 112 -1626 y() p Fc 1759 1370 a(9) 1759 1432 y(>) 1759 -1453 y(=) 1759 1577 y(>) 1759 1597 y(;) p Fb 1850 1558 -a(Sym) -5 b(b) 5 b(ol-Deklaration) p Black 0.55 1 1 0 -TeXcolorcmyk Black 0.55 1 1 0 TeXcolorcmyk 90 rotate -dyy eop -%%Page: 0 14 -0 13 bop 0.55 1 1 0 TeXcolorcmyk Black 0.55 1 1 0 TeXcolorcmyk -Fd 112 65 a() 204 158 y(Definition) e(of) 46 -b(a) f(Semigroup.) 204 251 y() 295 -344 y() 387 437 y() 478 530 y() 478 623 y() 478 716 y() 570 809 y() 570 902 y() 661 995 -y() 752 1088 y() 1073 -1181 y() o() -1301 1274 y(<) o(/OMA) o -(TP>) 752 1367 y() 661 1460 y() 661 -1553 y() 752 1646 y() 1073 -1739 y() o() -1301 1832 y() 1530 1925 y(<) o(/OMA) o -(TP>) 752 2018 y() 661 2111 y() 570 -2204 y() 570 2297 y() 661 2390 y() 661 2483 y() -661 2576 y() 752 2669 y() 752 -2762 y() 981 -2854 y() 752 -2947 y() 981 -3040 y() 661 -3133 y() 478 3226 y() 295 -3319 y() 204 3412 y() 112 3505 y() p -Fc 3634 31 a(9) 3634 93 y(>) 3634 114 y(>) 3634 134 y(>) 3634 -155 y(>) 3634 176 y(>) 3634 196 y(>) 3634 217 y(>) 3634 -238 y(>) 3634 258 y(>) 3634 279 y(>) 3634 300 y(>) 3634 -320 y(>) 3634 341 y(>) 3634 362 y(>) 3634 382 y(>) 3634 -403 y(>) 3634 424 y(>) 3634 444 y(>) 3634 465 y(>) 3634 -486 y(>) 3634 506 y(>) 3634 527 y(>) 3634 548 y(>) 3634 -568 y(>) 3634 589 y(>) 3634 610 y(>) 3634 630 y(>) 3634 -651 y(>) 3634 672 y(>) 3634 692 y(>) 3634 713 y(>) 3634 -733 y(>) 3634 754 y(>) 3634 775 y(>) 3634 795 y(>) 3634 -816 y(>) 3634 837 y(>) 3634 857 y(>) 3634 878 y(>) 3634 -899 y(>) 3634 919 y(>) 3634 940 y(>) 3634 961 y(>) 3634 -981 y(>) 3634 1002 y(>) 3634 1023 y(>) 3634 1043 y(>) 3634 -1064 y(>) 3634 1085 y(>) 3634 1105 y(>) 3634 1126 y(>) 3634 -1147 y(>) 3634 1167 y(>) 3634 1188 y(>) 3634 1209 y(>) 3634 -1229 y(>) 3634 1250 y(>) 3634 1271 y(>) 3634 1291 y(>) 3634 -1312 y(>) 3634 1333 y(>) 3634 1353 y(>) 3634 1374 y(>) 3634 -1395 y(>) 3634 1415 y(>) 3634 1436 y(>) 3634 1457 y(>) 3634 -1477 y(>) 3634 1498 y(>) 3634 1519 y(>) 3634 1539 y(>) 3634 -1560 y(>) 3634 1581 y(>) 3634 1601 y(>) 3634 1622 y(>) 3634 -1643 y(>) 3634 1663 y(>) 3634 1684 y(>) 3634 1705 y(=) 3634 -1829 y(>) 3634 1849 y(>) 3634 1870 y(>) 3634 1891 y(>) 3634 -1911 y(>) 3634 1932 y(>) 3634 1953 y(>) 3634 1973 y(>) 3634 -1994 y(>) 3634 2015 y(>) 3634 2035 y(>) 3634 2056 y(>) 3634 -2077 y(>) 3634 2097 y(>) 3634 2118 y(>) 3634 2139 y(>) 3634 -2159 y(>) 3634 2180 y(>) 3634 2201 y(>) 3634 2221 y(>) 3634 -2242 y(>) 3634 2263 y(>) 3634 2283 y(>) 3634 2304 y(>) 3634 -2325 y(>) 3634 2345 y(>) 3634 2366 y(>) 3634 2387 y(>) 3634 -2407 y(>) 3634 2428 y(>) 3634 2448 y(>) 3634 2469 y(>) 3634 -2490 y(>) 3634 2510 y(>) 3634 2531 y(>) 3634 2552 y(>) 3634 -2572 y(>) 3634 2593 y(>) 3634 2614 y(>) 3634 2634 y(>) 3634 -2655 y(>) 3634 2676 y(>) 3634 2696 y(>) 3634 2717 y(>) 3634 -2738 y(>) 3634 2758 y(>) 3634 2779 y(>) 3634 2800 y(>) 3634 -2820 y(>) 3634 2841 y(>) 3634 2862 y(>) 3634 2882 y(>) 3634 -2903 y(>) 3634 2924 y(>) 3634 2944 y(>) 3634 2965 y(>) 3634 -2986 y(>) 3634 3006 y(>) 3634 3027 y(>) 3634 3048 y(>) 3634 -3068 y(>) 3634 3089 y(>) 3634 3110 y(>) 3634 3130 y(>) 3634 -3151 y(>) 3634 3172 y(>) 3634 3192 y(>) 3634 3213 y(>) 3634 -3234 y(>) 3634 3254 y(>) 3634 3275 y(>) 3634 3296 y(>) 3634 -3316 y(>) 3634 3337 y(>) 3634 3358 y(>) 3634 3378 y(>) 3634 -3399 y(>) 3634 3420 y(>) 3634 3440 y(;) p Fb 3725 1812 -a(De\014nition) p Black Fd 0 3610 a() p Black -Black 90 rotate dyy eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/helm/mowgli/home/misc/kick-off/KM2002GO_mathweb.ps b/helm/mowgli/home/misc/kick-off/KM2002GO_mathweb.ps deleted file mode 100644 index 5c84872e4..000000000 --- a/helm/mowgli/home/misc/kick-off/KM2002GO_mathweb.ps +++ /dev/null @@ -1,506 +0,0 @@ -%!PS-Adobe-2.0 -%%Title: KM2002GO_mathweb.ps -%%Creator: fig2dev Version 3.2 Patchlevel 3c -%%CreationDate: Wed Apr 3 03:01:28 2002 -%%For: moschm@king (Markus Moschner) -%%Orientation: Landscape -%%Pages: 1 -%%BoundingBox: 0 0 595 842 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%Magnification: 0.9200 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def -/col32 {0.000 0.000 1.000 srgb} bind def -/col33 {0.000 0.000 0.000 srgb} bind def -/col34 {0.000 0.000 0.000 srgb} bind def -/col35 {1.000 0.984 0.475 srgb} bind def -/col36 {0.937 1.000 0.000 srgb} bind def -/col37 {0.188 0.396 1.000 srgb} bind def -/col38 {1.000 0.286 0.286 srgb} bind def -/col39 {0.000 0.000 1.000 srgb} bind def -/col40 {1.000 0.984 0.475 srgb} bind def -/col41 {0.937 1.000 0.000 srgb} bind def -/col42 {0.188 0.396 1.000 srgb} bind def -/col43 {1.000 0.286 0.286 srgb} bind def -/col44 {0.000 0.000 1.000 srgb} bind def -/col45 {1.000 0.984 0.475 srgb} bind def -/col46 {0.937 1.000 0.000 srgb} bind def -/col47 {0.188 0.396 1.000 srgb} bind def -/col48 {1.000 0.286 0.286 srgb} bind def -/col49 {0.000 0.000 1.000 srgb} bind def -/col50 {1.000 0.984 0.475 srgb} bind def -/col51 {0.937 1.000 0.000 srgb} bind def -/col52 {0.188 0.396 1.000 srgb} bind def -/col53 {1.000 0.286 0.286 srgb} bind def -/col54 {0.000 0.000 1.000 srgb} bind def -/col55 {1.000 0.984 0.475 srgb} bind def -/col56 {0.937 1.000 0.000 srgb} bind def -/col57 {0.188 0.396 1.000 srgb} bind def -/col58 {1.000 0.286 0.286 srgb} bind def -/col59 {0.000 0.000 1.000 srgb} bind def -/col60 {1.000 0.984 0.475 srgb} bind def -/col61 {0.937 1.000 0.000 srgb} bind def -/col62 {0.188 0.396 1.000 srgb} bind def -/col63 {1.000 0.286 0.286 srgb} bind def -/col64 {0.000 0.000 1.000 srgb} bind def -/col65 {1.000 0.984 0.475 srgb} bind def -/col66 {0.937 1.000 0.000 srgb} bind def -/col67 {0.188 0.396 1.000 srgb} bind def -/col68 {1.000 0.286 0.286 srgb} bind def -/col69 {0.000 0.000 1.000 srgb} bind def -/col70 {1.000 0.984 0.475 srgb} bind def -/col71 {0.937 1.000 0.000 srgb} bind def -/col72 {0.188 0.396 1.000 srgb} bind def -/col73 {1.000 0.286 0.286 srgb} bind def -/col74 {0.000 0.000 1.000 srgb} bind def -/col75 {1.000 0.984 0.475 srgb} bind def -/col76 {0.937 1.000 0.000 srgb} bind def -/col77 {0.188 0.396 1.000 srgb} bind def -/col78 {1.000 0.286 0.286 srgb} bind def -/col79 {0.000 0.000 1.000 srgb} bind def -/col80 {1.000 0.984 0.475 srgb} bind def -/col81 {0.937 1.000 0.000 srgb} bind def -/col82 {0.188 0.396 1.000 srgb} bind def -/col83 {1.000 0.286 0.286 srgb} bind def -/col84 {0.000 0.000 1.000 srgb} bind def -/col85 {1.000 0.984 0.475 srgb} bind def -/col86 {0.937 1.000 0.000 srgb} bind def -/col87 {0.188 0.396 1.000 srgb} bind def -/col88 {1.000 0.286 0.286 srgb} bind def -/col89 {0.000 0.000 1.000 srgb} bind def -/col90 {1.000 0.984 0.475 srgb} bind def -/col91 {0.937 1.000 0.000 srgb} bind def -/col92 {0.188 0.396 1.000 srgb} bind def -/col93 {1.000 0.286 0.286 srgb} bind def - -end -save -newpath 0 842 moveto 0 0 lineto 595 0 lineto 595 842 lineto closepath clip newpath -18.5 51.0 translate - 90 rotate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/reencdict 12 dict def /ReEncode { reencdict begin -/newcodesandnames exch def /newfontname exch def /basefontname exch def -/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def -basefontdict { exch dup /FID ne { dup /Encoding eq -{ exch dup length array copy newfont 3 1 roll put } -{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall -newfont /FontName newfontname put newcodesandnames aload pop -128 1 255 { newfont /Encoding get exch /.notdef put } for -newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat -newfontname newfont definefont pop end } def -/isovec [ -8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde -8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis -8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron -8#220 /dotlessi 8#230 /oe 8#231 /OE -8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling -8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis -8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot -8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus -8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph -8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine -8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf -8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute -8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring -8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute -8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute -8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve -8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply -8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex -8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave -8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring -8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute -8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute -8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve -8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide -8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex -8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def -/Helvetica-Bold /Helvetica-Bold-iso isovec ReEncode -/Helvetica-Narrow-Bold /Helvetica-Narrow-Bold-iso isovec ReEncode -/Helvetica-Narrow /Helvetica-Narrow-iso isovec ReEncode -/Times-Bold /Times-Bold-iso isovec ReEncode -/Times-Roman /Times-Roman-iso isovec ReEncode - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def - -$F2psBegin -%%Page: 1 1 -10 setmiterlimit - 0.05795 0.05795 sc -%%Page: 1 1 -% -% Fig objects follow -% -% Polyline -15.000 slw -gs clippath -8373 6383 m 8432 6401 l 8480 6237 l 8416 6347 l 8421 6220 l cp -eoclip -n 8407 6378 m - 8870 4811 l gs col0 s gr gr - -% arrowhead -n 8421 6220 m 8416 6347 l 8480 6237 l 8421 6220 l cp gs 0.00 setgray ef gr col0 s -% Polyline -gs clippath -4886 4227 m 4886 4288 l 5056 4288 l 4933 4258 l 5056 4227 l cp -8329 4288 m 8329 4227 l 8159 4227 l 8282 4258 l 8159 4288 l cp -eoclip -n 8314 4258 m - 4901 4258 l gs col0 s gr gr - -% arrowhead -n 8159 4288 m 8282 4258 l 8159 4227 l 8159 4288 l cp gs 0.00 setgray ef gr col0 s -% arrowhead -n 5056 4227 m 4933 4258 l 5056 4288 l 5056 4227 l cp gs 0.00 setgray ef gr col0 s -% Polyline -30.000 slw - [45] 0 sd -n 6927 7861 m - 7670 7300 l gs col0 s gr [] 0 sd -% Polyline -15.000 slw -gs clippath -6770 2849 m 6712 2870 l 6770 3030 l 6758 2904 l 6828 3009 l cp -8015 6495 m 8073 6474 l 8015 6314 l 8028 6441 l 7957 6335 l cp -eoclip -n 8039 6471 m - 6747 2874 l gs col0 s gr gr - -% arrowhead -n 7957 6335 m 8028 6441 l 8015 6314 l 7957 6335 l cp gs 0.00 setgray ef gr col0 s -% arrowhead -n 6828 3009 m 6758 2904 l 6770 3030 l 6828 3009 l cp gs 0.00 setgray ef gr col0 s -% Polyline -gs clippath -6130 2612 m 6093 2563 l 5957 2667 l 6074 2617 l 5995 2716 l cp -4503 3781 m 4540 3830 l 4676 3726 l 4560 3777 l 4638 3677 l cp -eoclip -n 4534 3797 m - 6100 2597 l gs col0 s gr gr - -% arrowhead -n 4638 3677 m 4560 3777 l 4676 3726 l 4638 3677 l cp gs 0.00 setgray ef gr col0 s -% arrowhead -n 5995 2716 m 6074 2617 l 5957 2667 l 5995 2716 l cp gs 0.00 setgray ef gr col0 s -% Polyline -gs clippath -8582 3829 m 8623 3784 l 8498 3668 l 8568 3775 l 8456 3713 l cp -7309 2564 m 7268 2609 l 7393 2725 l 7324 2619 l 7435 2680 l cp -eoclip -n 7300 2597 m - 8592 3797 l gs col0 s gr gr - -% arrowhead -n 7435 2680 m 7324 2619 l 7393 2725 l 7435 2680 l cp gs 0.00 setgray ef gr col0 s -% arrowhead -n 8456 3713 m 8568 3775 l 8498 3668 l 8456 3713 l cp gs 0.00 setgray ef gr col0 s -% Polyline -gs clippath -7664 6689 m 7699 6639 l 7559 6542 l 7643 6638 l 7524 6593 l cp -4721 4592 m 4686 4642 l 4826 4739 l 4743 4644 l 4861 4688 l cp -eoclip -n 4716 4626 m - 7670 6656 l gs col0 s gr gr - -% arrowhead -n 4861 4688 m 4743 4644 l 4826 4739 l 4861 4688 l cp gs 0.00 setgray ef gr col0 s -% arrowhead -n 7524 6593 m 7643 6638 l 7559 6542 l 7524 6593 l cp gs 0.00 setgray ef gr col0 s -% Polyline - [60] 0 sd -gs clippath -2671 2365 m 2672 2458 l 2887 2457 l 2703 2412 l 2887 2364 l cp -eoclip -n 2687 2412 m - 5916 2400 l gs col0 s gr gr - [] 0 sd -% arrowhead -7.500 slw -n 2887 2364 m 2703 2412 l 2887 2457 l 2887 2364 l cp gs 0.00 setgray ef gr col0 s -% Polyline -15.000 slw - [60] 0 sd -gs clippath -6024 2089 m 6024 1996 l 5808 1996 l 5993 2043 l 5808 2089 l cp -eoclip -n 2687 2043 m - 6009 2043 l gs col0 s gr gr - [] 0 sd -% arrowhead -7.500 slw -n 5808 2089 m 5993 2043 l 5808 1996 l 5808 2089 l cp gs 0.00 setgray ef gr col0 s -% Polyline -30.000 slw - [45] 0 sd -n 2880 5165 m - 3623 4604 l gs col0 s gr [] 0 sd -% Polyline - [45] 0 sd -n 9054 6930 m - 10253 6930 l gs col0 s gr [] 0 sd -% Polyline - [90] 0 sd -n 10170 3780 m - 9630 3960 l gs col0 s gr [] 0 sd -% Polyline - [90] 0 sd -gs clippath -4455 7304 m 4284 7247 l 4179 7562 l 4350 7335 l 4349 7619 l cp -eoclip -n 4320 4815 m 4320 7425 l - 4365 7290 l gs col0 s gr gr - [] 0 sd -% arrowhead -n 4349 7619 m 4350 7335 l 4179 7562 l 4236 7676 l 4349 7619 l - cp gs 0.00 setgray ef gr col0 s -% Polyline -45.000 slw -gs clippath -11356 3729 m 11237 3711 l 11200 3956 l 11285 3803 l 11319 3975 l cp -eoclip -n 11295 3735 m - 11205 4320 l gs col0 s gr gr - -% arrowhead -n 11319 3975 m 11285 3803 l 11200 3956 l 11319 3975 l cp gs 0.00 setgray ef gr col0 s -% Polyline -75.000 slw -n 10584 4410 m 10389 4410 10389 5635 195 arcto 4 {pop} repeat - 10389 5830 12045 5830 195 arcto 4 {pop} repeat - 12240 5830 12240 4605 195 arcto 4 {pop} repeat - 12240 4410 10584 4410 195 arcto 4 {pop} repeat - cp gs col18 s gr -% Polyline -45.000 slw -gs clippath -1411 2964 m 1292 2946 l 1255 3191 l 1340 3038 l 1374 3210 l cp -eoclip -n 1350 2970 m - 1260 3555 l gs col0 s gr gr - -% arrowhead -n 1374 3210 m 1340 3038 l 1255 3191 l 1374 3210 l cp gs 0.00 setgray ef gr col0 s -% Polyline -75.000 slw -n 684 3627 m 519 3627 519 4634 165 arcto 4 {pop} repeat - 519 4799 1881 4799 165 arcto 4 {pop} repeat - 2046 4799 2046 3792 165 arcto 4 {pop} repeat - 2046 3627 684 3627 165 arcto 4 {pop} repeat - cp gs col18 s gr -/Times-Bold-iso ff 480.00 scf sf -4005 720 m -gs 1 -1 sc (MBase within MathWeb) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -9810 9135 m -gs 1 -1 sc (MS = Metaservice) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -10603 5271 m -gs 1 -1 sc (Knowledge) col20 sh gr -/Times-Roman-iso ff 270.00 scf sf -10603 4832 m -gs 1 -1 sc (Distribution) col20 sh gr -/Times-Roman-iso ff 270.00 scf sf -10620 5580 m -gs 1 -1 sc (Management) col20 sh gr -/Times-Roman-iso ff 270.00 scf sf -658 4067 m -gs 1 -1 sc (Metadata) col20 sh gr -/Times-Roman-iso ff 270.00 scf sf -658 4506 m -gs 1 -1 sc (Education) col20 sh gr -% Polyline -15.000 slw -n 11581 6390 m 9810 6390 l 9810 7740 l 11581 7740 l - cp gs col31 0.70 tnt ef gr gs col0 s gr -% Polyline -n 7920 7875 m 6149 7875 l 6149 9225 l 7920 9225 l - cp gs col31 0.70 tnt ef gr gs col0 s gr -% Polyline -n 3735 5175 m 1964 5175 l 1964 6525 l 3735 6525 l - cp gs col12 0.70 tnt ef gr gs col0 s gr -% Polyline -n 3825 7425 m 3555 7425 3555 8726 270 arcto 4 {pop} repeat - 3555 8996 4856 8996 270 arcto 4 {pop} repeat - 5126 8996 5126 7695 270 arcto 4 {pop} repeat - 5126 7425 3825 7425 270 arcto 4 {pop} repeat - cp gs col11 0.70 tnt ef gr gs col0 s gr -% Polyline -n 1386 1395 m 1116 1395 1116 2696 270 arcto 4 {pop} repeat - 1116 2966 2417 2966 270 arcto 4 {pop} repeat - 2687 2966 2687 1665 270 arcto 4 {pop} repeat - 2687 1395 1386 1395 270 arcto 4 {pop} repeat - cp gs col46 0.70 tnt ef gr gs col0 s gr -% Polyline -n 11970 2430 m 10199 2430 l 10199 3780 l 11970 3780 l - cp gs col46 0.70 tnt ef gr gs col0 s gr -% Ellipse -n 6615 2250 738 554 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr - -% Ellipse -n 4215 4272 738 554 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr - -% Ellipse -n 9044 4272 738 554 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr - -% Ellipse -n 8314 6931 738 554 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col0 s gr - -/Helvetica-Bold-iso ff 270.00 scf sf -5271 4166 m -gs 1 -1 sc (forward request) col0 sh gr -/Helvetica-Bold-iso ff 270.00 scf sf -4163 4349 m -gs 1 -1 sc (Broker) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Bold-iso ff 270.00 scf sf -9054 4349 m -gs 1 -1 sc (Broker) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Bold-iso ff 270.00 scf sf -3517 2690 m -gs 1 -1 sc (accept/deny) col0 sh gr -/Helvetica-Bold-iso ff 270.00 scf sf -3794 1859 m -gs 1 -1 sc (request) col0 sh gr -/Helvetica-Bold-iso ff 270.00 scf sf -8314 7024 m -gs 1 -1 sc (Broker) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Bold-iso ff 270.00 scf sf -5271 4811 m -gs 1 -1 sc 325.0 rot (\(un-\)register) col0 sh gr -/Helvetica-Bold-iso ff 255.00 scf sf -6615 2025 m -gs 1 -1 sc (Broker) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-Bold-iso ff 255.00 scf sf -6615 2340 m -gs 1 -1 sc (Mosh) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-Bold-iso ff 255.00 scf sf -6615 2655 m -gs 1 -1 sc (\(Oz\)) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -6975 8415 m -gs 1 -1 sc (TPS) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -11070 3150 m -gs 1 -1 sc (MBase) dup sw pop 2 div neg 0 rm col0 sh gr -/Symbol ff 330.00 scf sf -2362 5673 m -gs 1 -1 sc (W) col-1 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -2598 5673 m -gs 1 -1 sc (mega) col-1 sh gr -/Symbol ff 330.00 scf sf -10199 6929 m -gs 1 -1 sc (W) col-1 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -10476 6929 m -gs 1 -1 sc (mega) col-1 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -10530 7425 m -gs 1 -1 sc (MS) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -2745 6165 m -gs 1 -1 sc (Client) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -4095 8190 m -gs 1 -1 sc (CAS) col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -7020 8820 m -gs 1 -1 sc (MS) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -1890 1755 m -gs 1 -1 sc (Active) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -1890 2115 m -gs 1 -1 sc (math) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -1890 2430 m -gs 1 -1 sc (Client) dup sw pop 2 div neg 0 rm col0 sh gr -/Helvetica-Narrow-iso ff 270.00 scf sf -1890 2790 m -gs 1 -1 sc (\(XMLRPC\)) dup sw pop 2 div neg 0 rm col0 sh gr -$F2psEnd -rs -showpage diff --git a/helm/mowgli/home/misc/kick-off/MoWGLI-LogiCal.ps b/helm/mowgli/home/misc/kick-off/MoWGLI-LogiCal.ps deleted file mode 100644 index d6244b7d4..000000000 --- a/helm/mowgli/home/misc/kick-off/MoWGLI-LogiCal.ps +++ /dev/null @@ -1,1919 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software -%%Title: expose-berlin.dvi -%%Pages: 13 -%%PageOrder: Ascend -%%Orientation: Landscape -%%BoundingBox: 0 0 596 842 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips expose-berlin.dvi -o -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2002.03.21:1951 -%%BeginProcSet: texc.pro -%! -/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S -N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 -mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 -0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ -landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize -mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ -matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round -exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ -statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] -N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin -/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array -/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 -array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N -df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A -definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get -}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} -B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: pstricks.pro -%! -% PostScript prologue for pstricks.tex. -% Version 97 patch 3, 98/06/01 -% For distribution, see pstricks.tex. -% -/tx@Dict 200 dict def tx@Dict begin -/ADict 25 dict def -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Atan { /atan load stopped { pop pop 0 } if } def -/Div { dup 0 eq { pop } { div } ifelse } def -/NET { neg exch neg exch T } def -/Pyth { dup mul exch dup mul add sqrt } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } -def -/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def -} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } -/pathforall load stopped { pop pop pop pop } if z } def -/STP { .996264 dup scale } def -/STV { SDict begin normalscale end STP } def -/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def -PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y -mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul -/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -0 } ifelse setdash stroke } def -/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt -{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add -def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if -] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 -setlinecap stroke } def -/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch -2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -% DG/SR modification end -Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -% def -a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -pop pop } def -% DG/SR modification end -/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg -exch 3 index sub exch Atan rotate newpath } def -/EndArrow { @mtrx setmatrix CP grestore end } def -/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 -scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill -grestore } def -/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 -CLW moveto } def -/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 -div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 -CLW moveto } def -/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW -2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 -curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } -def -/SD { 0 360 arc fill } def -/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS -CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def -/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { -/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto -load } if ] cvx newpath 3 1 roll T exec } def -/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch -cvi def } def -/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if -f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub -def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def -/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } -ifelse { pop } repeat a } def -/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq -and { pop pop /n n 1 sub def } if } def -/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } -repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 -ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 -moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto -Lineto pop pop closepath } ifelse } def -/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul -neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add -def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 -div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { -%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 -%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -%setmatrix } def -/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup -CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 -d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% setmatrix } def -setmatrix pop } def -% DG/SR modification end -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 -def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp -mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos -abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def -/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul -m mul neg def } def -/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } -ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } -def -/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def -/NC { CC x1 y1 x2 y2 x y curveto } def -/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def -/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def -/NAC { x2 y2 x y curveto CC x1 y1 } def -/EAC { x2 y2 x y ArrowB curveto pop pop } def -/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def -n { NC } repeat EOC } ifelse } def -/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload -/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop -pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def -/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { -CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } -repeat closepath pop pop } ifelse } def -/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def -/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def -/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } -def -/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix -rotate matrix concatmatrix exch findfont exch makefont setfont } def -/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto -x1 y1 lineto closepath } def -/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 -y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div -exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse -/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto -x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } -ifelse } def -/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add -/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { -pop pop Rect } { OvalFrame } ifelse } def -/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop -} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] -aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 -2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } -ifelse } def -/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { -6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def -/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 -sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } -def -/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 -sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA -x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 -y0 x0 2 mul x1 sub y1 ] def } def -/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } -if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if -/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div -round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div -round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub -0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def -/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } -if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } -{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add -exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n -div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 -dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { -dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { -pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup -stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} -{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i -w add def } repeat grestore gsave n 0 gt -% DG/SR modification begin - Nov. 7, 1997 - Patch 1 -%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } -{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } -% DG/SR modification end -{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul -n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n -div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop -1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs -dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt -{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g -exch t L stroke /i i h add def } repeat grestore } def -/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 -1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add -exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c -mul neg d } def -/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def -/Rot { CP CP translate 3 -1 roll neg rotate NET } def -/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } -def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle -dup a add ] cvx def } def -/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] -cvx def } def -/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def -/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def -/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def -/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s -abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b -div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { -h1 abs h sub dup s mul abs } ifelse } def -/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s -mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q -{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add -exch } def -/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible -/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def -} if } ifelse } def -/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def -/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit -neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def -/IfVisible true def } def -end -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro -%!PS-Adobe-2.0 -%%Title: Dot Font for PSTricks 97 - Version 97, 93/05/07. -%%Creator: Timothy Van Zandt -%%Creation Date: May 7, 1993 -10 dict dup begin - /FontType 3 def - /FontMatrix [ .001 0 0 .001 0 0 ] def - /FontBBox [ 0 0 0 0 ] def - /Encoding 256 array def - 0 1 255 { Encoding exch /.notdef put } for - Encoding - dup (b) 0 get /Bullet put - dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put - dup (u) 0 get /SolidTriangle put - dup (t) 0 get /Triangle put - dup (T) 0 get /BoldTriangle put - dup (r) 0 get /SolidSquare put - dup (s) 0 get /Square put - dup (S) 0 get /BoldSquare put - dup (q) 0 get /SolidPentagon put - dup (p) 0 get /Pentagon put - (P) 0 get /BoldPentagon put - /Metrics 13 dict def - Metrics begin - /Bullet 1000 def - /Circle 1000 def - /BoldCircle 1000 def - /SolidTriangle 1344 def - /Triangle 1344 def - /BoldTriangle 1344 def - /SolidSquare 886 def - /Square 886 def - /BoldSquare 886 def - /SolidPentagon 1093.2 def - /Pentagon 1093.2 def - /BoldPentagon 1093.2 def - /.notdef 0 def - end - /BBoxes 13 dict def - BBoxes begin - /Circle { -550 -550 550 550 } def - /BoldCircle /Circle load def - /Bullet /Circle load def - /Triangle { -571.5 -330 571.5 660 } def - /BoldTriangle /Triangle load def - /SolidTriangle /Triangle load def - /Square { -450 -450 450 450 } def - /BoldSquare /Square load def - /SolidSquare /Square load def - /Pentagon { -546.6 -465 546.6 574.7 } def - /BoldPentagon /Pentagon load def - /SolidPentagon /Pentagon load def - /.notdef { 0 0 0 0 } def - end - /CharProcs 20 dict def - CharProcs begin - /Adjust { - 2 copy dtransform floor .5 add exch floor .5 add exch idtransform - 3 -1 roll div 3 1 roll exch div exch scale - } def - /CirclePath { 0 0 500 0 360 arc closepath } def - /Bullet { 500 500 Adjust CirclePath fill } def - /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def - /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def - /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def - /TrianglePath { - 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath - } def - /SolidTriangle { TrianglePath fill } def - /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def - /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def - /SquarePath { - -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto - closepath - } def - /SolidSquare { SquarePath fill } def - /Square { SquarePath .89 .89 scale SquarePath eofill } def - /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def - /PentagonPath { - -337.8 -465 moveto - 337.8 -465 lineto - 546.6 177.6 lineto - 0 574.7 lineto - -546.6 177.6 lineto - closepath - } def - /SolidPentagon { PentagonPath fill } def - /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def - /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def - /.notdef { } def - end - /BuildGlyph { - exch - begin - Metrics 1 index get exec 0 - BBoxes 3 index get exec - setcachedevice - CharProcs begin load exec end - end - } def - /BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec - } bind def -end -/PSTricksDotFont exch definefont pop -% END pst-dots.pro - -%%EndProcSet -%%BeginProcSet: special.pro -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ -psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 -roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath -moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict -begin/SpecialSave save N gsave normalscale currentpoint TR -@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ -CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto -closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx -sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR -}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse -CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury -lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N -/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} -repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N -/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX -currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY -moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X -/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 -1 startangle endangle arc savematrix setmatrix}N end - -%%EndProcSet -TeXDict begin 55380996 39158280 2074 600 600 (expose-berlin.dvi) -@start -%DVIPSBitmapFont: Fa cmsy10 22.7103 5 -/Fa 5 95 df<003FC112F04820F8C212FCA46C20F86C20F0D5FCB3AC003FC112F04820F8 -C212FCA46C20F86C20F0D5FCB3AC003FC112F04820F8C212FCA46C20F86C20F07E5476D8 -93>17 D<1F0FF73F80F7FFC01E031E0F1E3F9BB512800B0714000B1F13FC0B7F13F052B5 -12C00A0791C7FC0A1F13FC0A7F13F051B51280090749C8FC091F13F8097F13E050B51280 -080749C9FC083F13F897B512E007031480070F49CAFC073F13F896B512E006031480060F -01FCCBFC063F13F095B512C0050391CCFC050F13FC057F13F04CB512C0040791CDFC041F -13FC047F13F04BB512C0030791CEFC031F13F8037F13E04AB51280020749CFFC021F13F8 -027F13E00103B51280010F49D0FC013F13F890B512E000031480000F49D1FC003F13F848 -13C0B5D2FC13FCA213FF6C13C06C13F8000F13FE00036D7EC614E0013F13F8010F13FE01 -036D7ED9007F13E0021F13F8020713FE02016D7E6E6C13E0031F13F8030713FF030114C0 -6F6C13F0041F13FC040713FF040114C0706C13F0050F13FC050313FF050014C0063F13F0 -060F13FC0603EBFF80060014E0073F13F8070F13FE07036D7E070014E0083F13F8080713 -FE08016D7E746C13E0091F13F8090713FE09016D7E756C13F00A1F13FC0A0713FF0A0114 -C0766C13F00B1F13FC0B0713FF0B0014800C3F13C01E0F1E031E00F73F80F70F009CC7FC -B3AC003FC0FC481F80C112C0A46C1F806C1F00729470F793>20 D<217F698EA2217FA28E -A3213F8EA2211F8EA27B7EA27B7EA27B7EA28E8D7B7F8F227F8F7C7E7C7E8F220F7C7E7C -7EA17E7C7F7C7F7D7EFB3FFC7D7E7D7E7D13C07D7F7D13F8A038007FFEA1383FFF80003F -C5B412E048A113F8C5B512FEA114FFA2A114FE6CA113F86CA113E0D7003F1380A1387FFE -00A03801FFF85913E0595B5990C7FC595A595AFB7FF0595A585B585BA1C8FC585A585A22 -1F6B585A585A6B22FF6B5790C9FC696AA2575AA2575AA2575AA26A213FA26A217FA36AA2 -21FFA29FCAFC8DA86276DFBD>33 D[<003C1D3C007E1D7EB41DFFA36D63007F1DFE6D1B -03A2003F1DFC6D1B07001F1DF8A26D1B0F000F1DF06D1B1FA200071DE06D1B3F00031DC0 -A26D1B7F00011D806D1BFFA26C1D006E61017F636E1903A2013F636E1907011F63A26E19 -0F010F636E191FA20107636E193F010363A26E197F0101636E19FFA26D90BBC7FCA26E61 -A36E61A3DA1FE0CAEA07F86F170F020F61A26F171F0207616F173FA20203616F177F0201 -61A26F17FF6E96C8FC705DA2037F5F701503033F5F701507A2031F5F70150F030F5FA270 -151F03075F70153FA203035F70157F03015FA27015FF6F94C9FC715BA2047F5D71130304 -3F5DA2711307041F5D71130FA2040F5D71131F04075DA271133F04035D71137FA204015D -7113FF7092CAFC1881A2057F5B18C3053F5BA218E7051F5B18FFA2715BA2715BA3715BA3 -715BA27190CBFCA3187E183C>104 135 128 258 105 56 D<183E187FA24E7EA24D7FA3 -4D7FA24D7FA24D7FA294381FF7FCA218E3053F7F18C1057F7FA2DDFF807FA24C496C7EA2 -4D133F0403814D131F040781A24C486D7EA24C486D7EA24D1303043F814D1301047F81A2 -4C486D7FA24B90C86C7EA24C153F0303834C151F030783A24B486F7EA24B486F7EA24C15 -03033F834C1501037F83A24B486F7FA24A90CA6C7EA24B173F0203854B171F020785A24A -48717EA24A48717EA24B1703023F854B1701027F85A24A48717FA24990CC6C7EA24A193F -0103874A191F010787A24948737EA24948737EA24A1903013F874A1901017F87A2494873 -7FA24890CE6C7EA2491B3F000389491B1F000789A24848757EA24848757EA2491B03003F -89491B01007F89A24848751380A290D0127FA2007EF53F00003C1D1E697576F07E>94 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb cmmi10 22.7103 8 -/Fb 8 121 df58 D<1F0FF73F80F7FFC01E031E0F1E3F9BB512800B -0714000B1F13FC0B7F13F052B512C00A0791C7FC0A1F13FC0A7F13F051B51280090749C8 -FC091F13F8097F13E050B51280080749C9FC083F13F897B512E007031480070F49CAFC07 -3F13F896B512E006031480060F01FCCBFC063F13F095B512C0050391CCFC050F13FC057F -13F04CB512C0040791CDFC041F13FC047F13F04BB512C0030791CEFC031F13F8037F13E0 -4AB51280020749CFFC021F13F8027F13E00103B51280010F49D0FC013F13F890B512E000 -031480000F49D1FC003F13F84813C0B5D2FC13FCA213FF6C13C06C13F8000F13FE00036D -7EC614E0013F13F8010F13FE01036D7ED9007F13E0021F13F8020713FE02016D7E6E6C13 -E0031F13F8030713FF030114C06F6C13F0041F13FC040713FF040114C0706C13F0050F13 -FC050313FF050014C0063F13F0060F13FC0603EBFF80060014E0073F13F8070F13FE0703 -6D7E070014E0083F13F8080713FE08016D7E746C13E0091F13F8090713FE09016D7E756C -13F00A1F13FC0A0713FF0A0114C0766C13F00B1F13FC0B0713FF0B0014800C3F13C01E0F -1E031E00F73F80F70F00726E70E593>60 D[129 135 122 262 141 65 D[<93BC12E04B1BFF20F020FC20FF6F1D -C0DC000702E0C800018005000280DB003F13F80D0F7F7290CA6C7F95B505017F22804F71 -14C08C4D7413E0A24F7213F0A24D1CF88C6122FC5FA261A25FA261A25F5613F861A25F56 -13F0615613E05F9DB512C096CCFC55148094B51B00555B4E60555B4C64555B4E4E5B555B -4C97B5C7FC0C035B4E4D5B5413F04C073F5B9BB512804E040349C8FC0B0F13F84C067F13 -E00A07B5C9FC95B912F81E804C19FCF6FFC006C0C9000F13F00B0113FC4C726CB4FC787F -4E7113E0787F4C737F787F95CB6C7F8C93B5848D4D737FA24B898B5F8D5DA25FA25DA25F -A25DA25F675D695F9CB5FC4B65664D63664B9AC7FC6694CC5C6692B54F5B684C4F5B664A -98B55A535C4C4E5C5391C8FC4A505B535B4C067F13F09AB55A4A07035C0A0F91C9FC4A49 -053F5B4A4EB512F849B56C041F14E0003FBE12804852CAFCBE12F01D800AFCCBFC6C98CC -FC>134 129 120 256 143 I[<98260FFFE016380803B6167C083F03E015FC4FB700F814 -01070F04FEEC03F8077F7014074EB6D8001F01C0130F060702C001006D131F061F49C8D8 -3FF8EB3FF0067F01F0DB0FFC137F4DB50080DB03FE13FF050749C96C7E4D01F870018113 -E0053F01E0EF3F834D018018C74CB5CBEA1FEF4C01FC72B512C0040F49844C49844C13C0 -4C497214804BB5CCFC4B49854B5B4B497413004B5B4B5B4B498692B548634A91CEFC4A49 -1B1F5C4A49645E4A5B4A1D0F4A496491B55AA2495C4991CF5BA2495B5B4B655B5D5B4B65 -491E1F90B55AA269484A1C0F9DC8FC485CA25A92D3FCA25A5CA25A5CA25AA25CA25AA25C -A4B5FC5CA65CA21F0F557EA29DC8FC67A31F7EA26C1E7C1FFCA2545AA2545A7E6E515A1E -0F6C661E1F6E515A6C9BC9FC666C6D1BFE535A666C6D1A036C525A6E505A6C525A6E505A -6D6D4FCAFC6D1BFE6D6DF003FC6F4E5A6D6D4E5A6D6D4E5A6D6DF07FC06D6D4D48CBFC6D -6D4D5A023F01C0EE0FF86E6DEE3FF06E01F8923801FFC0020301FF030F5B6E02E0DA7FFE -CCFC6E6C01FF90380FFFF8031F91B612E003071780030104FCCDFCDB003F15F0040392CE -FCDC001F13E0>134 137 119 260 135 I110 D112 D120 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmtt8 12.444 45 -/Fc 45 122 df40 -D<123C127EB47E7F6C7E6C7E6C7E6C7EEA03FE6C7E6C7F6D7E6D7E6D7E130F806D7E1303 -801301807F1580147FA215C0143FA215E0141FA415F0140FAC141F15E0A4143F15C0A214 -7F1580A214FF15005B5C13035C1307495A5C131F495A495A495A4890C7FC485AEA0FFC48 -5A485A485A485A5B007EC8FC123C1C5077C737>I43 -DI<003FB7FC481680B812C0A46C16 -806C16002A087AA337>II48 -D58 -D<003FB712F04816F8B812FCA46C16F86C16F0CBFCA8003FB712F04816F8B812FCA46C16 -F86C16F02E187CAB37>61 D<003FB67E4815F0B712FC82EEFF806C16C07E2701FE000113 -E09238003FF0161FEE0FF8160717FC1603A6160717F8160F17F0161FEE7FE0EEFFC00307 -138090B712005E16F88216FF178017C049C7EA7FF0161FEE0FF8EE07FC1603EE01FEA3EE -00FFA65EA217FE16031607EE0FFCEE3FF816FF003FB712F04816E0B812C01780EEFE006C -5D6C15E0303F7EBE37>66 DI< -007FB512FCB77E8216F082826C813A03FC001FFF03071380030113C081EE7FE0163FEE1F -F0A2EE0FF8160717FCA2160317FE1601A417FF82AC5E17FEA3160317FCA2160717F8160F -A2EE1FF0163FEE7FE016FF4B13C04B1380031F1300007FB65AB7FC16F85E5E16806C02FC -C7FC303F7EBE37>I<007FB712F8A2B87EA37EA2D801FEC71203A8705AA293C8FCA4ED0F -C0A24B7EA490B6FCA79038FE001FA46F5AA292C9FCA5173FA2EF7F80A9007FB8FCA2B9FC -A36C1700A2313F7DBE37>I<007FB712FCB8FC17FEA47ED801FEC71201A8EE00FCA21700 -A5ED07E0A24B7EA490B6FCA79038FE000FA46F5AA292C8FCAF387FFFFEB6FCA56C5B2F3F -7DBE37>I<263FFFF090B512C0486D4814E0B56C4814F0A36C496C14E06C496C14C0D801 -FEC73807F800B3A290B7FCA749C71207B3A4263FFFF090B512C0486D4814E0B56C4814F0 -A36C496C14E06C496C14C0343F7FBE37>72 D<007FB612F8A2B712FCA36C15F8A2260001 -FEC7FCB3B3AD007FB612F8A2B712FCA36C15F8A2263F78BE37>I78 D<90380FFFFC90B612C0000315F04881 -48814881A23A3FFE001FFF01F01303497F48486D1380A249147FA400FF16C090C8123FB3 -AC6D147FA2007F1680A36D14FFA26D5B003F160001F8130701FE131F6CB65AA26C5D6C5D -6C5DC615C0010F01FCC7FC2A417ABF37>I<007FB6FC16E0B712F882826C8117802701FE -000713C0030113E09238007FF0163F161FEE0FF81607A217FC1603A6160717F8A2160FEE -1FF0163F167F923801FFE0030713C090B7128017005E5E5E16E093C7FC49C9FCB2387FFF -F8A2B57EA36C5BA22E3F7DBE37>I<903903FF800F011F9038F81F80017FEBFE3F90B6FC -000315FF5A5A48130001F8131F48487F01C01303007F805B00FF8090C8FCA2167FA37FEE -3F006C6C91C7FCA26C7E13F8EA1FFEEBFFE06C13FF6C14F06C14FEC6ECFFC06D80011F14 -F8010380D9003F7F02037FDA001F13801503030013C0167FEE3FE0A2EE1FF0A2003E150F -127F5AA46D141F17E0A26D143F6DEC7FC001F814FF01FE4913809026FFE00F130091B55A -5E5E486C5C011F14C0D8FC0791C7FC3978007FF82C417BBF37>83 -D<003FB712FE5AB9FCA59039000FF000A8007E167EA2C71500B3B3A3010FB512F04980A5 -6D5C303F7DBE37>I87 D<263FFFC090B5FC486D481480B56C4814C0A36C496C14806C496C -1400000190C7EA3FE0A26C5E6E137F017F5D6E13FF013F92C7FC6E5AA26D6C485AA26D6C -485AA201075CECFC0F01035CECFE1F01015CA26D6C485AA2027F5BA26EB4C8FCA36E5AA2 -6E5AA26E5AB391B512C049804980A36D5C6D5C323F7EBE37>89 D<003FB7FC481680B812 -C0A46C16806C16002A087A7D37>95 D<90380FFF80017F13F048B512FC4814FF48814881 -4881D9F8017F9138003FF8150F6F7E6C481303A2D803C080C81201A3EC03FF91B5FC1307 -133F90B6FC12035A48EBFE014813C0383FFC00EA7FF013C0485A90C7FCA415037F007F14 -076D130FD83FF0133FD9FE01B6FC6CB8FC6C17807E6C4A7EC6DAF83F1300013FEBE007D9 -0FFEC9FC312F7BAD37>97 DI< -EC3FFE49B512C0010714F0011F804980498090B7FC48EBF0034813803807FE00485A4848 -6D5A5B4848EB00784991C7FCA2485AA312FF90CAFCA87F127FA27F123F6D143F6C6CEC7F -807F6C7E01FF14FF6C6D4813006CEBF80F6C90B55A6C5D6D5C011F5C010714C0010191C7 -FC9038003FF8292F79AD37>IIII104 -D<14F8497E497E497EA56D5A6D5A6D5A91C8FCA9383FFFFE5A80A47EC7FCB3AC007FB612 -F8B712FC16FEA316FC6C15F8274077BF37>I<007FB5FCA2B67EA37EA2C7127FB3B3AD00 -7FB71280A2B812C0A36C1680A22A3F7ABE37>108 D<91391F8003F03B3FF0FFE01FFCD8 -7FF39038F07FFEB66CB5FC03FD8092B6FC6C836C01E1EBFC3F000301809038F01FE04A13 -E0037F130F4914C0491480A4491400B3A43C3FFF81FFF03FFE4801C36D487EB500E301FC -1480A36C01C301F814006C0181496C5A392D81AC37>IIII<91397FC00FC0903803FFF8010F9038 -FE1FE0013FEBFF9F4914DF90B7FC5A48EBE03F48EB000F4848130301F87F48487F49147F -123F49143F127F5B161F12FF90C8FCA87F127F163F7F167F6C7E16FF6C6C5B7F6C6C1307 -6CB45B6CEBC07F6C90B6FC7E6D14DF6D141F010F13FC010313F00100138091C7FCAF031F -B512E0A24B14F0A36F14E0A234447CAC37>II<903907FFC0 -F0017FEBF9F848B6FC12075A5A5A387FFC0001C0131F4848130F90C712075AA46CEC03F0 -D87FC090C7FC13F8383FFFE06CEBFF806C14F86C14FE0001ECFF806C6C14E0010714F0D9 -003F13F8020013FC150F003EEC03FE007F14004815FF167F7FA36D14FF7F6DEB01FE6D13 -0701FFEB3FFC91B512F816F016E04815C0013F1400D8FC0F13FCD8780113E0282F79AD37 ->III<3B7FFFE007FFFEB56C4813FF6E5AA34A -7E6C496C13FED801FCC7EA3F80A26D147F00001600A26D5C6D5CA2EC8001013F5CA2ECC0 -03011F5CA2ECE007010F5CA2ECF00F01075CA2ECF81F01035CA2ECFC3F01015CA2ECFE7F -010091C7FCA291B5FC6E5AA36E5AA36E5AEC07E0302D7DAB37>I<277FFFF003B51280B5 -6C4814C0A56C496C1480D807F0C73803F800A36D140700035EA66C6C4A5AEC03F0EC07F8 -EC0FFCA2EC1FFED800FE4A5AA3EC3F3FA3017E5D027F139F017F14BFA2EC7E1FA2013F92 -C7FC02FE13FF4A7EA34A7E011F5CA26D486C5A6D486C5A322D7EAB37>I<3B7FFFE007FF -FE6E4813FFB56C5AA36C497E4A6C13FED801FEC7EA3F8012006D147F17007F6E5B013F5C -A26E485A131F14E0010F495AA214F00107495AA214F80103495A14FC13014B5A14FE1300 -5EEC7E3F147F93C7FC143F5DEC1FFEA36E5AA214075DA35DA2140F5DA2141F5DA2143FD8 -0FC05B381FE07FD83FF090C8FC5CEBF1FE13C3EBC7FCEBFFF87E5C6C5B6C5B6C90C9FCEA -01FC30447DAB37>121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmtt10 20.74 45 -/Fd 45 125 df40 -D<121FEA3FC0487EEAFFF87F13FF806C7F6C7F6C7F6C7F00037F6C7F6C7F013F7F6D7F6D -7F6D7F6D7F7F6D7F6E7EA26E7E6E7F80826E7F8082806E7FA26F7EA26F7EA2151F828117 -80A28117C0A281A217E081A317F0A281A417F8A2167FB016FFA217F0A45DA217E0A35D17 -C0A25DA217805DA217005D5E153FA24B5AA24B5AA24A5B5C5E5C4A5B5E5C4A90C7FC4A5A -A24A5A495B5B495B495B495B495B90B5C8FC485B485B000F5B485B485B485BB55A91C9FC -13FC5BEA7FE06C5A6CCAFC2D8671F75A>I44 D<001FBA12C04819E04819F0BB12F8A66C19F06C19E06C19C0450C76BA5A> -I<13FCEA03FF000F13C04813E04813F0A24813F8A2B512FCA66C13F8A26C13F0A26C13E0 -6C13C000031300EA00FC16165E955A>I48 D<13FCEA03FF000F13C04813E04813F0A248 -13F8A2B512FCA66C13F8A26C13F0A26C13E06C13C000031300EA00FC90C7FCB3AC13FCEA -03FF000F13C04813E04813F0A24813F8A2B512FCA66C13F8A26C13F0A26C13E06C13C000 -031300EA00FC164A5EC95A>58 DII<001FBB12C0481AE0481AF0BC12F8A66C1AF06C1AE0000F1A80CFFCAE000FBB -1280003F1AE0481AF0BC12F8A66C1AF06C1AE06C1AC04D267AC75A>I<121FEA3FC0487E -EAFFF87F13FF8014E0806C13FC6C13FF6C80000714E06C80C614FC6D7F011F6D7E6D8001 -0314F00100806E13FE021F7F6E14C00203806E14F86E6C7F6F13FF030F806F14E0030180 -6F14FC043F7F706D7E0407807014F00400807113FE051F7F7114C0050314E07114F0716C -13F884180FA2183F604DB512F04D14E0050F14C04D1400057F5B94B512F804035C4C14C0 -041F5C4C49C7FC93B55A4B14F003075C4B1480033F91C8FC4B13FC4AB55A4A14E0020F5C -4A91C9FC027F5B49B512F8495C010F14C0495C017F49CAFC90B55A000314F0485C001F14 -804891CBFC4813FCB55A14E0148091CCFC13FC5BEA7FE06C5A6CCDFC455876E05A>I65 -D67 D<001FBB12F0481AFC5A1BFEBCFCA37EA27E7ED800070180C9 -121FADF20FFCA2F203F097C7FCAAF01F80F07FE0A24E7EA792B7FCAB0380C7FCA7725AA2 -F01F8095C9FCB3A8001FB612FC48814881A2B87EA36C93CAFCA26C5D6C5D4F697CE85A> -70 D<001FB500FE023FB512FC007F6E6C90B7FCA2B76C481680A56C4B6C1600A2001F4A -C7003F14FC26001FFEC9D83FFCC7FCB3B091B9FCAB4AC9123FB3B3A2001FB500FE023FB5 -12FC007F6E6C90B7FCA2B76C481680A56C4B6C1600A2001F4AC7003F14FC51697CE85A> -72 D<001FB912E0007F18F8A2BA12FCA56C18F8A2001F18E0C8D87FF8C8FCB3B3B3B3AB -001FB912E0007F18F8A2BA12FCA56C18F8A2001F18E03E6972E85A>I<001FB612FC007F -15FF83B8FCA57E94CAFC001F15FCD800070180CBFCB3B3B3AAF207E0F20FF0F21FF8F23F -FCB0001FBBFC127FA2BCFCA56C1AF8A2001F1AE04E697BE85A>76 -D<0203B512FE91B712F8010716FF011F17C0017F17F090B97E48844884A2488448198092 -38C0001F02FCC712014801F06E6C13C002C0151F4A814890C96C13E0A24982A24982A200 -7F19F0A24982A700FF19F849177FB3B3A76D17FFA3007F19F0A56D5EA4003F19E06D5EA3 -6D5E6E5D6C6D4B13C06E5D6E5D6C01FC4AB51280DAFFE0133F92B8FC6C19006C60A26C60 -6C606D5F011F17C0010794C7FC010016F802034AC8FC456D76EA5A>79 -D<001FB812F0007F17FF19E0BA12F819FE85861AE06C8586001F85D8000F90C880060F7F -1803060014807313C0191F7313E0857313F0A2857313F8A21A7FA21BFC1A3FA91A7F1BF8 -A21AFFA24F13F061A24F13E0614F13C0197F96B5128006031400180F95B55A92B85A6262 -621A8097C7FC6119F819E096C8FC18F092CCFCB3AD001FB67E007F15E0A2B77EA56C5DA2 -001F15804E697CE85A>I<0203B512FE91B712F8010716FF011F17C0017F17F090B97E48 -844884A248844819809238C0001F02FCC712014801F06E6C13C002C0151F4A814890C96C -13E0A24982A34982007F19F0A34982A600FF19F8A249177FB3B3A76D17FFA2007F4AB46C -14F04B7F83A283A26D6D6D5AA26F13FC003F19E06D6E6C5AA2EE3FFF6D5E7013876C6D03 -8F13C06E6D13DF02F06D90B5FC6C01FC17809138FFC00392B8FC6C19006C60A26C606C60 -6D5F011F17C0010794C7FC010083140391C8000F7FA2717FA2717FA2717FA2717FA2727E -85841A80841AC0841AE084A27213C0721380458376EA5A>I83 D<001FB712E0007F16F8A2B812FCA517F8A2 -17E001F0C9FCB3B3B3B3B3B3A490B712E017F8A217FCA56C16F8A2001F16E02E865BF75A ->91 D<001FB712E0007F16F8A2B812FCA57EA2121FC9123FB3B3B3B3B3B3A4001FB7FC12 -7FA2B8FCA56C16F8A2001F16E02E867AF75A>93 D<001FBA12C04819E04819F0BB12F8A6 -6C19F06C19E06C19C0450C767B5A>95 D<91381FFFFE0103B612E0010F15F8013F15FE90 -B87E4817E0488318FC48838448849126F8000F804A1300053F7F050F7F836C4902017F83 -6C49826C49157F6C90C9123F013C8390CAFC181FA5EF7FFF93B6FC151F4AB7FC140F147F -49B8FC1307131F5B90B812DF489238F8001F4892C7FC4814E04891C8FC4813F814E0485B -91C9FC485A5B485AA25BA57F183F127F6D167F6D16FF6C6C5D6E14076C01E0141F02F891 -B612C06C9026FF801FEDFFF86C91B912FEA26C1AFF7E6C17F7013F16C36D16010107DBFC -0014FE010103F0131FD9003F0280010313F8020701F0CAFC504D77CB5A>97 -D<4BB512E0031F14FE92B77E020316E0020F16F8023F824A8249B8FC49835B49188049EC -80004901F8C77E4913E090B5128092C8FC4801FC6F1300485B4A6F5A48496F5A4A6F5A48 -EF01E04A92C8FC4890CCFCA2485AA25B127FA25BA212FFA25BAA7FA2127FA27FA26C7EA2 -7F6C183F6EEEFFC06C7F4E13E06C7F6E5D6C7F6C01FE4B13C06E5D6C02C04A13806D01F0 -5C6D01FC49B512006D9038FFC00F6D91B65A6D5F6D5F6D5F6D6C5E6E5E020F93C7FC0203 -15FC020015F0031F1480030101F8C8FC434D74CB5A>99 D<050FB5FC053F14C05F86A683 -170FEF0001B3923807FF80037F13F04AB512FE020FECFF814A15C1027F15F149B712F949 -93B5FC5B5B5B4914004901F0131F90B500C013074891C712014A804801F8814A81484981 -484981A248498191C9FC84485AA24982127FA25BA212FFA25BAA7FA2127F60A27F606C7E -A2606C7E6E5D6C5F806C6D5D6E92B5FC6C6D5C6E5C6C6D5C6C6D6C131F6D01E0137FDBFC -03B712FC6D90BAFC6D1A806D16FD6D16F9010116E16D16C1023F15816E4AC6FC020702F8 -1600020002E0013F13FCDB1FFECBFC516A7AE85A>I<923803FFE0033F13FE4AB67E0207 -15E0021F15F84A15FE91B8FC4917C0010783498349834914004901F0010F7F03C001037F -90B5C8FC48496F7E48498102F06F138048834A6F13C0485B4A6F13E04890C9FC84484818 -F0A24982127FA24918F8A200FF187F90BAFCA81AF0A21AC001F8CCFCA2127FA27FA2123F -7FA26C7E6EEE0FC06CF03FF0806C6DEE7FF8806C6D16FF806C6D4B13F06C6D6C5C6F020F -13E06D01F05C6D01FE027F13C06D9026FFE007B5FC6D91B712806D18006D5F01005F6E5E -021F16E00207168002014BC7FC6E6C14F8030F14C0030001FCC8FC454D76CB5A>I<9438 -03FFE0053F13FC4CB6FC040715C04C15E0163F4C15F093B7FC4B16F85D5D4BEBFE0317F0 -4BD9C00113F017804B90C713E04CEC7FC04B48EC3F8096C7FC5EAD001FB912FC4818FF5A -BB1280A56C1900A2001F18FCC8D87FF8C9FCB3B3B0000FB912C0488448844884A56C606C -606C60456A7AE95A>I<381FFFFE007F6D7EB6FC81A67E121FEA0003B3EF3FFE4CB512C0 -040F14F0043F14FC93B67E03C38103C78203CF8203DF8292B87EA2DDE00F7FEF000104F8 -7F4C6E7E16C04C143F93C87F5D5D191F5D5DA35DA45DB3B1001FB600F8017FB612C0007F -DBFE01B712F0B817F85FA5836C03FE17F0001F9226F8007F15C055697EE85A>104 -DI<381FFFFC007F13FFA2B67EA57EA2121FEA0001B3A2053FB6 -12F094B712FCA24C82A5705EA2053F15F0DD001F0180C7FC4E90C8FC4E5A4E5A4D5B4D5B -4D5B051F5B4D5B4D90C9FC4D5A4C5B4C5B4C5B4C5B4C13804C90CAFC4C5A4C5A15810383 -7F1587038F7F039F8003BF8092B6FC04FD7F04F97F04F07FEEE07F4C6C7E04807F4C6C7E -03FC6D7F4B7F4B814B6D7F4B6D7F4B7F727E85727E181F727E86727F84727F86727F737E -193F001FB600F8010FB6FC007F03FE013F15C0A2B84915E0A56C4B6D15C0A2001F03F801 -0F150053697DE85A>107 D<001FB612FC4815FF5AB87EA57E7E7EC81207B3B3B3B3AB00 -1FBA12E04819F04819F8BB12FCA56C19F86C19F06C19E0466976E85A>IIIII<922603FFC0EB0FC0033F01F8EB3F -F04AB6FC02079238C07FF8021F15E04A15F891B712FC4916FE010716FF4917FF5B49EC80 -7F499038F8000F03E0130390B500807F4849C87E4849814A81485B4A814849815C488391 -C9FC484882A24982127FA25B197F12FFA25BAA7FA2127F19FF7FA2003F5F7FA26C6C5EA2 -6E5D6C6D5D606C7F6E5D6C6D5D6C6D92B5FC02FF14036C6E5B6D01F0131F6DD9FE01B6FC -6D90B8FC6D177F6D16FE6D16FC6D16F86D6C15F06E15C0020F1500020314FCDA007F13F0 -030F90C7FC92C9FCB3A80507B71280051F16E0A24D16F0A57116E0A205071680547179CA -5A>I<953801FFF0001FB500FC021F13FE4802FF91B6128048040315C0DC800F15E0B749 -15F0057F15F894B7FC6C038316FC16876C158F6C039F1481C7000701BFEBF80193B512C0 -95C713F85F05F8EC7FF04DEC1FC04DEC07004D91C7FC5F94CAFC5EA25E5EA25EA35EA35E -A45EB3A9001FB9FC48844884A2BA7EA36C60A26C606C95C8FC4E4B7BCA5A>I<0203B513 -1F027F9138F03FC00103B6EAFC7F010F03FF13E0013F16FF90B9FC5A5A5A5A5AED000748 -01E0EB007F0280141F4848C87E01F88100FF825B4981A56D6F13C07F6C6CEE3F006D93C7 -FC6C6C7E14F06C13FF6C14FCEDFFF06CEDFF80000116F86C16FF013F16C0010F16F00103 -16FC010082021FEDFF80020016C0030315E0DB000F14F0EE007F050F13F8050113FCD81F -8081D83FE0EE3FFE007F171F487EF00FFFA26D82A37FA26D5E7FF01FFE806E153F02F0ED -FFFC6E5C02FE020F13F89126FFE001B5FC92B712F019E019C01980190001E75E01E316F8 -01C016E0007F013F1580D9800702FCC7FC001FC76C1380404D73CB5A>I<157EEDFF805C -4A7FB2001FBA12804819E05ABB12F0A56C19E0A2001F1980C7000301C0C9FCB3B1F101F8 -F107FEA2F10FFFA661821AFE6E163F70147F70ECFFFC6E6D5B70010713F892397FFFE03F -94B612F06F16E01AC06F16806F16006F5D6F15F803005D043F14C0040F49C7FC040013F0 -48607CDE5A>I<261FFFFE92B512F0007F6D6C010314FCB65C6F82A66C82001F1600D800 -03EE001FB3B3A5193FA3197F19FFA26F5C606D6D140F6003FC91B5FC6D9026FFC00791B5 -12C093B912F06E19F8A280806E16DF6E161F0201EDFC0F6E6C02F015F0031FDA800314C0 -030101FCCAFC554B7EC95A>I<001FB500FE020FB6FC007F6E6C013F15C0B718E0705BA5 -4C7F6C1BC0001F4AC7000F1500C601E0CA13E0017F61A56E5E013F61A56D6C4C90C7FCA6 -6D6C4C5AEE03FCEE0FFF4C1380A24C13C06D6C4C5AA24C13E0A393B5FC6D6C6F485A17BF -179F4B14F8A36D01815E0383ECFC3F171F170F158718FE6D609238C7FE0703CF157FA218 -FF027F496C5CA3EDDFF803FF6D13FFA26E5F4C7EA44C7F6E94C8FC5E6E6F5A4C131FDA03 -FEC7EA07F8534B7DC95A>119 D<000FB60103B612C0003FDB800F15E0704815F04815E0 -1BF8A31BF06C15C04C6C15E0000FDB000315C0D8000101E09026003FFCC7FC6D7F6E6C4A -5A6E6C4A5A616E6C5B6E6C495B6E4A5B048091C8FC6E6D5A6E6D485A6E5D6F6C485AEEF8 -7F6F6C485A031F5C6FB55AA26F5C6F91C9FC6F5B815F705A705A83167F4C7E4B7F835D4B -80DB0FFC7F844B486C7E92383FF03F037F804C6C7E4B486C7E4A14074A01807F4C6C7F4A -6E7F4A5A4A486D7F727E4A486E7E4A488102FF151F4B6E7E49498149707F001FB500FE91 -B612F0007F6E010315FC1680B76C4815FEA56C4B6C15FC1600001F4A010015F04F4A7BC9 -5A>I124 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmr10 20.74 20 -/Fe 20 118 df45 D65 D<95260FFFE0ED03804DB500FE1507051FDAFFC0140F94B700F8141F -040316FE041F70143F047FDA800F01C0137F93B500F0C77F03030280DA1FF813FF030F01 -FCC83807FC014B01F0ED03FE4B01C0923800FF0392B5CAEA7F874A49EF1FC74A01F8EF0F -EF4A4971B5FC4A49834A49834A5B4A90CCFC4A4885494985495B49498589495B4949855B -4B855B92CDFC90B586485B895A5C481D7F5CA25A1E3F5C5AA348491B1FA45A9BC7FCA35C -B5FCB27E80A47EF60F80A36C7FA37E801E1F6C1E00A2807E6E636C1D3EA26C6D1B7E6D1C -7C6F1AFC7F6F626D1B016D6D626D6D1903535A6D7F6D6D4F5A6D6D4F5A6E7E6E6D4EC7FC -6E6D187E6E6D606E6D17016E6D4D5A6E01FEEF0FF06E6D4D5A033F01C04C5A6F01F0EEFF -806F01FCDB03FEC8FC0303D9FF80EC0FFC030002F0EC7FF870903AFF800FFFE0041F91B6 -1280040394C9FC040016F8051F15E0050192CAFCDD000F13E0697E77F97C>67 -D73 D76 -D78 -D82 D97 D<923801FFF0031F13FF92B612E0020315FC020F9038803FFE913B3F -FC0001FF80DA7FF09038003FC0494848EC0FE04901806E7E4990C87F4948151F49484B7E -013F167F49484B7E49485CA2485B5A5C5AA248496E5B725A48715A725A4890CCFCA35AA3 -5BA212FFAE127F7FA37EA36C7FA2F10F806C7FA26C181F6E17006C606C6D163E197E6C6D -167C6D6C16FC013F5F6D6C15016D6C4B5A6D6D4A5A6D6D4A5A6D6DEC3F806D01F802FFC7 -FCDA3FFEEB03FE913A0FFFC01FF86E90B55A020015C0033F49C8FC030113E0414F7ACC4D ->99 D<923807FFC0033F13FC4AB67E020715E0021F01017F913A7FF8003FFCDAFFE0EB0F -FE49496D7E0107496D7F4990C76C7F49486E7F49488249486F7E01FF163F4A824849151F -48845C48717EA2485B1A804883A24890C9FCA21AC05A845BA312FF90BAFCA31A8049CCFC -AA127FA27FA27EA36C7FF10380F107C07E6E160F7E6C6DEE1F80A26CF03F006C7F6E167E -017F17FE6D6C5E6D6C4B5A6D6C15036D6D4A5A6D6D4A5A01006DEC3FC0DA7FF802FFC7FC -DA1FFEEB03FE913A0FFFC03FF8020390B55A020015C0031F49C8FC030113F0424F7BCC4D ->101 D103 -D -105 D108 D<023FDA1FFEEE3FFC0003B591B500E04AB512C0B6010702FC020F -14F8041F6E023F8093283FE01FFF8090397FC03FFF93267F00036D9026FE00077F04FC6D -9026E001F86D7FDB03F06D9026F007E06D7FC64A48027F49487F011F4A03F849816D4948 -6E6C48C86C7E4BC8143E6D013E031F49153F033CDCFE7882037C17F84B705A4B6F49151F -8C4B5FA34B5FA44B94C9FCB3B3A6496D4B6D4B7EA2017F01F892B500F04AB512E0B7D8FC -01B7D8F803B712F0A6844C7ACB8F>I<023FEC1FFE0003B591B512E0B6010714FC041F80 -933A3FE01FFF8093267F00037F04FC6D7FDB03F06D7FC64A48147F011F4A816D49486E7E -4BC8FC6D013E151F033C82157C5D4B150F865DA35DA45DB3B3A6496D4B7FA2017F01F892 -B512F0B7D8FC01B712F8A6554C7ACB60>II<922601FFE0143E -031F01FE147E92B67E020381020F9026E01FF013FE023F90380003F8DA7FFCEB00FCDAFF -F0EC7E01010349141F4949EC0F834949EC07C34990C813E34948ED03E74948ED01F701FF -17FF4A815A4849167FA24849163F5A5C48181F5CA25AA291CAFC5AA4485AAE6C7EA47EA2 -80A27E807EA26C6D163FA26C6D167F7E6E16FF6C5F6D7E6D6C5D011F5E6D6CED0FDF6D6D -EC1F9F6D6DEC3F1F6D6D14FE6D01F8EB01FCDA3FFEEB0FF8913A1FFF807FE0020790B512 -C002011500DA003F13F8030313C092C9FCB3A44F7EA24EB512E00503B712F0A6546D7ACB -5B>113 D<023FECFF800003B5010713F0B6011F7F4C13FE9338FF83FF923801FC079226 -03F00F1380DB07E014C0C64B5A011FEB0F806DEB1F00151E6D133E153C037C6D13800378 -6D130003F86D5A4B6D5A94C8FCA25DA35DA65DB3B3A2497F81017F13FCB87EA63A4C7CCB -43>I116 DI E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmr6 12.444 17 -/Ff 17 116 df48 DIIIIII<121E121F13F090B812C0A35A188018005F5FA2 -5F007EC8EA01F0007C4B5A4C5A00785E160F4CC7FC163E485D167816F8C8485A4B5A4B5A -5E150F4BC8FC153EA25D15FC5D14015D14034A5AA2140FA25D141FA2143F5DA2147FA314 -FFA34990C9FCA65BAA6D5AA2EB0078324878C53F>II -I77 D80 D<903807FFE0013F13FE90B67E0003 -15E02607FC007F49EB1FF8486CEB07FC6F7E6F7E83816C48816C48147F6C5AC9FCA492B5 -FC143F0103B6FC011FEBFC7F90387FFE003801FFF04813804848C7FC485AEA1FF0485A12 -7F5B00FF17785BA316FFA26D5B127F6D5B6C6C90390FBFE0F0D81FFC90383F1FF1270FFF -01FEEBFFE06C9038FFFC0F000102F014806C6CD9C0071300903A0FFE0001F8352F7AAD3F ->97 D101 D103 D<01FFEB3FC0B5EBFFF0020313F84A13FC91380FE7FE0003EB1F876CEB -3E076C133C1478ED03FC9138F001F89138E000F01600A25CA35CB3A54813E0B612E0A427 -2D7BAC32>114 DI E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmr10 22.7103 62 -/Fg 62 123 df[95 -133 124 260 105 12 D[<943801FFFE053FEBFFF04CB6EAFE07040F92B5FC043FEBC003 -DCFFFCC7123F030313E04B01805CDB1FFEC8B5FC4B485CED7FF04B5A4A495C4A5B4A90C8 -FC4A825D4A5A023F825D027F173F864B82A214FF5DB3A9BDFCA6C701F0C9120FB3B3B3AC -496D4C7F496D4C7F011FD9FF804AB512F8007FB7D8E007B712FEA5DAC03FEEFC03>95 -133 124 260 105 I[<17C0EE03E01607EE0FC0EE1F80EE3F005E16FE4B5A4B5A4B5A4B -5A4B5A153F4B5A4BC7FCA24A5A4A5A14075D4A5A141F5D143F4A5A5D14FF92C8FC5B495A -A213075C130F5C131F5CA2133F5C137FA25C13FFA2485BA35A91C9FCA35A5BA2120FA25B -A2121FA35BA2123FA55B127FA9485AB3AA6C7EA9123F7FA5121FA27FA3120FA27FA21207 -A27F7EA3807EA36C7FA2137F80A2133F80131FA280130F801307801303A26D7E7F81147F -816E7E141F81140F6E7E8114036E7E6E7EA26F7E6F7E151F6F7E6F7E6F7E6F7E6F7E167F -82EE1F80EE0FC0EE07E01603EE00C0>43 188 109 268 73 40 D[<126012F87E127E7E -6C7E7F6C7E6C7E6C7E6C7E6C7E137F806D7E6D7EA26D7E6D7E8013036D7E807F816E7E14 -3F81141F816E7EA28114078114038180A2828082A2157F82A26F7EA382151FA382150FA2 -82A21507A282A381A21780A58117C0A96F13E0B3AA4B13C0A917805DA51700A25DA35EA2 -150FA25EA2151F5EA3153F5EA34B5AA25E15FFA25E5C93C7FCA25C5D14075D140F5DA24A -5A5D143F5D147F4A5A92C8FC5B5C495A13075C495A495AA2495A495A91C9FC13FE485A48 -5A485A485A485A5B48CAFC127E5A5A1260>43 188 118 268 73 -I43 DIII48 D<167816FC150115031507151F157FEC01FF1407143F49B5FC133FB7FC5C14F814C0 -49C6FC13C0C8FCB3B3B3B3B3A84A7F4A7F4A80027F14F8007FB912F8A5ED80073D7E6FFD -5E>I<923807FFC092B512FE0203ECFFE0021F15F84A15FE91B87E49D9F00314E0010790 -C76C7FD90FFC020F13FCD91FF06E7FD93FC002017F49486E8049C96C7F4848707F484884 -4848707F4982484884727F48488286485A72148090CAFCD87FFE826D6C18C08080B56C82 -1BE080A86C5BA26C5B6C5B6C5B6C90CA14C0D800F894B5FC90CBFCA34E1480A21B0060A2 -6260624E5BA24E5B6260624E5B97C7FC95B5FC4D5B614D5B4D5B614D5B4D5B4D90C8FC60 -4D5A4D5A4C5B4C13C0604C90C9FC4C5A4C5A4C5A4C5A4C5A4B138094CAFC4B5A4B5A4B5A -4B5A4B5A4B5A4B48ED03E04A90C9FC5D4A48EE07C04A5A4A5A4A5A4A5A4A5A4ACA120F4A -1880495A495A4948171F495A495A4948EF3F0049CA48B4FC90BBFCA25A5A5A48615A5A5A -BBFCA362A34B7E77FD5E>I<923801FFF8033FEBFF804AB612F0020715FE021F6F7E027F -D9007F13E0DAFFE0010F7F010390C7000313FCD907FC6E7FD90FF06E7F49486F7FD93F80 -6F7F49C96C7F017E8401FE707F485AD9FFC06F7F4813F002FC83806E81488581A86C91C8 -FCA26C495F6C495D6D5AEB1FE090CA5CA26062A26260624E5BA24E5B97C7FC4E5A614D5B -4D5B4D13C04D5B4D90C8FCEF7FFC933801FFF04BB512C092B6C9FC4A8118F06E15FE92C7 -6C6C7E050F7F050313F07113FC717F727E7213C0727F86727F727FA2727F86A27214801B -C0A2841BE0A21BF0A285A21BF8A21378EA03FF000F13C0487F487F487FA2B57EA41BF0A2 -96B5FCA21BE05C7E4A4B14C05C028018806C90C95A018019006C6C606D5E6C6C606C6C4C -5B6D4C5B6C6C606C6C4C5B6C6D4B5BD97FE092B5C7FCD91FF84A5B6DB44A13F8010301E0 -010F5B6D01FE017F13C06D6CB7C8FC021F15FC020315F0DA007F1480030301F0C9FC4D82 -78FD5E>I<190F4F7E193F197FA219FF60A26060A26060A26060A295B5FC5FA25F5F18DF -EF0F9F171F181F173E177E177C17F8160117F0EE03E0160717C0EE0F80161F1700163EA2 -5E5EA24B5A4B5AA24B5A4B5AA24BC7FC153EA25D5DA24A5A14035D4A5A140F5D4AC8FC5C -143E5C14FC5C495A13035C495A130F5C49C9FC5B133E5B13FC5B485A12035B485A120F5B -48CAFC5A123E5A12FCBD12E0A6CB003F0180C7FCB3A44E7FA295B57E050F14FE93B912E0 -A5F0F00153807BFF5E>I55 D58 -D[<92B57E020F14FC027FECFFC049B712F80107D9C00713FED90FFCC76C7ED93FE0020F -13C0D97F8002037FD801FEC86C13F8D803F86F7F4848707E498348488248481880003F71 -13C090CAFC01F018E0EA7FFC6D827FB56C17F080A86C5B606C90C914E0EA0FFC6C5ACB48 -13C0A24E1380A295B51200614D5B4D5B4D5B4D5B4D13804D90C7FCEF7FFC604D5A4C5B60 -4C5B4C90C8FC5F4C5A5F4C5AA24C5A5F167F5F4CC9FCA25E15015EA25E15035EA34B5AA4 -5EB36FCAFC92CBFCB0ED0FC0ED3FF0EDFFFC4A7F4A7FA24A80A86E91C9FCA26E5B6E5BED -3FF0ED0FC0>68 133 118 260 89 63 D[ -128 135 122 262 141 65 D[116 -129 121 256 134 I[<96263FFF80ED01C0060FB500FCED03E095B76C1407050716E005 -3F04F8140F94B800FE141F0403913AFC003FFF80040F028001036D133F043F01FCC8D87F -F0137F4C01E0DB1FF813FF4BB50080ED07FE4B49C93801FF01030F01F87013834B01E0EF -7FC3037F49EF1FE792B54871B5FC4A49CB7E4A49844A49844A49844A5B4A49854A8791B5 -48854991CDFC4949868A495B4949865B4B865B4B865B90B5481B7FA2485C1F3F5A92CFFC -1F1F5A5C5A1F0FA2485BA3481E075CA348F603C09CC7FCA45CB5FCB37E80A57EF701C0F7 -03E0807EA36C7FA21F077E6E1DC07EA26F1B0F7E20806C6E1B1FA26D6D1C006D65816D1D -7E816D1DFE6D6D636D6D1A01676D6D505A6D6E19076E6D626E1B0F6E6D4F5A6E6D4F5A6E -6D4FC7FC6E6D19FE6E6D18016E6D6C4D5A6F6D4D5A031F6D4D5A6F01F8EF3FE0030301FE -EFFF806F6D6C4B90C8FC6F6C01E0ED0FFE7001FCED3FF8040FD9FF8049B45A040302FC01 -3F13C0040091B7C9FC053F16FC050716F0050016C0060F02FCCAFCDE003F1380>115 -137 118 260 136 I[126 129 121 -256 144 III[128 -129 122 256 141 72 D[57 -129 123 256 68 I[102 129 121 256 118 76 D[156 129 120 -256 173 I[128 -129 122 256 141 I[<953801FFFE063FEBFFF00503B7FC051F16E0057F16F80403B5D8 -800713FF040F01F8C76C13C0043F01C0020F13F04C90C800037F922601FFFC030013FE4B -01F0EE3FFF030F497013C04B018004077F4B90CA6C7FDBFFFE7113FC4A49717F4A49727E -4A49727F4A49727F4A49727F4A49727F4A90CC6C7F91B5874B854949737F49894949747F -4B86498A4949747FA24949747FA24949747F90B589A24891CE6C7FA2488B4A87A2482080 -A248497514C0A34820E0A24A88A24820F0A44820F84A88A5B51FFCB26C6D5213F8A66C20 -F0A26E99B5FCA26C20E0A36C6D5114C0A36C20806E63A26C20006F626C67A26C6E505BA2 -6D666F626D666F626D666D6D505BA26D6D97B55A6D9BC7FC6D6D4F5B6F616D656E6D4E5B -6E6D4E5B6E6D4E5B6E6D4E5B6E646E6D4E90C8FC6E6D4E5A6E01FF05035B6F6D4C5B031F -6D4C13E06F6D4C5B6F01F8047F5B03016D4C48C9FC6F6CB4030313F87001E0021F5B040F -01F8027F13C004039026FF8007B5CAFCDC007F90B612F8051F16E0050393CBFCDD003F14 -F0060149CCFC>126 137 118 260 147 I[110 129 121 256 128 I[130 133 121 256 139 82 D[<922603FFF01538033FD9FF80147C4AB600F014FC -020715FC021F03FF1301027FD9001FEBC003DAFFF0010013E0010301C091381FF8074990 -C8EA07FCD90FFC923801FE0F4948923800FF1F4948EE3F9F4948EE1FFF49488248498248 -8491CA7E484883A24848187F001F193FA249181F123F1A0FA248481807A31A0312FFA21A -01A27FA21A007FA37F1B7C7F6C7FA26E18386E95C7FC806C7F806C13FF8115F06C14FEED -FFE06C15FE6CEDFFE017FE6CEEFFE06C17FE6DEEFFC06D17F86D17FE6D717E6D846D18F0 -0100846E17FE021F83020784020184DA003F83030383ED003F040382DC003F811703DD00 -3F801803DE007F7F191F73148019037314C085867413E0A28686A200707313F012F886A3 -86A37E86A47E1CE0A27EA2626D1AC0A27F6D4E1380A26D4E13007F505A7F6D4E5A6D616E -173F6E4D5A02F04D5A6E4C5BD9E7FE4C5B9026E3FF804B90C7FC01C001E04B5A9026807F -FCED3FFC91261FFFC049B45A496C01FF010F13E0020391B65A48010094C8FC48023F15FC -030715F048DA007F14800070030101F8C9FC>84 137 118 260 105 -I<000FC012F8A5488B03E0C76C91C7120302FCC8001F01FCEC001F02E06F49150302801B -0049C9193F491D1F491D0F491D07491D03A24848777EA2491D00A390CA1A7EA3003E1F3E -A3007E1F3FA3007C8BA848F70F80A5CB97C7FCB3B3B3B3A34E7F4E7F4E7F050FB612F803 -7FBBFCA59538F8000F798079FF88>I[128 133 122 256 141 I[134 133 125 256 -141 I[<261FFFF890B500FE4AB539E00FFFF091B795B6FCA5D8000304C0DA001F03F8C7 -FCD9003F4AC9000392C8FC020F02F87014F86E4A7014E06E4A7113806E7448C9FC6E6366 -6F6D715A6F6D4D5A666F6D606F6D177F9BCAFC6F6D17FE6F6E1501656F6E4B5A6F6E1507 -65706D4B5A72151F7060706D4B5A724BCBFC82706D15FE515A7080706E495A515A708071 -6D495A515A717F716D495A51CCFC717F716D13FE505A71148171ECC3F8F2C7F07114E772 -EBFFE06384725C98CDFC8484A27280878472808785737FA24F7F8796B5FC4E8088F003FB -DE07F18007F0804E5A4E486C7F063F6D7F19804E486C7F4E6D7F604D486D7F05036E8060 -4D486D80050F6E80604D486E7F053F834E804DC86C7F4D834D814C486F7F16034D6F804C -486F80160F4D6F804C48707F163F4D707F4CCA6C7F5E4C717F4B48717F15034C71804B48 -7180150F4C7180031F737F4B5A037F737F03FF737F5C4A747F4A88021F6D874A6D4E8049 -B56C4E80010F02FE95B67E90B76C040715FFB800F893B912F0A5DA003F9738FC007F> -132 129 124 256 141 88 D[<0007BD12F81DFCA504F8C9003F13F84BCA4813F015F003 -8094B512E04ACA5A4801F81AC04A4D14805C4A4D14004A4D5B91CBFC494E5B494E5BA249 -4E5B4995B5FC644F5C5B4F5C494D91C7FCA24F5B4F5B5B4F5B001F606396B55AA290CA48 -5C4E5CA24E91C8FC60624E5BCBFC4E5B4E5BA295B55A4D5CA24D5C5F97C9FC4D5BA24D5B -4D5BA24D5B94B5FC614C5C5E614C91CAFCA24C5B4C5BA24C5B5E6093B55AA24B5C4B5CA2 -4B91CBFC4B49173EA24B5B5D5F4B5BA292B548177E4A4A177CA24A5C5C94CBFC4A5BA24A -5B4A4918FCA24A5B91B55AA2494A17015B5E4991CB12031DF8495B49491807A24949180F -495B1C1F90B548183F481B7F5D484A18FF1B034891CB5A4849601B3F484995B5FC481907 -4A053F14F04849041FB6FC91BCFCBEFCA57E>95 129 118 256 115 -90 D[26 -188 107 268 52 I[26 -188 124 268 52 93 D<92381FFF804AB512F8020F14FF027F15E0902701FFF80313F849 -90C76C7ED90FF8EC1FFFD91FE002077FD93F806E7F49C86C13F0496C6E7F02E0157F4801 -F8826E6F7E6E6F7E5A6E6F7FA28684A286846C5BA26C5B6D5AEB1FE090CAFCA794B6FC16 -3F0307B7FC153F4AB5EAF80302071400023F13F091B512804949C7FC010713F8011F13E0 -495B4990C8FC495A485B485B485B5A5C485B5A5C481BF8A291C9FCA2B5FC5B60A460A26D -5EA26C173E6E157E953A7C7FF001F06C6D15F86C16016C6D913B03F03FF803E06C6DDA07 -E0EBFC076C6D913B0FC01FFE0FC06C01FEDA3F8090B512806C6C6C6C9026FF000F14006D -9026F00FFC6D5B010F90B5486D5B010103E0010013F0D9003F0280EC3FC0020101F8CBFC -555679D35E>97 D[93 -133 123 258 105 I<93383FFF800303B512FC031FECFFC0037F15F04AB712FC0207D9F8 -007F021F0180903803FF804A48C8EA7FC04A48ED1FE0902601FFF0ED7FF04949EC01FF49 -494A13F849495C4990C814FC495E495A5C13FF485B5A5C487113F85C487113F07213E048 -499238007F8096C7FCA25A5CA25AA491CCFCB5FCAF6C7FA57E80A27E6E170E6C191FA26C -6D173FA26C6D177EA26C6D17FC7E6E1601017F18F86D6CEE03F06D6D15076D6DED0FE06D -6DED1FC06D6DED3F806D6DED7F006D6D15FEDA3FFFEC03FC6E01C0EB1FF802079039FC01 -FFE06E90B65A020093C7FC031F14FC030314E09226003FFEC8FC48567AD354>I[93 133 122 258 -105 II[<933801FFC0040F13FC047F13FF4BB612 -804B9038C07FE0923A0FFE000FF0DB1FF8EB3FF8DB7FF013FF4B484813FC4A13C04A4948 -13FE16005C4A5AA24A5AA24A486D13FCA2027F6E13F84BEC7FF0F01FC095C7FC14FF5DB3 -AAB912C0A6C701F0C9FCB3B3B3AB815B497F010FEBFFC0007FB712FCA5ECC01F>63 -133 123 260 58 II[ -94 131 122 258 105 II[40 131 121 258 -53 108 DII -II< -DC1FFE153C4BB500E0147C030F14F8037F14FE4AB714FC0207D9FE0113C04A903AF0003F -E001023F0180EB0FF04A90C7EA03F8DAFFFC913801FC03010349EC00FE4949ED7F074949 -ED3F874949151F4949ED0FCF5B92C9EA07FF495A4884485B4A825A4A825AA24849177FA2 -485BA21A3FA2485BA4B5FC91CBFCAE6C7FA56C7FA37E806C197FA26C7F1AFF6C7F616C7F -6C606E5E137F6D6C5E6D6D5D6D7F6DEF3F7F6D6D157E6D6D15FC6D6DEC03F8DA3FFEEC07 -F06E6CEC1FE0020701C0EB7F8002019039F807FF006E6CB512FC031F14F0030314C09226 -003FFCC7FC93C9FCB3A8507E4F7F070F14E0063FB712F8A5F2E00F5D787AD264>II<912603FFF8130E027F01FF131F49B6EAE03F010F6F5A499039001F -FDFFD97FE00101B5FCD9FF806D7ED803FEC8121F4848814848814981484881123F498112 -7F4982A28412FFA36D82A27FA27F7F6D160E6C6C93C7FC6D7E14F06C13FEECFFF06CECFF -8016FC6CEDFF806C16F06C16FC6C16FF6C83013F16E06D820107820101826D6C81020781 -DA007F1580030115C0ED000F040114E0EE003F050F13F000708200F8827113F86C82187F -183FA2181F7EA2180F7EA27F19F0A27F181F6D17E07FF03FC07F6DEE7F806D16FF6D4B13 -006E4A5A6E4A5AD9CFF0EC1FF8D987FCEC7FE0903B01FFC007FFC0486C90B6C7FC48013F -14FC48010714E00070010001FCC8FC3D567AD34A>I<15F8A81401A61403A31407A3140F -A3141FA2143F147FA214FF5B5B5B5B5B5B90B9FC120FBAFCA4C701F8C9FCB3B3A5F003E0 -B0180781027F16C0A2180FA26E6C1580181F6E7EF03F006E7F6E6D137E705B6EEBF00102 -009038FC0FF86FB55A031F5C6F1480030149C7FC9238001FF83B767DF349>II<28FFF803FFFC913A07FFC07FE090B6 -94B5FCA5C692C9ECFE00011F01FC043F13F06D497013C06D497090C7FC745A6D616D61A2 -6F5F7F6F5F147F636F160F023F606F161F6E95C8FCA2705D6E173E70157E6E177CA27015 -FC6E5F7014016E5FA27014036E5F701407037F5EA270140F033F5E70141F6F93C9FCA271 -5B6F153E71137E6F157CA27113FC6F5DEFF0016F5DA2EFF8036F5DEFFC07047F5CA2EFFE -0F043F5CEFFF1F7091CAFCA218BF7013BE18FE705BA3705BA2705BA3705BA2715AA3715A -A271CBFC5B537CD064>I<2EFFFC03FFFC01FFE01FFFE0903A7FFF01FF8090B692B693B5 -FCA5C692C7000102F0C70007ECF000011F01F86E6C01C0020014806D496F496F90C7FC6D -7190C9EA3FFC4B755A6D83795A6F6F606D85686D6D81755E4F171F6E6C99C8FC876F4B5F -023F1C3E876F4B177E6E057F167C8770DA3E3F16FC6E64077E7F70DA7C1F15016E6407FC -7F70DAF80F15036E725D18016E6D4A6C4B5A880603170F6E6D4A6C5E88700107171F037F -4B6C93C9FC8870010F5F033F4B6C153E887049C7007F147E6F1A7C4E81DD803E023F14FC -6F62067E81DDC07C021F13016F06FE5B18FC6F6D48020F495A1CFF05E117076FD9F1F06E -5C1D8705F3178F6FD9FBE06E5C1DCF05FF17DF70496E91CAFC1DFF4E807060A295C9127F -7060A24D163F040F60A27048705AA37048705AA37048705A81537DD088>I<287FFE01FF -FE913A3FFF80FFF090B694B5FCA5D8001F02F0020FECFC0001034A020314C001004A4CC7 -FC6E496E13F86E18E06E606E607093C8FC6E6D15FC6E6D4A5A80704A5A6E6D4A5A6F6C4A -5A6F6C5D6F4BC9FC715B6F6D13FE6F6D5B6F4A5A71485A6FEBF8076F6D485A047F5C7148 -5A706C48CAFC7013FF705B705B60705B707F8284717E717E5F94B57E854C80DC03F37FEE -07F1DC0FE17F05C07F4C486C7E93383F003F4C8004FE6D7F4C6D7F4B487F4B488103076E -7F4B486D7F4C6D7F4B48147F4BC87F4B6F7E03FE6F7F4A48810203844A486F7F020F707F -021F82023F8402FF84498501076D4B7F013F1AC00003B6030F14F8B700C0027FECFFFEA5 -D9F01FF0807F5F517ED064>I<28FFF803FFFC913A07FFC07FE090B694B5FCA5C692C9EC -FE00011F01FC043F13F06D497013C06D497090C7FC6D725A636D6181636D6181147F6F4C -5A023F60A26F161F6E95C8FC705D6E173E821A7E6E177C7015FC6E5F8219016E5F701403 -6E5F701407037F5EA270140F033F5E70141F6F93C9FCA2715B6F153E71137E6F157C8319 -FC6F5DEFF0016F5DEFF8036F5DA2EFFC07047F5CEFFE0F043F5CA2EFFF1F7091CAFC18BF -7013BE18FEA2705BA2705BA3705BA2705BA2715AA3715AA271CBFCA25F173E177E177CA2 -17FC5F16015F16035FA216075F486C140FD80FF05DEA3FFC161F486C92CCFCB55C163E16 -7E167C5E1501495C007F140349495A49495A6C48495A90C748CDFC6C6C137E390FE001FC -3907F807F86CB55AC614C0013F90CEFCEB07F85B787CD064>I<0007BA12F81AFCA30380 -C7000313F802F0C85A02C04B13F091C914E048484C13C0495E494C1380491800494C5A5F -4D5B495F4D5B5F494B5B614D5B5F94B5C7FC001F5F90C8485B5E4C5B604C5B5EC9485B60 -5E93B5C8FC4B5B5F5D4B5B4B5B5F5D4B5B4B5B94C9FC92B5FC4A49157C4A5B5E5C4A5B5E -4A4915F85C4A5B93C9FC4A5A5B495B4B1501495B5B495B4B1503494916F05B90B5C91207 -5C4849160F48181F485B4A163F484916FF485F484915074A153F4890C80003B512E0BBFC -A47E46517BD054>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmbx12 29.8656 34 -/Fh 34 122 df58 D[192 173 119 300 211 65 D[172 -170 118 297 198 I[<0A03B500E0F00F800907B76CEF1FC098B800F8173F081F05FF17 -7F4FBA00E016FF070F07FC5D077F07FF5D0603BC00C05C060F09F05C063F09FC5C4DBE5C -05079426FC00036F90B5FC4D4CC8001FECE001053F04C003016E5A94B700FCCA003FEBFC -07040304E0050F6D5A4C93CB00036D5A041F03FC060014BF4C03F0073F90B6FC4C03C019 -0F4BB7CD7E4B03FC864B4B1A004B03E0874B4B87037F4B8792B7CF7E4A03FC884A4B884E -884A4B884A8D4A5D4A4B894A92D17E4D8A91B6FC494B8A495DA17E494B8AA2494B8A5B4D -8B5B5F498FA290B7D37EA25A4C8CA25A5E48A17EA35A5EA17F5AA35E48A16C1380A190C8 -FCA45AA35EA4B7FCB3A27EA482A37EA57E82A1ECFF80A14913C07EA2827EA36C81A26CA1 -5AA11580827EA26D6F67A115007F71676DA15A836D231F6D6F68A1133F6D8171555A7F6D -6F555A6E6971686E6F535B6E6F656E6F676E6F656E5790C7FC72535A6E03FE535A6E6F1D -FF6F6F515B031F6F515B6F03F0090F5B6F6F515B6F03FE515B6F6F98B5C8FC6F6C03C04F -5B7003F007075B7003FC071F5B0407DBFF80067F13E07004E04DB55A040004FC050F5C05 -3FDBFFC0047F49C9FC050F04FE0307B55A71DCFFFC49B612F0050194B95ADD003F1C8006 -0F51CAFC06031BF8DE007F1AC0070F97CBFC070119F8DF001F18C008004DCCFC090716C0 -E1000302F0CDFC>170 176 113 300 201 I[164 169 -118 296 183 69 D[197 170 118 297 218 72 D[145 170 118 297 168 76 D[ -244 170 118 297 265 I[<0903B512F050B712E0087FEEFF800707B912F8073F18FF4E -BB12E0060F1AFC063F1AFF4DBD12E00507DCC00016F8051F03F0C7000315FE057F0380DA -007F6E7E94B600FCC9000F81040303F0040315F0040F0380DC007F14FC4C92CB6C80047F -02FC060F6E7E93B600F00603814B4B728103074B7215F84B92CD003F804B4A74804B4A74 -804B4A748192B64874814A4B74814A4B74814A4B75804A8E4A92CF6C804D884A8E4A4A76 -8191B6487681A2494B768149A17E4D8849A17E494B7681A2494B7780A249A17E94D17E49 -A17FA290B6487881A248A1804C8AA248A180A3484B7881A348A180A24C8A48A180A448A1 -80A44C8AA248A11580A7B7A112C0B3A36CA11580A37066A56CA11500A470666CA15CA46C -A15CA270666CA15CA36C6F545DA36CA15C70666CA15CA271656DA15BA26D6F9AB7C7FCA2 -6D6F525DA26DA15A6D6F525DA26D6F525D6DA15A71646D6F525D6E6B71646EA0C8FC6E6F -515C6E6F98B65A6E6F505D6E6A6E6F505D6E6F505D6F6E505D6F6E5092C9FC6F6E505C6F -6F4F5C6F03E04EB65A6F6F4E5D03006F4E15C07002FE061F5D706E6C057F92CAFC040F6F -94B612FC7003F004035D040103FE041F15E0706CDAFFC092B71280051F03F802074BCBFC -0507DBFFC090B712F8050193B912E0716C1B80060F08FCCCFC06031AF0DE003F96CDFC07 -0718F8DF007F1780080304F0CEFCE0000302F0CFFC>178 176 113 -300 209 79 D[165 -170 118 297 191 I[196 -173 118 297 208 82 D[<0007C5B5FCA648A11480A505C0C700034BC8121F04F0C8F200 -7F04801E0F03FCC91B0103F0797E4B8C0380200F4891CA7614C04A8D02F82100A24A8E4A -8E4A8EA24A8EA291CB89A248A114E0498FA3498FA5498FA2007FA114F0A449A1127FA848 -48A1EA3FF8A6CD9BC7FCB3B3B3B3B3A8047FBF12F0AA08E0C9123F>173 -168 118 295 194 84 D<94B6FC93B712FE031FEEFFE092B912FE0203727E020F19F002 -3F19FC91BCFC499226C0001F814902E0C7000115E0494A6E6C80496E031F14FC70030780 -497280706F81496E6F817580498570857580878A8A878AA26D4A828BA26D5C876D4A866D -5C6D5C6D5C6D6C48CAFCEC1FF891CCFCAA98B7FC073FB8FC063FB9FC050FBAFC94BBFC16 -0F93BCFC03071781031FEE800192B7EAF000020393C7FC020F15F0023F158091B648C8FC -4915F8010715E0491580494AC9FC495C495C90B65A485D485D485D5A93CAFC485CA2485C -A2485CA4B65AA363A463A26F5F7E63816CF23FBF6F177F6C6EDDFF3F80F201FE6C6FDB03 -FC15F86C6F030F16FE6C03F0DB1FF8EDFFE06C6FDB7FF0EEFFFC6C03FE4A48487E6D6E6C -010F496C16FE6DDBF801B51280010F92B648487E01034E7F010006F07F023F05C06D7E02 -0794C8121F020004FC030315FC030703E0ED003FDB000F01FCCEFC7F7178EF88>97 -D[137 173 120 299 155 I<061FB57E0507B7FC94B812F8040717FF043F18 -C093BA12F0030319FC030F85033F737E92B648C7814A03E00203804A92C84880020F02FC -5D4A4A844A02E05D4A4A4B8091B65A4992C9FC494A4C80495C5B495C5E5B495CA290B648 -705C5A5E48745CA248745C93CA6C5C48745C755C756C48C7FC484AF01FF899C9FCA25AA4 -485CA5B6FCB17EA381A37EA46C80A37E827EF6FF806C6F4E13C0A27E70606C1E8070606D -1D006D6E6070616D1B1F6D6E4E5A6D806D6F4D5A6D6F4D5A6D6F5E6E6E04075B6E02FC4C -5B6E6E043F5B6E6E6C4B90C7FC6E03E0913803FFFE020103FC021F5B6E9226FFE001B512 -F0033F92B75A030F61030396C8FC030018FC043F17F00407178004004CC9FC050F15E0DD -001F01F8CAFC6A7177EF7C>I[137 173 119 299 -155 I<95383FFFF0050FB612C04CB712FC040FEEFF80047F17F04BB912FC030718FF031F -19C0037FDAFC00814AB600C0010F14F84A92C70003804A02FC020080021F02F06F7F4A4A -031F804A02806F8091B6C96C80494A7080494A82494A85497380494A838A494A8349884C -1A8090B684485D7614C05A93CB15E05A88481EF05DA248871FF8A25AA35D5A7614FCA4B6 -FCA392BDFCA51FF8A203FCCFFCA87EA481A27EA37EA2817EA36C6FF10FF8A26CF51FFC82 -6C1D3F7E70F17FF87F70F1FFF07F6D6E4E13E06D6E60704E13C06D5113806D6E606D03C0 -4D13006D6F4D5A6E6E4C485A6E02FC4C5B6E6E040F5B02076E6C033F5B6E03F092B55A6E -03FE02075C6E6CDAFFF090B6C7FC031F92B712FC030761030119E06F6C1880040F05FCC8 -FC040117F0DC003F1680050303F8C9FCDD000749CAFC6E7178EF7F>I[<96381FFFE0060F -B512FE95B712C0050716F0053F8294B812FE040383040F1880043FDAFC0014C04CDAE001 -14E04BB6C64814F04B02FC5B4B4A4914F84B14E04B4A4914FC5D4B4A16FE92B6C75A5F5C -4A5CA24A5CA25C4D6E14FCA24A7114F8A27414F04A4A6E14E07414C0741480751300F30F -F898C8FCB3AABCFCABC7003F02F0CBFCB3B3B3B3B0007FBA7EAA02F0C7121F>95 -173 119 300 85 II[138 172 -118 299 155 I[58 173 118 300 77 I[60 172 118 299 77 108 D<922601FFC092260FFFF8 -96387FFFC0013FB64BB600E0050FB6FCB8030F03FC057F15E0083F03FF4CB712F84FB800 -C0030F16FE4F05F04B707E070F71037F83073F05FE4AB912F04FD9E00F6E4ADA007F8096 -27FFFC00016F4901E0010F80060301E06D6F011F90C76C804E01806E6ED93FFC6E804E48 -C86CDC7FF080D8000FDC1FF86F6ED9FFC06E8101014C48724849846D4C486F4B90C97E07 -8006FC01FC856E4BC94C5ADDC1FE704B4882DDC3FC734848854E63DDC7F0505A05CFE0FF -7F864E98CAFCDDDFC07003FE83A2DDFF8062A18495CA5EA24D63A24D63A34D63A54D63B3 -B3B3A6BA00F80107BA00C0013FB912FEAA02F0C76C952680000306FCC7121FD76F76EEE8 ->I<922601FFC092380FFFF8013FB64BB612E0B8030F15FC083F15FF4FB812C04F17F007 -0F83073F17FE4FD9E00F809627FFFC000181060301E06D814E01806E804E48C87ED8000F -DC1FF86F8001014C48846D4C48810780846E4BC9FCDDC1FE82DDC3FC8560EFC7F005CF86 -60DDDFC082A2EFFF808D95CAFCA25FA25FA35FA55FB3B3B3A6BA00F80107BA12C0AA02F0 -C76C95388000038A6F76EE9B>I<95380FFFFC0507B612F8057FEDFF800403B812F0041F -17FE93BA12C0030319F0030F19FC033F9126FE001F14FF4B02E00101814AB6C8003F14E0 -4A02FC030F80020F02F0030314FC4A02C00300804A4A707F4A91CA6C8091B5487180494A -7180494A7180494A7180494A718049894C834989494A7280A290B68893CC7E488B488BA2 -484A7380A3488BA2488BA24B85A2488BA4482080A6B61EC0B06C2080A56C20006F61A36C -67A36C67A26F616C67A26C6770606C67A26C6F95B65A6D66705F6D9BC7FC6D6E4D5CA26D -6E4D5C6D6E4D5C6D6E4D5C6D6E4D5C6D6F4C5C6E6E93B65A6E02F0030392C8FC020F02FC -030F14FC6E02FF033F5C6E03E049B65A020003FE011F15C0033F91B9C9FC6F61030719F8 -030019C0043F95CAFC040717F8DC007F1680050703F8CBFCDD000F01FCCCFC7A7178EF8B ->II<95261FFFF0EE03FF0507B65E057F03E05D0407B712FC041F04FF5D93 -B912C00303725C030F06F85C033F844BDBC00F01FF91B5FC4AB600FCC76E5A4A03E0021F -13C0020F038002076D5A4A92C8000113F04A02FC6F6D5A4A4A706C5A91B648EE1FFE4903 -C0706C5A49745B494B18BF4992CA6C90B6FC494A83494A83A2494A8490B6855E48885E48 -885E4888A2485D895A93CCFCA25AA25DA25AA55DB6FCB07EA281A47EA3817EA36C81A27E -A2826C64A26C6F60A26C6F606D63826D636D6E95B7FC6D6E5F646D6E5F6D6F5E6D6F5E6D -6F5E6E6E5E6E6E923801FFF76E6E030713E7020702FF4B13C76E03C0027F1387020003F0 -0103B512076F02FF013F13FC031F92B612F8030718E0030118806F6CEEFE00040F16F804 -0116C0DC001F4AC7FCDD007F13C095CAFCB3B2090FBA1280AA9BC71207899F77EE93>I< -4BB46CEC3FFC013FB64AB512C0B8020714F8071F14FE077F6E7E4EB77E4E16F04E824ED9 -E03F7F4EEB007FDE3FFC90B57E95267FF0018019C0D8000F4C484815800101038113006D -4C4915C0EF83FC6EEC87F8A2EF8FF060179F60A2DDBF806D1580A205FFC76C1500A2745C -4D6F5B755B755B4D030713C0090190C7FC98C9FC5FA55FA65FB3B3B2BBFCAA02E0C7123F -626F78EE72>I<93263FFFFCEC03E0031FB600E0EB0FF092B700FE133F02079338FF807F -023FEFE1FF91BBFC1303499138F0000F011F01FCC8FC4901E0151F49018015034948C97E -4849707E4849834849834A8348855C48854A835AA24885A4B56C187FA3808080806E725A -6E6C94C8FC15E015FCEDFF806C15F8EEFFE0EFFF806C17FCF0FFE06C18FCF1FF806C19F0 -1AFC6C19FF6C866C1AE06C866D19FC6D856D856D860103866D866D6C85021F8514070201 -85DA003F841507DB007F831601DC000F1780EF003F1801DE001F15C019071901736C14E0 -D83FC0181F486C8400FF85866D8486A2877FA2877F1DC07FA27F1D8080636E1A00806E4E -5AA26E616E5F6E4D5B6E6C4C5B6F5E6F4C5B03F8047F5B03FF4BB55A04E0021F91C7FC02 -BF01FE0103B512FC021F90B85AD9FE0718E0D9F8036049C695C8FC01C0013F16F8490107 -16C090C84BC9FC007C030791CAFC5B7177EF6E>I[87 -158 123 284 108 III<267FFFC049B500C0912607FFFC903801FFF891B894B7FCAAC700 -0F0380C9001F4AC8FC6E6F040391C9FC7713FC6E6F606E6F4C5B6E6F4C5B6F6E5E535B6F -6E4C5B6F6E4C90CAFC6F6F4B5A6F6F5E6F4E5B734A5B6F6F5C6F6F4A5B706E4A5B706E4A -5B9BCBFC706E4A5A706F495A706F5A706F485B704C5B74485B706F485B7102FC5C716E48 -90CCFC716E485A1BFF715E715E715E715E715E647292CDFC84847281A272817281728172 -81858896B67E884E824E82604E824E824E824E6D804F7EDEFFFC814D496C804D6E814D49 -6C814D496C814D13C04D496C8196C7814D486E804D486E804C824C49834C496E814C496E -814E6E814C496E814C90C8FC4C486F8104FF71804B4970804B4970804B5B4D70814B4970 -814B4970814B72814B90CB814B5A4A49728002076D728049B600E07180B9047FB912C0AA -9026FC000108F8C77E8A6E7CED93>120 D<267FFFC049B500C0922603FFF8EB1FFE91B8 -95B6FCAAC76C02F8CB0007ECF00071DE007F90C7FC6EF43FFC836E525A836E525A846E51 -5BA2725F6E65846E515B846E5190C8FC846F505A846F505AA26F6E4D5AA27217FF6F6385 -6F4F5B856F4F5B856F4F5B856F4F90C9FCA2735D706185704E5A85704E5A85704E5A8670 -4D5BA2745B706186704D5B86704D90CAFC86714C5A86714C5AA2716E495AA27413FF715F -877103815B1BC17103C35B1BE37103E75B1BF77192B5CBFCA3725DA2725DA2725DA2725D -A2725DA3725DA2725DA27292CCFCA2735BA2735BA2735BA3735BA2735BA2735BA24F5BA2 -4F90CDFCA26162A24F5AA24F5AA24F5AEB7FE02601FFF84B5B000713FE486D5D486E5E48 -6E5C6248804E90CEFCA2B66C4A5A183F614E5AA24E5A4D5B5F6C4A495B4D5B4D90CFFC6C -4A5B4B495A6C91C7485A4A01035B6C01BC010F5B6C01F0013F13C0DAFC01B55A6C90B7D0 -FC6C16FC6C6C5D6D15E0010F158001034AD1FC010014F0020F90D2FC879F7BED93>I -E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - @landscape -%%EndSetup -%%Page: 1 1 -1 0 bop -45 -282 5906 7 v -45 -44 a Fh(The)93 b(LogiCal)i(team)p --45 11 V -45 636 a Fg(Lo)5 b(cated)63 b(on)g(t)-5 b(w)g(o)63 -b(sites)-45 1097 y(-)g(INRIA-Ro)5 b(cquencourt)62 b(\(4)i(p)5 -b(ermanen)-5 b(t)61 b(+)h(3)h(PhD)g(studen)-5 b(ts\))-45 -1455 y(-)63 b(Orsa)-5 b(y)62 b(Univ)-5 b(ersit)g(y)61 -b(and)h(CNRS)h(\(4)h(p)5 b(ermanen)-5 b(t)61 b(+)h(4)i(PhD)f(studen)-5 -b(ts\))-45 1916 y(Both)63 b(close)f(to)i(P)-5 b(aris)5860 -4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 4204 a Ff(15)43 -b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 -b(cquencourt)1179 b Ff(P)m(age)43 b(1)p eop -%%Page: 2 2 -2 1 bop -45 -282 5906 7 v -45 -44 a Fh(LogiCal:)126 b(main)94 -b(activities)p -45 11 V -45 636 a Fg(-)63 b(F)-16 b(undamen)-5 -b(tal)61 b(researc)-5 b(h)62 b(on)h(pro)5 b(of)63 b(theory)-45 -994 y(-)g(Dev)-5 b(elopmen)g(t)60 b(of)i(the)h(Co)5 b(q)63 -b(pro)5 b(of)63 b(assistan)-5 b(t)-45 1351 y(-)63 b(Pro)5 -b(of)63 b(dev)-5 b(elopmen)g(t)60 b(in)i(Co)5 b(q)5860 -4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 4204 a Ff(15)43 -b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 -b(cquencourt)1179 b Ff(P)m(age)43 b(2)p eop -%%Page: 3 3 -3 2 bop -45 -282 5906 7 v -45 -44 a Fh(The)93 b(Co)8 -b(q)94 b(pro)8 b(of)94 b(assistan)-8 b(t)p -45 11 V -45 -636 a Fg(Based)63 b(on)g(the)f(Calculus)g(of)h(Inductiv)-5 -b(e)60 b(Constructions)-45 994 y(-)j(A)g(logical)f(strength)h -(comparable)e(to)i(ZF)-45 1351 y(-)g(The)f(functional)f(expressivit)-5 -b(y)61 b(of)h(\(a)i(higher-order\))d(ML)-45 1709 y(-)i(The)f(logical)g -(expressivit)-5 b(y)60 b(of)j(natural)f(deduction)g(and)g(inductiv)-5 -b(ely)59 b(de\014ned)-45 1985 y(prop)5 b(ositions)-45 -2549 y(Not)64 b(as)f(automatized)f(as)i(PVS,)g(A)-5 b(CL2,)63 -b(...)85 b(for)63 b(pro)5 b(of-of-programs)-45 2907 y(Pro)g(of)64 -b(scripting)d(not)i(as)h(mathematician-readable)59 b(as)64 -b(Mizar)5860 4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 -4204 a Ff(15)43 b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g -(Ro)5 b(cquencourt)1179 b Ff(P)m(age)43 b(3)p eop -%%Page: 4 4 -4 3 bop -45 -282 5906 7 v -45 -44 a Fh(A)93 b(Co)8 b(q)94 -b(script)p -45 11 V -45 649 a Fd(Fixpoint)g(minus)e([n:nat])h(:)e(nat)h -(->)f(nat)g(:=)136 893 y([m:nat]Cases)k(n)c(m)g(of)1040 -1137 y(O)g(_)f(=>)i(O)769 1381 y(|)e(\(S)i(k\))f(O)g(=>)g(\(S)g(k\))769 -1625 y(|)f(\(S)i(k\))f(\(S)g(l\))g(=>)g(\(minus)i(k)e(l\))678 -1868 y(end.)-45 2356 y(Lemma)i(minus_plus_simpl)j(:)678 -2600 y(\(n,m,p:nat\)\(\(min)q(us)h(n)91 b(m\)=\(minus)j(\(plus)e(p)f -(n\))g(\(plus)h(p)f(m\)\)\).)-45 2844 y(Proof.)136 3088 -y(Induction)j(p;)d(Simpl;)i(Auto)f(with)g(arith.)-45 -3331 y(Qed.)5860 4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 -v -45 4204 a Ff(15)43 b(Mars)g(2002)812 b Fe(LogiCal)60 -b(team)d(-)h(INRIA)g(Ro)5 b(cquencourt)1179 b Ff(P)m(age)43 -b(4)p eop -%%Page: 5 5 -5 4 bop -45 -282 5906 7 v -45 -44 a Fh(A)93 b(Co)8 b(q)94 -b(script)p -45 11 V -45 635 a Fd(Coq)e(<)f(Print)h(minus_plus_simpl.) --45 879 y([n,m,p:nat])46 1123 y(\(nat_ind)h([n0:nat]\(minus)j(n)91 -b(m\)=\(minus)j(\(plus)e(n0)f(n\))h(\(plus)g(n0)f(m\)\))226 -1366 y(\(refl_equal)k(nat)d(\(minus)g(n)f(m\)\))226 1610 -y([p0:nat;)j(IHp:\(\(minus)h(n)90 b(m\)=\(minus)k(\(plus)f(p0)e(n\))g -(\(plus)i(p0)e(m\)\)\)]IHp)i(p\))407 1854 y(:)e(\(n,m,p:nat\)\(minus)97 -b(n)91 b(m\)=\(minus)j(\(plus)e(p)f(n\))g(\(plus)i(p)d(m\)\))5860 -4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 4204 a Ff(15)43 -b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 -b(cquencourt)1179 b Ff(P)m(age)43 b(5)p eop -%%Page: 6 6 -6 5 bop -45 -282 5906 7 v -45 -44 a Fh(Rendered)94 b(b)-8 -b(y)93 b(HELM)p -45 11 V -45 602 a Fc(DEFINITION)54 b -(minus_plus_simpl\(\))-45 744 y(TYPE)h(=)339 886 y(for)g(all)f -(n:nat.for)g(all)h(m:nat.for)f(all)g -(p:nat.\(\(n-m\)=\(\(p+n\)-\(p+m\)\)\))-45 1028 y(BODY)h(=)339 -1170 y(lambda)g(n:nat)449 1313 y(lambda)f(m:nat)559 1455 -y(lambda)g(p:nat)669 1597 y(We)g(prove)h -(\(\(n-m\)=\(\(p+n\)-\(p+m\)\)\))669 1739 y(by)f(induction)g(on)h(p)888 -1882 y(Case)g(O)1108 2024 y(\(refl_equal)e(.)i(.\))1163 -2166 y(we)f(proved)109 b(\(\(n-m\)=\(n-m\)\))888 2308 -y(Case)55 b(\(S)f(n0:nat\))1108 2450 y(By)g(induction)g(hypothesis,)g -(we)h(have:)1108 2593 y(\(H\))f(\(\(n-m\)=\(\(n0+n\)-\(n0+m\)\)\))1108 -2735 y(H)669 2877 y(we)g(proved)g(\(\(n-m\)=\(\(p+n\)-\(p+m\)\)\))394 -3019 y(we)h(proved)109 b(for)54 b(all)h(n:nat.)f(for)h(all)f(m:nat.)h -(for)f(all)h(p:nat.)f(\(\(n-m\)=\(\(p+n\)-\(p+m\)\)\))5860 -4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 4204 a Ff(15)43 -b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 -b(cquencourt)1179 b Ff(P)m(age)43 b(6)p eop -%%Page: 7 7 -7 6 bop -45 -282 5906 7 v -45 -44 a Fh(Main)93 b(Co)8 -b(q)94 b(libraries)p -45 11 V -45 647 a Fg(-)63 b(Arithmetic)e(\(P)-5 -b(eano)63 b(n)-5 b(um)g(b)5 b(ers)61 b(and)i(binary)e(in)-5 -b(tegers\))-45 1004 y(-)63 b(Axiomatized)e(real)h(n)-5 -b(um)g(b)5 b(ers)61 b(\(deriv)-10 b(abilit)-5 b(y)-16 -b(,)59 b(trigonometry)-16 b(,)62 b(series,)h(...\))-45 -1362 y(-)g(Algebra)f(\(algebraic)g(structures,)i(fundamen)-5 -b(tal)60 b(theorem)i(of)h(algebra,)-45 1638 y(categories,)g(...\))-45 -1996 y(-)g(Sets,)g(relations,)g(orders,)g(logics)-45 -2353 y(-)g(Planar)f(geometry)-45 2711 y(-)h(Computer)f(science)f -(structures)i(\(b)5 b(o)g(oleans,)64 b(lists,)f(maps,)g(automatas,)h -(...\))-45 3068 y([13)g(standard)f(libraries)e(+)h(70)i(extra)e(user)h -(con)-5 b(tributions])5860 4036 y - 0 setgray - 5860 4036 a -45 3997 -5906 10 v -45 4204 a Ff(15)43 b(Mars)g(2002)812 b Fe(LogiCal)60 -b(team)d(-)h(INRIA)g(Ro)5 b(cquencourt)1179 b Ff(P)m(age)43 -b(7)p eop -%%Page: 8 8 -8 7 bop -45 -282 5906 7 v -45 -44 a Fh(The)93 b(Bologna)i(HELM)d(exp)8 -b(erimen)-8 b(t)p -45 11 V -45 636 a Fg(Exp)5 b(ort)63 -b(of)g(Co)5 b(q)63 b(formal)e(pro)5 b(ofs)64 b(to)f(XML)g(format)-45 -994 y(Application)e(of)i(XSL)-16 b(T)63 b(\014lters)g(for)f(output)h -(in)-45 1351 y(-)g(Natural)g(language)-45 1709 y(-)g(MathML)g(Con)-5 -b(ten)g(t)-45 2066 y(-)63 b(MathML)g(presen)-5 b(tation)-45 -2424 y(Computation)62 b(of)h(the)g(dep)5 b(endency)60 -b(graph)5860 4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 -4204 a Ff(15)43 b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g -(Ro)5 b(cquencourt)1179 b Ff(P)m(age)43 b(8)p eop -%%Page: 9 9 -9 8 bop -45 -282 5906 7 v -45 -44 a Fh(Our)93 b(problems)p --45 11 V -45 636 a Fg(-)63 b(Classi\014cation)-45 994 -y(-)g(Retrieving)-45 1351 y(-)g(Pro)5 b(of)63 b(rendering)-45 -1709 y(-)g(Mo)5 b(dularit)-5 b(y)5860 4036 y - 0 setgray - 5860 4036 -a -45 3997 5906 10 v -45 4204 a Ff(15)43 b(Mars)g(2002)812 -b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 b(cquencourt)1179 -b Ff(P)m(age)43 b(9)p eop -%%Page: 10 10 -10 9 bop -45 -282 5906 7 v -45 -44 a Fh(Classifying)p --45 11 V -45 647 a Fg(-)63 b(Thematically)d(\(but)j(sometimes)e(at)j -(the)e(in)-5 b(tersection)62 b(of)g(sev)-5 b(eral)62 -b(\014elds\))-45 1004 y(-)h(By)f(author)-45 1362 y(-)h(By)f(v)-5 -b(ersion)61 b(of)i(Co)5 b(q)-45 1719 y(Curren)-5 b(tly)-16 -b(,)62 b(classi\014ed)f(b)-5 b(y)62 b(v)-5 b(ersion,)62 -b(site,)h(theory)g(+)f(thematic)g(cross)-45 1996 y(classi\014cation) -5860 4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 4204 a -Ff(15)43 b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 -b(cquencourt)1116 b Ff(P)m(age)43 b(10)p eop -%%Page: 11 11 -11 10 bop -45 -282 5906 7 v -45 -44 a Fh(Retrieving)p --45 11 V -45 647 a Fg(-)63 b(By)f(pattern)h(\(but)g(ho)-5 -b(w)62 b(to)i(iden)-5 b(tify)60 b Fb(n)53 b(<)f(p)41 -b Fg(+)h(1)63 b(and)g Fb(n)52 b Fa(\024)g Fb(p)p Fg(\))-45 -1004 y(-)63 b(By)f(isomorphism)e(\(e.g.)85 b Fb(A)53 -b Fa(!)f(8)p Fb(x:B)9 b Fg(\()p Fb(x)p Fg(\))53 b Fa(!)f -Fb(C)66 b Fa(\021)52 b(8)p Fb(x:B)9 b Fg(\()p Fb(x)p -Fg(\))42 b Fa(^)g Fb(A)53 b Fa(!)e Fb(C)13 b Fg(\))-45 -1362 y(-)63 b(By)f(name)g(\(but)h(no)f(standard:)85 b(e.g.)f(comm)-5 -b(utativit)g(y)60 b(is)j(sometimes)e(called)-45 1638 -y(symmetry\))5860 4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 -v -45 4204 a Ff(15)43 b(Mars)g(2002)812 b Fe(LogiCal)60 -b(team)d(-)h(INRIA)g(Ro)5 b(cquencourt)1116 b Ff(P)m(age)43 -b(11)p eop -%%Page: 12 12 -12 11 bop -45 -282 5906 7 v -45 -44 a Fh(Pro)8 b(of)94 -b(rendering)p -45 11 V -45 647 a Fg(-)63 b(T)-16 b(o)63 -b(b)5 b(e)63 b(able)f(to)i(render)d(a)i(pro)5 b(of)63 -b(in)f(h)-5 b(uman-understandable)60 b(format)i(\(cf)-45 -923 y(HELM)h(and)g(Natural)g(exp)5 b(erimen)-5 b(ts\),)61 -b(but)i(still)e(problem)g(with)i(the)f(detail)-45 1199 -y(lev)-5 b(els)-45 1557 y(-)63 b(Con\015ict)f(b)5 b(et)-5 -b(w)g(een)62 b(v)-5 b(erb)5 b(osit)-5 b(y)61 b(and)i(automation)5860 -4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 4204 a Ff(15)43 -b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 -b(cquencourt)1116 b Ff(P)m(age)43 b(12)p eop -%%Page: 13 13 -13 12 bop -45 -282 5906 7 v -45 -44 a Fh(Mo)8 b(dularit)-8 -b(y)p -45 11 V -45 636 a Fg(-)63 b(Curren)-5 b(tly)61 -b(no)i(mo)5 b(dule)-45 994 y(-)63 b(T)-16 b(o)63 b(b)5 -b(e)63 b(able)f(to)i(express)e(theories)g(indep)5 b(enden)-5 -b(tly)59 b(of)k(a)g(sp)5 b(eci\014c)-45 1270 y(implemen)-5 -b(tation)-45 1628 y(Relations)62 b(with)h(OMDo)5 b(c?)5860 -4036 y - 0 setgray - 5860 4036 a -45 3997 5906 10 v -45 4204 a Ff(15)43 -b(Mars)g(2002)812 b Fe(LogiCal)60 b(team)d(-)h(INRIA)g(Ro)5 -b(cquencourt)1116 b Ff(P)m(age)43 b(13)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF \ No newline at end of file diff --git a/helm/mowgli/home/misc/kick-off/lemme2.ppt b/helm/mowgli/home/misc/kick-off/lemme2.ppt deleted file mode 100644 index 4d686a39c..000000000 Binary files a/helm/mowgli/home/misc/kick-off/lemme2.ppt and /dev/null differ diff --git a/helm/mowgli/home/misc/proposal/MOWGLI.xls b/helm/mowgli/home/misc/proposal/MOWGLI.xls deleted file mode 100644 index 7b22c586e..000000000 Binary files a/helm/mowgli/home/misc/proposal/MOWGLI.xls and /dev/null differ diff --git a/helm/mowgli/home/misc/proposal/mowgli.pdf b/helm/mowgli/home/misc/proposal/mowgli.pdf deleted file mode 100644 index 0dbd1ec59..000000000 Binary files a/helm/mowgli/home/misc/proposal/mowgli.pdf and /dev/null differ diff --git a/helm/mowgli/home/misc/proposal/mowgli.ps b/helm/mowgli/home/misc/proposal/mowgli.ps deleted file mode 100644 index c1a623589..000000000 --- a/helm/mowgli/home/misc/proposal/mowgli.ps +++ /dev/null @@ -1,9679 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software -%%Title: mowgli.dvi -%%Pages: 49 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -o mowgli.ps mowgli.dvi -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2001.11.26:1651 -%%BeginProcSet: texc.pro -%! -/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S -N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 -mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 -0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ -landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize -mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ -matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round -exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ -statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] -N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin -/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array -/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 -array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N -df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A -definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get -}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} -B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: special.pro -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ -psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 -roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath -moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict -begin/SpecialSave save N gsave normalscale currentpoint TR -@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ -CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto -closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx -sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR -}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse -CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury -lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N -/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} -repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N -/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX -currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY -moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X -/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 -1 startangle endangle arc savematrix setmatrix}N end - -%%EndProcSet -TeXDict begin 39158280 55380996 1000 600 600 (mowgli.dvi) -@start -%DVIPSBitmapFont: Fa cmcsc10 10.95 39 -/Fa 39 119 df<140C141C147814F0EB01E0EB03C0EB0780130F1400131E133E5B137813 -F85B1201485AA212075BA2485AA2121FA290C7FC5AA3123E127EA65AB2127EA6123E123F -A37E7FA2120FA26C7EA27F1203A26C7E12007F1378137C7F131E7F14801307EB03C0EB01 -E0EB00F01478141C140C165A76C328>40 D<12C07E12787E7E7E6C7E7F12036C7E7F6C7E -1378137C133C133E7FA21480130FA2EB07C0A214E0A2130314F0A3130114F8A6EB00FCB2 -EB01F8A614F01303A314E01307A214C0A2EB0F80A2131F1400A2133E133C137C137813F8 -485A5B485A12075B48C7FC121E5A5A12E05A165A7AC328>I45 -D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A77891D>I65 -DIIII71 DI<0107B6FCA3D9000113 -C06E1380157FB3B3A6123F487E487EA4EDFF005B6CC75A007C13010038495A003C5C6C49 -5A6C6C485A3903E03F802600FFFEC7FCEB1FF028407BBD34>74 D76 DII80 D83 D97 DIIIIII -II<90383FFFFCA3903800 -7FC0EC3F80B3AD1218127EB4FCA3EC7F005A007C137E007813FE383C01F8381F03F03807 -FFC0C648C7FC1E307CAE27>III< -D8FFFE923807FFF0A3D803FF92380FFC006C5FD9DF80141DA3D9CFC01439A2D9C7E01471 -A3D9C3F014E1A2D9C1F8EB01C1A3D9C0FCEB0381A2027EEB0701A36E130EA291381F801C -A391380FC038A2913807E070A3913803F0E0A3913801F9C0A2913800FF80A3486CEB7F00 -487E486C013E497EB5008091B512F0A2151C3C2F7CAE44>IIIIII<90383FC00C9038FFF81C -0003EBFE3C390FE03FFC381F8007EB0003003E1301481300157C5A153CA36C141CA27E6C -14006C7E13E013FE383FFFE06C13FE6CEBFF806C14E0000114F06C6C13F8010F13FC1300 -EC07FE14011400157F153F12E0151FA37EA2151E6C143E6C143C6C147C6C14F89038C001 -F039FBF807E000F1B512C0D8E07F130038C007FC20317BAF2A>I<007FB712F8A3903980 -1FF0073A7E000FE00000781678A20070163800F0163CA348161CA5C71500B3A8EC3FF801 -1FB512F0A32E2E7CAD36>III E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb cmtt10 10.95 46 -/Fb 46 121 df<007FB612F0A2B712F8A36C15F0A225077B9E30>45 -D<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED -03F8A21507A2ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA2 -4A5AA24A5AA24A5AA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA249 -5AA249C8FCA2485AA25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127C -A225477BBE30>I<14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C6138049 -137F4848EB3FC04848EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FC -A400FEEC00FEAD6C14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB -1FE0A26C6CEB3FC06C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5B -D900FEC7FC273A7CB830>I -III<49B4FC011F13F0017F13FC90B57E0003ECFF804815C048010113E03A1FF800 -3FF049131FD83FC0EB07F8A24848EB03FC90C71201A56D1303003F15F86D13076C6CEB0F -F06C6CEB1FE0D807FCEB7FC03A03FF83FF806C90B512006C6C13FC011F13F0497F90B512 -FE48802607FE0013C0D80FF8EB3FE0D81FE0EB0FF04848EB07F8491303007F15FC90C712 -014815FE481400A66C14016C15FC6D1303003F15F86D1307D81FF0EB1FF06D133F3A0FFF -01FFE06C90B512C06C1580C6ECFE006D5B011F13F0010190C7FC273A7CB830>56 -D<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7FE0A2 -EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>58 D64 D<003FB512E04814FCB67E6F7E6C816C813A03 -F8007FF0ED1FF8150F6F7E6F7E15016F7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17 -C0A3163F1780A2167F17005E4B5A15034B5A150F4B5AED7FF0003FB65A485DB75A93C7FC -6C14FC6C14E02B387FB730>68 D<007FB7FCB81280A47ED803F8C7123FA8EE1F0093C7FC -A4157C15FEA490B5FCA6EBF800A4157C92C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16 -C02B387EB730>I<003FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F8093C7FCA515 -3E157FA490B6FCA69038FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB7 -30>I<3B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E0D803F8C7EA -FE00B290B6FCA601F8C7FCB3A23B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F0 -6C496C13E02D387FB730>72 D<007FB6FCB71280A46C1500260007F0C7FCB3B3A8007FB6 -FCB71280A46C1500213879B730>I<383FFFF8487FB57EA26C5B6C5BD801FCC9FCB3B0EE -0F80EE1FC0A9003FB7FC5AB8FCA27E6C16802A387EB730>76 DI<007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03 -FE15016F7EA2821780163FA6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804B -C7FC15F001F8C9FCB0387FFFC0B57EA46C5B29387EB730>80 D<003FB57E4814F0B612FC -15FF6C816C812603F8017F9138003FF0151F6F7E15071503821501A515035E1507150F4B -5A153F4AB45A90B65A5E93C7FC5D8182D9F8007FED3FE0151F150F821507A817F8EEF1FC -A53A3FFF8003FB4801C0EBFFF8B56C7E17F06C496C13E06C49EB7FC0C9EA1F002E397FB7 -30>82 D<90390FF803C0D97FFF13E048B512C74814F74814FF5A381FF80F383FE001497E -4848137F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C -13FF6C14E0000114F86C80011F13FF01031480D9003F13C014019138007FE0151FED0FF0 -A2ED07F8A2007C140312FEA56C140716F07F6DEB0FE06D131F01F8EB3FC001FF13FF91B5 -1280160000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB830>I<003FB712C04816E0 -B8FCA43AFE003F800FA8007CED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B387EB7 -30>I<3B7FFFC007FFFCB56C4813FEA46C496C13FCD803F8C7EA3F80B3B16D147F000116 -00A36C6C14FE6D13016D5CEC800390393FE00FF890391FF83FF06DB55A6D5C6D5C6D91C7 -FC9038007FFCEC1FF02F3980B730>I<3A3FFF01FFF84801837F02C77FA202835B6C0101 -5B3A01FC007F806D91C7FC00005C6D5BEB7F01EC81FCEB3F8314C3011F5B14E7010F5B14 -FF6D5BA26D5BA26D5BA26D90C8FCA4497FA2497FA2815B81EB0FE781EB1FC381EB3F8181 -EB7F0081497F49800001143F49800003141F49800007140FD87FFEEB7FFFB590B5128080 -A25C6C486D130029387DB730>88 D97 DII<913801FFE04A7F5CA28080EC0007AAEB03FE -90381FFF874913E790B6FC5A5A481303380FFC00D81FF0133F49131F485A150F48481307 -90C7FCA25AA25AA87E6C140FA27F003F141F6D133F6C7E6D137F390FF801FF2607FE07EB -FFC06CB712E06C16F06C14F76D01C713E0011F010313C0D907FCC8FC2C397DB730>I<49 -B4FC010713E0011F13F8017F7F90B57E488048018113803A07FC007FC04848133FD81FE0 -EB1FE0150F484814F0491307127F90C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003F -EC01F06DEB03F86C7E6C7E6D1307D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14 -806DEBFE00010713F8010013C0252A7CA830>IIII<14E0EB03F8A2497EA36D -5AA2EB00E091C8FCA9381FFFF8487F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E -6C15C023397AB830>III<387FFFF8 -B57EA47EEA0001B3B3A8007FB612F0B712F8A46C15F025387BB730>I<02FC137E3B7FC3 -FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F13872607FE07EB03F801FC13FE -9039F803FC01A201F013F8A301E013F0B3A23C7FFE0FFF07FF80B548018F13C0A46C486C -01071380322881A730>II<49B4FC010F13E0013F13 -F8497F90B57E0003ECFF8014013A07FC007FC04848EB3FE0D81FE0EB0FF0A24848EB07F8 -491303007F15FC90C71201A300FEEC00FEA86C14016C15FCA26D1303003F15F86D13076D -130F6C6CEB1FF06C6CEB3FE06D137F3A07FF01FFC06C90B512806C15006C6C13FC6D5B01 -0F13E0010190C7FC272A7CA830>II<49B413F8010FEBC1FC013F13F14913FD48B6FC5A481381390FFC007F49131F48 -48130F491307485A491303127F90C7FC15015A5AA77E7E15037FA26C6C1307150F6C6C13 -1F6C6C133F01FC137F3907FF01FF6C90B5FC6C14FD6C14F9013F13F1010F13C1903803FE -0190C7FCAD92B512F84A14FCA46E14F82E3C7DA730>II<90381FFC1E48B5 -129F000714FF5A5A5A387FF007EB800100FEC7FC4880A46C143E007F91C7FC13E06CB4FC -6C13FC6CEBFF806C14E0000114F86C6C7F01037F9038000FFF02001380007C147F00FEEC -1FC0A2150F7EA27F151F6DEB3F806D137F9039FC03FF0090B6FC5D5D00FC14F0D8F83F13 -C026780FFEC7FC222A79A830>III<3B3FFFC01FFFE0486D4813F0 -B515F8A26C16F06C496C13E0D807E0C7EA3F00A26D5C0003157EA56D14FE00015DEC0F80 -EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2ECFDF9017C5C14F8A3017E13FBA290393FF07F -E0A3ECE03FA2011F5C90390F800F802D277FA630>119 D<3A3FFF81FFFC4801C37FB580 -A26C5D6C01815BC648C66CC7FC137FEC80FE90383F81FC90381FC3F8EB0FE3ECE7F06DB4 -5A6D5B7F6D5B92C8FC147E147F5C497F81903803F7E0EB07E790380FE3F0ECC1F890381F -81FC90383F80FE90387F007E017E137F01FE6D7E48486D7E267FFF80B5FCB500C1148014 -E3A214C16C0180140029277DA630>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmmi10 10.95 3 -/Fc 3 83 df<133F14E0EB07F0EB03FC13016D7EA3147FA26E7EA36E7EA36E7EA36E7EA3 -6E7EA26E7EA36E7EA3157FA36F7E157F15FF4A7F5C913807CFE0EC0F8FEC1F0F91383E07 -F0147C14FC49486C7EEB03F0EB07E049486C7EEB1F80EB3F00496D7E13FE4848147F485A -485A4848EC3F80485A123F4848EC1FC048C8FC4816E048150F48ED07F0007015032C407B -BE35>21 D<49B712F018FF19C0D9000190C76C7EF00FF84BEC03FC1801020382727E5DA2 -14071A805DA2140F4E13005DA2021F5E18034B5D1807023F5E4E5A4B4A5A4E5A027F4B5A -06FEC7FC4BEB03FCEF3FF091B712C005FCC8FC92CBFCA25BA25CA21303A25CA21307A25C -A2130FA25CA2131FA25CA2133FA25C497EB612E0A3413E7DBD3A>80 -D<49B77E18F818FFD90001D900017F9438003FE04BEC0FF0727E727E14034B6E7EA30207 -825DA3020F4B5A5DA24E5A141F4B4A5A614E5A023F4B5A4B4A5A06FEC7FCEF03FC027FEC -0FF04BEBFF8092B500FCC8FC5F9139FF8001FE92C7EA7F80EF1FC084496F7E4A1407A284 -13035CA2170F13075C60171F130F5CA3011F033F5B4AEE038018E0013F17071A004A021F -5B496C160EB600E090380FF01E05075B716C5ACBEAFFE0F03F8041407DBD45>82 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmti10 10.95 52 -/Fd 52 123 df<933807FF80043F13E09338FE00F8DB01F0133EDB07E0130E4B48131F4C -137F031F14FF4BC7FCA218FE157E1878180015FE5DA31401A25DA414030103B712F0A218 -E0903A0003F000070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F177EA214 -3F92C712FE5FA34A1301027EECF81CA3160302FEECF03C4A1538A21878187013014A0101 -13F018E0933800F1C0EF7F804948EC1F0094C7FCA35C1307A2001E5B127F130F00FF5BA2 -49CAFC12FEEAF81EEA703CEA7878EA1FF0EA07C0385383BF33>12 -D39 D44 D<387FFFFCA3B5FCA21605799521>I<120FEA3FC0127FA212FFA3 -1380EA7F00123C0A0A77891C>I<15FE913807FF8091381F07C091387C01F0ECF0004948 -13F8494813780107147C495A49C7FC167E133E137EA25BA2485AA2000315FEA25B000715 -FCA2491301120FA34848EB03F8A44848EB07F0A448C7EA0FE0A316C0007E141F12FE1680 -153FA2481500A2157EA25DA25D4813015D6C495A127C4A5A4A5A6C49C7FC143E6C5B380F -C1F03803FFC0C648C8FC273F76BC2E>48 D<15FE913803FFC091380F01F091383C00F84A -137C4A7F4948133F49487F4A148049C7FC5BEB0E0C011E15C0EB1C0EEB3C061338137813 -70020E133FD9F00C148013E0141C0218137F00011600EBC0384A13FEEC600102E05B3A00 -E3C003F89039FF0007F0013C495A90C7485A5E037FC7FC15FC4A5A4A5AEC0FC04AC8FC14 -7E14F8EB03E0495A011FC9FC133E49141801F0143C48481438485A1678485A48C85A120E -001E4A5AD83FE0130301FF495A397C3FF01FD8780FB55AD8700391C7FCD8F0015B486C6C -5A6E5AEC07C02A3F79BC2E>50 D<131EEB3F80137FEBFFC05AA214806C13005B133C90C7 -FCB3120FEA3FC0127FA212FFA35B6CC7FC123C122777A61C>58 D<171C173C177CA217FC -A216011603A21607A24C7EA2161DA216391679167116E1A2ED01C1A2ED03811507160115 -0EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C140E5C021FB6FC4A81A20270C7 -127FA25C13015C495AA249C8FCA2130E131E131C133C5B01F882487ED807FEEC01FFB500 -E0017FEBFF80A25C39417BC044>65 D<9339FF8001C0030F13E0033F9038F803809239FF -807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F8 -6E5A495A130F4948157E4948157C495A13FF91C9FC4848167812035B1207491670120FA2 -485A95C7FC485AA3127F5BA312FF5BA490CCFCA2170FA2170EA2171E171C173C17381778 -6C16706D15F04C5A003F5E6D1403001F4B5A6D4AC8FC000F151E6C6C5C6C6C14F86C6C49 -5A6C6CEB07C090397FC03F8090261FFFFEC9FC010713F0010013803A4272BF41>67 -D<49B712C018F818FE903B0003FE0003FF9438007F804BEC1FC0F00FE0F007F014074BEC -03F8F001FCA2140F4BEC00FEA3141F4B15FFA3143F5DA3027F5D5DA219FE14FF92C81203 -A34917FC4A1507A219F813034A150F19F0A20107EE1FE05CF03FC0A2010FEE7F804A1600 -6060011F4B5A4A4A5A4D5AA2013F4B5A4AEC3FC04DC7FC017F15FEEE03FC4AEB0FF001FF -EC7FE0B8128004FCC8FC16E0403E7BBD45>I<49B812F8A390260003FEC7121F18074B14 -031801F000F014075DA3140F5D19E0A2141F4B1338A2EF7801023F027013C04B91C7FCA2 -17F0027F5CED80011603160F91B65AA3ED001F49EC07805CA3010392C8FC5CF003804C13 -070107020E14005C93C75A180E010F161E4A151C183CA2011F5E5C60A2013F15014A4A5A -1707017F150F4D5A4A147F01FF913807FF80B9FCA295C7FC3D3E7BBD3E>I<49B812F0A3 -90260003FEC7123F180F4B1403A2F001E014075DA3140F5D19C0A2141F5D1770EFF00302 -3F02E013804B91C7FCA21601027F5CED8003A2160702FFEB1F8092B5FCA349D9003FC8FC -4A7F82A20103140E5CA2161E0107141C5CA293C9FC130F5CA3131F5CA3133F5CA2137FA2 -5C497EB612E0A33C3E7BBD3B>I<9339FF8001C0030F13E0033F9038F803809239FF807E -07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A -495A130F4948157E4948157C495A13FF91C9FC4848167812035B1207491670120FA2485A -95C7FC485AA3127F5BA312FF5BA30303B512FC90C7FCA2DB000190C7FCA25FA216035FA3 -16076C5E7FA2003F150F6D5D121F6D141F000F153F6C6C4A5A6C6C14F76C6CEB01E36CB4 -EB07C1903A7FC03F81C090391FFFFE00010701F890C8FC010013803A4272BF46>I<49B6 -48B6FC495DA2D9000390C7000313004B5D4B5DA2180714074B5DA2180F140F4B5DA2181F -141F4B5DA2183F143F4B5DA2187F147F4B5DA218FF91B8FC96C7FCA292C712015B4A5DA2 -170313034A5DA2170713074A5DA2170F130F4A5DA2171F131F4A5DA2173F133F4A5DA201 -7F157FA24A5D496C4A7EB66CB67EA3483E7BBD44>I<49B6FC5BA2D9000313005D5DA314 -075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C7FCA35B5CA313035CA313075CA3 -130F5CA3131F5CA3133F5CA2137FA25C497EB67EA3283E7BBD23>I<4AB61280A2180091 -C713C0167F5FA216FF94C7FCA35D5EA315035EA315075EA3150F5EA3151F5EA3153F5EA3 -157FA25EA215FFA293C8FCA25CA25DA2380F8003EA3FC0D87FE05BA21407D8FFC05B140F -01805B49485A12FC0070495A4A5A6C01FEC9FC383C01FC380F07F03807FFC0C648CAFC31 -4079BD30>I<49B612C0A25FD9000390C8FC5D5DA314075DA3140F5DA3141F5DA3143F5D -A3147F5DA314FF92C9FCA35B5CA313035C18C0EF01E0010716C05C17031880130F4A1407 -18005F131F4A141EA2173E013F5D4A14FC1601017F4A5A16074A131F01FFECFFF0B8FCA2 -5F333E7BBD39>76 D<49B5933807FFFC496062D90003F0FC00505ADBBF805E1A771AEF14 -07033F923801CFE0A2F1039F020FEE071F020E606F6C140E1A3F021E161C021C04385BA2 -F1707F143C023804E090C7FCF001C0629126780FE0495A02705FF00700F00E0114F002E0 -031C5BA2F03803010116704A6C6C5D18E019070103ED01C00280DA03805BA2943807000F -13070200020E5C5FDB03F8141F495D010E4B5CA24D133F131E011CDAF9C05CEEFB80197F -013C6DB4C7FC013895C8FC5E01784A5C13F8486C4A5CD807FE4C7EB500F04948B512FE16 -E01500563E7BBD52>I79 D<49B77E18F018FC903B0003FE0003FEEF00FF4BEC7F80 -F03FC00207151F19E05DA2020F16F0A25DA2141FF03FE05DA2023F16C0187F4B1580A202 -7FEDFF00604B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC4990B512FC17E04ACAFCA2 -1303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C497EB67EA33C3E -7BBD3E>II<49B612FCEF -FF8018F0903B0003FE000FF8EF03FE4BEB00FF8419800207ED3FC05DA219E0140F5DA302 -1FED7FC05DA2F0FF80143F4B15004D5A60027F4A5A4B495A4D5AEF3F8002FF02FEC7FC92 -380007F892B512E01780499038000FE04A6D7E707E707E0103814A130083A213075CA25E -130F5C5F1603131F5CA3013F020714404A16E05F017F160119C04A01031303496C1680B6 -D8800113079438FE0F009338007E1ECAEA3FFCEF07F03B407BBD42>I<92391FE00380ED -7FFC913A01FFFE0700913907F01F8F91390FC007DF4AC66CB4FC023E6D5A4A130014FC49 -5A4948147CA2495AA2010F15785CA3011F1570A46E91C7FCA2808014FE90380FFFE015FC -6DEBFF8016E06D806D806D6C7F141F02037FEC003FED07FF1501A281A282A212075A167E -120EA2001E15FE5EA25E003E14015E003F14034B5A486C5C150F6D495A6D49C8FCD8F9F0 -137C39F8FE01F839F03FFFF0D8E00F13C026C001FEC9FC314279BF33>I<48B9FCA25A90 -3AFE001FF00101F89138E0007FD807E0163E49013F141E5B48C75BA2001E147FA2001C4B -131C123C003814FFA2007892C7FC12704A153C00F01738485CC716001403A25DA21407A2 -5DA2140FA25DA2141FA25DA2143FA25DA2147FA25DA214FFA292C9FCA25BA25CA21303A2 -5CEB0FFE003FB67E5AA2383D71BC41>I<277FFFFE01B500FC90B512E0B5FCA200039026 -80000790C7380FFC006C90C701FCEC07F049725A04035EA26350C7FCA20407150EA2040F -5D1A3C041F153862163B6216734F5A6D14E303014B5A6C15C303034BC8FC1683DB070314 -0E191E030E151C61031C7F61ED380161157003F04A5A15E002014B5A15C0DA03804AC9FC -60DA0700140E60140E605C029C5D14B8D97FF85D5C715A5C4A5DA24A92CAFC5F91C7FC70 -5A137E5F137C5F137801705D53406EBD5B>87 D<91B690383FFFFC605E020101E0010F13 -006E49EB07F84C6D5A19C06F6C495A96C7FC033F140E705B183C031F5C705B4D5A030F5C -70485A4DC8FC0307130EEEFC1E5F03035BEEFE705F6F6C5A5FA26F90C9FC83A2707EA216 -FF4B7F5DED079FEE1FF0150EED1C0F03387F1578EDF007DA01E07F15C09138038003DA07 -007F140E021E13014A805C02707F4A81495A4948147F01078249C8FC013F6F7E496C147F -2603FFC049487EB500F8011FEBFFE0A261463E7CBD44>I<147E49B47E903907C1C38090 -391F80EFC090383F00FF017E137F4914804848133F485AA248481400120F5B001F5C157E -485AA215FE007F5C90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370127C -021F13F0007E013F13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D8 -00FC133E252977A72E>97 DIIII<167C4BB4FC923807C78092380F83C0ED1F87161FED3F -3FA2157EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3 -140F5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E -127F5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>III<1478EB01FCA21303A3 -14F8EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA78 -1F00701380A2EAF03F140012005B137E13FE5BA212015BA212035B1438120713E0000F13 -78EBC070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I<15 -07ED1FC0A2153FA31680ED0E0092C7FCADEC07C0EC3FF0EC78F8ECE07CEB01C01303EC80 -7EEB0700A2010E13FE5D131E131CEB3C01A201005BA21403A25DA21407A25DA2140FA25D -A2141FA25DA2143FA292C7FCA25CA2147EA214FEA25CA213015CA2121C387F03F012FF49 -5A5C495A4848C8FCEAF83EEA707CEA3FF0EA0FC0225083BC1C>IIIIII<9039 -03E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07C0013C137801389038E003E0EB -783F017001C013F0ED80019038F07F0001E015F8147E1603000113FEA2C75AA201011407 -17F05CA20103140F17E05CA20107EC1FC0A24A1480163F010F15005E167E5E131F4B5A6E -485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA21201A2 -5BA21203A2387FFFE0B5FCA22D3A80A72E>I114 DII<137C48B4141C26038F80137EEA0707000E7F001E15FE121CD83C0F5C12381501EA -781F007001805BA2D8F03F1303140000005D5B017E1307A201FE5C5B150F1201495CA215 -1F0003EDC1C0491481A2153F1683EE0380A2ED7F07000102FF13005C01F8EBDF0F000090 -38079F0E90397C0F0F1C90391FFC07F8903907F001F02A2979A731>I<017CEB01C048B4 -EB07F038038F80EA0707000E01C013F8121E001C1403EA3C0F0038EC01F0A2D8781F1300 -00705BA2EAF03F91C712E012005B017E130116C013FE5B1503000115805BA2ED07001203 -495B150EA25DA25D1578000114706D5B0000495A6D485AD97E0FC7FCEB1FFEEB03F02529 -79A72A>I<017C167048B491387001FC3A038F8001F8EA0707000E01C015FE001E140300 -1CEDF000EA3C0F0038177C1507D8781F4A133C00701380A2D8F03F130F02004913381200 -5B017E011F14784C137013FE5B033F14F0000192C712E05BA2170100034A14C049137E17 -031880A2EF070015FE170E00010101141E01F86D131C0000D9039F5BD9FC076D5A903A3E -0F07C1E0903A1FFC03FFC0902703F0007FC7FC372979A73C>I<903903F001F890390FFC -07FE90393C1E0E0F9026780F1C138001F0EBB83FD801E013F89039C007F07FEA03800007 -14E0D9000F140048151C000E4AC7FCA2001E131FA2C75BA2143F92C8FCA35C147EA314FE -4A131CA30101143C001E1538003F491378D87F811470018314F000FF5D9039077801C039 -FE0F7C033A7C0E3C078027783C1E1EC7FC391FF80FFC3907E003F029297CA72A>I<137C -48B4143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503D8781F14F0 -00701380A2D8F03F1307020013E012005B017E130F16C013FE5B151F1201491480A2153F -000315005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3FF9EB07E1EB -00035DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C137E00705B3878 -01F0383803E0381E0FC06CB4C8FCEA03F8263B79A72C>II E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmsy10 10.95 1 -/Fe 1 16 df15 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmr8 8 1 -/Ff 1 66 df<4A7E4A7EA34A7EA24A7EA3EC1BF81419A2EC30FCA2EC70FEEC607EA24A7E -A349486C7EA2010380EC000FA201066D7EA3496D7EA2011FB57EA29038180001496D7EA3 -49147EA201E0147F4980A20001ED1F801203000716C0D80FF0EC3FE0D8FFFC0103B5FCA2 -302F7EAE35>65 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmbx12 12 61 -/Fg 61 122 df12 D<157F913803FFC0020F -7F4A7F91383FE1F891387F80789138FF007C49143C495A163E4948131EA3130FA3163E16 -3C167C16786E13F84B5A4B5A15075E6D6C485A4BC70003B512E0153E15FC6D5B5D4B9139 -0007C0004B5E6D6D150F4FC7FC6D6D151E49173E496D5D491778496D15F890261FBFFE4A -5AD93F3F5E9026FE1FFF1403D801FC6E495A00036D5E48486C6D130F000F6F49C8FC001F -6D6D133E48486C6D133C187C007F6D6D5B6F6C485A00FF6E6C485A6FEB87C06F13CFEFFF -806F91C9FC6D6D5B6F49EC01E06F7F6C6CEC3FFF706D13036C6C4A6DEB07C06C6C91B500 -F0130FDA800702FCEB1F806C9026E03FF89039FF80FF00000390B5D8F03FEBFFFE6CDBC0 -0F5C6C6CDA00035C011F01F8D9007F13E001030180020790C7FC4B477BC557>38 -DII<12F07E127E7E6C7E6C7E6C7E7F6C7E -6C7E12007F137F80133F806D7EA26D7EA26D7EA2801303A2801301A280A27F1580A4EC7F -C0A615E0A2143FAE147FA215C0A6ECFF80A415005BA25CA213035CA213075CA2495AA249 -5AA2495A5C137F91C7FC13FE5B1201485A485A5B485A485A48C8FC127E12F85A1B647ACA -2C>I44 D46 DI49 DII<163FA25E5E5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC -0F87EC1F07143E147E147C14F8EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A -485A485A120F5B48C7FC123E5A12FCB91280A5C8000F90C7FCAC027FB61280A531417DC0 -38>I<0007150301E0143F01FFEB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E092C8FC01 -C0C9FCAAEC3FF001C1B5FC01C714C001DF14F09039FFE03FFC9138000FFE01FC6D7E01F0 -6D13804915C0497F6C4815E0C8FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7FA317F05B -5D6C4815E05B007EC74813C0123E003F4A1380D81FC0491300D80FF0495AD807FEEBFFFC -6CB612F0C65D013F1480010F01FCC7FC010113C02D427BC038>I<4AB47E021F13F0027F -13FC49B6FC01079038807F8090390FFC001FD93FF014C04948137F4948EBFFE048495A5A -1400485A120FA248486D13C0EE7F80EE1E00003F92C7FCA25B127FA2EC07FC91381FFF80 -00FF017F13E091B512F89039F9F01FFC9039FBC007FE9039FF8003FF17804A6C13C05B6F -13E0A24915F0A317F85BA4127FA5123FA217F07F121FA2000F4A13E0A26C6C15C06D4913 -806C018014006C6D485A6C9038E01FFC6DB55A011F5C010714C0010191C7FC9038003FF0 -2D427BC038>I<121E121F13FC90B712FEA45A17FC17F817F017E017C0A2481680007EC8 -EA3F00007C157E5E00785D15014B5A00F84A5A484A5A5E151FC848C7FC157E5DA24A5A14 -035D14074A5AA2141F5D143FA2147F5D14FFA25BA35B92C8FCA35BA55BAA6D5A6D5A6D5A -2F447AC238>III65 DIIII -IIII75 DIII<923807FFC092B512FE0207EC -FFC0021F15F091267FFE0013FC902601FFF0EB1FFF01070180010313C04990C76C7FD91F -FC6E6C7E49486F7E49486F7E01FF8348496F7E48496F1380A248496F13C0A24890C96C13 -E0A24819F04982003F19F8A3007F19FC49177FA400FF19FEAD007F19FC6D17FFA3003F19 -F8A26D5E6C19F0A26E5D6C19E0A26C6D4B13C06C19806E5D6C6D4B13006C6D4B5A6D6C4B -5A6D6C4B5A6D6C4A5B6D01C001075B6D01F0011F5B010101FE90B5C7FC6D90B65A023F15 -F8020715C002004AC8FC030713C047467AC454>II82 -DI<003FBA12E0A59026FE000FEB -8003D87FE09338003FF049171F90C71607A2007E1803007C1801A300781800A400F819F8 -481978A5C81700B3B3A20107B8FCA545437CC24E>II87 -D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7E -A26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC0100 -0313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013E -EBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97 -DIIIIIII<137C48 -B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFF -A512037EB3AFB6FCA518467CC520>IIII<90277F -8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E002816E4880913D87F01FFC -0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C130F02BC5D -02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>I<90397F -8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F801F000390399F000FFE -6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>II<90397FC00FF8B590B57E02C314E002CF14 -F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A15C04A6D13E05C7013F0 -A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913806E4913006E49 -5A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9FCADB67EA536407DAC3E ->I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14 -F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>114 -D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48C7121F127E00FE -140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15 -806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA2 -6DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C ->IIIIIII E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmsl10 10.95 16 -/Fh 16 88 df44 D<007FB5FCA2B512FEA418 -067C961E>I48 D<157015F014011407143F903803FFE0137FEBFFCFEBF80F1300 -141F15C0A5143F1580A5147F1500A55C5CA513015CA513035CA513075CA5130F5CA3131F -497EB612F8A31D3D78BC2D>III<01061403D90780 -131F90390FF801FE91B512FC16F816F016E0168049EBFE0015F890381C7FC091C8FCA313 -3C1338A513781370A2EC1FE0ECFFF8903873E03E9038FF001F01FCEB0F804914C049EB07 -E04914F049130390C7FC16F8A61507A21206EA3F80487EA2150F00FF15F0A24914E090C7 -121F00FC15C000F0143F00701580ED7F0012786C14FE4A5A6C495A390F800FE03907E03F -C06CB5C7FCC613FCEB1FE0283F7ABC2D>53 DI<4BB46C1370031F01F013F0037F9038FC -01E0913A03FF807E03913A0FF8000F83DA1FE0EB07C7DA7F80EB01EF4AC812FFD903FE16 -C04948157F4948153F495A4948151F495A4948168091C9120F5A485AA2485A000F180049 -82121FA248485EA295C7FC485AA412FF5BA6043FB512E05BA29339001FFC00715AA2607F -127FA2171F123F6D5EA2121F7F000F163F6C7E6C6C4B5A7F6C6C15FF6C6DEB01EFD93FC0 -EB07C7D91FF0EB1F87D907FE9038FE03800101B5EAF8016D6C01E0C8FCDA07FEC9FC3C42 -76BF47>71 D<011FB512FC5BA29039003FF8006E5AA25DA5143F5DA5147F5DA514FF92C7 -FCA55B5CA513035CA513075CA5130F5CA5131F5CA3133F497E007FB512F0A2B6FC263E7E -BD21>73 D<013FB512FEA25E9026007FF8C8FCEC3FE0A25DA5147F5DA514FF92C9FCA55B -5CA513035CA513075CA21838A21870130F5CA218E0A3011F15014A15C01703A21707EF0F -80013F151F4A143F177FEFFF00017F140301FF143FB9FC5FA2353E7DBD39>76 -D<90263FFFF093381FFFF85013F0629026007FF8EFF000023F4D5AA2023B933801DFC0A2 -DA39FCED039FA2F1073F14790271040E5BEC70FE191C19381A7F02F01670DAE07F94C7FC -19E0A2F001C06201016D6C495A02C05FF00700A2180E6F6C14010103161C028003385BA2 -18706F7EF0E00313070200DA01C05BA2923907F00380A294380700075B010E902603F80E -5C5FA25F190F011E6D6C5A011C605FA2EEFDC0DB00FF141F013C5D013860013C92C7FC01 -7C5C01FE027E143F2607FF80017C4A7EB500FC037FB512E004785E4A1338553E7CBD53> -I<923803FF80031F13F09238FE01FE913903F0003FDA0FC0EB1FC0DA3F80EB07E0027EC7 -6C7E49486E7E49488149486E7E4948157F495A013F17804948ED3FC049C9FCA24848EE1F -E012035B000718F05B120FA2485A19F8123F5BA2127FA219F04848163FA5F07FE0A35BF0 -FFC0A219805F19007F4D5A127F4D5A60003F160F6D5E001F4C5A4D5A6C6C4B5A95C7FC6C -6C15FE00034B5A6C6C4A5A6C6C4A5A017FEC1FC06D6C495AD90FE001FEC8FC903903F807 -F80100B512C0DA0FFCC9FC3D4276BF47>79 D<9238FF80070207EBE00F021FEBF81E9138 -7F00FE02FCEB1F3ED903F0EB0FFE49481307494813034AEB01FC49C7FC491400133E137E -177C491578A57F1770A26D1500808080EB7FFEECFFE06D13FEEDFFC06D14F06D14FC0103 -80010080143F02031480DA003F13C015031500EE7FE0163F161FA2160F121CA31607160F -003C16C0A31780003E151F1700007E5D007F153E6D5C16FC01E0495AD87DF0495AD8FCFC -EB0FC03AF87F803F8027F01FFFFEC7FCD8E00713F839C0007FC030427BBF33>83 -D<0007B912F0A33C0FFE000FF8003F01F0160F01C04A13034848160190C7FC121EF000E0 -48141F5E1238A212781270153F5E5AA3C81600157F5EA515FF93C9FCA55C5DA514035DA5 -14075DA5140F5DA3141FEC7FFC0003B7FCA33C3D76BC42>I87 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi cmbx10 10.95 61 -/Fi 61 122 df12 -D45 DI<161C163E167EA216FE16FC150116F8A2150316F0A2150716 -E0150F16C0A2151F1680153F1600A25D157E15FE5DA214015DA214035D14075DA2140F5D -141F5DA2143F92C7FC5C147EA214FE5CA213015C13035CA213075C130F5CA2131F5C133F -91C8FCA25B137EA213FE5B12015BA212035B12075BA2120F5B121F5BA2123F90C9FCA25A -127E12FE5AA25A1278275B7AC334>II<140F14 -3F5C495A130F48B5FCB6FCA313F7EAFE071200B3B3A8007FB612F0A5243C78BB34>I<90 -3803FF80013F13F890B512FE00036E7E4881260FF80F7F261FC0037F4848C67F486C6D7E -6D6D7E487E6D6D7EA26F1380A46C5A6C5A6C5A0007C7FCC8FC4B1300A25E153F5E4B5AA2 -4B5A5E4A5B4A5B4A48C7FC5D4A5AEC1FE04A5A4A5A9139FF000F80EB01FC495A4948EB1F -00495AEB1F8049C7FC017E5C5B48B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>I<9038 -01FFE0010F13FE013F6D7E90B612E04801817F3A03FC007FF8D807F06D7E82D80FFC131F -6D80121F7FA56C5A5E6C48133FD801F05CC8FC4B5A5E4B5A4A5B020F5B902607FFFEC7FC -15F815FEEDFFC0D9000113F06E6C7E6F7E6F7E6F7E1780A26F13C0A217E0EA0FC0487E48 -7E487E487EA317C0A25D491580127F49491300D83FC0495A6C6C495A3A0FFE01FFF86CB6 -5A6C5DC61580013F49C7FC010313E02B3D7CBB34>II<00071538D80FE0EB01F801FE133F90B6FC5E5E5E5E93C7FC -5D15F85D15C04AC8FC0180C9FCA9ECFFC0018713FC019F13FF90B67E020113E09039F800 -7FF0496D7E01C06D7E5B6CC77FC8120F82A31780A21207EA1FC0487E487E12FF7FA21700 -A25B4B5A6C5A01805C6CC7123F6D495AD81FE0495A260FFC075B6CB65A6C92C7FCC614FC -013F13F0010790C8FC293D7BBB34>II<121F7F13F890B712F0A45A17E017C0178017005E5E5A007EC7EA01F84B5A007C -4A5A4B5A4B5A93C7FC485C157E5DC7485A4A5AA24A5A140F5D141F143F5D147FA214FF92 -C8FC5BA25BA3495AA3130FA5131FAA6D5A6D5A6D5A2C3F7ABD34>II<903801FFE0010F13FC013F13FF90B612C04801E07F489038003FF048486D7E00 -0F6E7E485A6F7E123F48488081178012FFA217C0A517E0A4007F5CA4003F5C6C7E5D6C7E -00075C3903FF80FB6C13FF6C6C13F36D13C3010F018313C090380008031400A24B1380EA -03F0487E486C1500487E4B5AA25E151F4B5A495C6C48EBFFE049485B2607FC0F5B6CB6C7 -FC6C14FC6C14F06D13C0D90FFEC8FC2B3D7CBB34>II<16FCA24B7EA24B7EA34B7FA24B7FA34B7FA24B7F -A34B7F157C03FC7FEDF87FA2020180EDF03F0203804B7E02078115C082020F814B7E021F -811500824A81023E7F027E81027C7FA202FC814A147F49B77EA34982A2D907E0C7001F7F -4A80010F835C83011F8391C87E4983133E83017E83017C81B500FC91B612FCA5463F7CBE -4F>65 D -I<922607FFC0130E92B500FC131E020702FF133E023FEDC07E91B7EAE1FE01039138803F -FB499039F80003FF4901C01300013F90C8127F4948151FD9FFF8150F48491507485B4A15 -03481701485B18004890CAFC197E5A5B193E127FA349170012FFAC127F7F193EA2123FA2 -7F6C187E197C6C7F19FC6C6D16F86C6D150119F06C6D15036C6DED07E0D97FFEED0FC06D -6CED3F80010F01C0ECFF006D01F8EB03FE6D9039FF801FFC010091B55A023F15E0020715 -80020002FCC7FC030713C03F407ABE4C>IIII<9226 -07FFC0130E92B500FC131E020702FF133E023FEDC07E91B7EAE1FE01039138803FFB4990 -39F80003FF4901C01300013F90C8127F4948151FD9FFF8150F48491507485B4A15034817 -01485B18004890CAFC197E5A5B193E127FA34994C7FC12FFAB0407B612FC127F7FA3003F -92C7383FFE00A27F7EA26C7FA26C7F6C7FA26C7F6C7FD97FFE157F6D6C7E010F01E014FF -6D01F813036D9038FF801F010091B512F3023F15C00207ED803E02009138FE000E030701 -E090C7FC46407ABE52>III76 -DIIIIII<903A03FFC001C0011FEBF803 -017FEBFE0748B6128F4815DF48010013FFD80FF8130F48481303497F4848EB007F127F49 -143F161F12FF160FA27F1607A27F7F01FC91C7FCEBFF806C13F8ECFFC06C14FCEDFF806C -15E016F86C816C816C816C16806C6C15C07F010715E0EB007F020714F0EC003F15030300 -13F8167F163F127800F8151FA2160FA27EA217F07E161F6C16E06D143F01E015C001F8EC -7F8001FEEB01FF9026FFE00713004890B55A486C14F8D8F81F5CD8F00314C027E0003FFE -C7FC2D407ABE3A>I<003FB912FCA5903BFE003FFE003FD87FF0EE0FFE01C01603491601 -90C71500197E127EA2007C183EA400FC183F48181FA5C81600B3AF010FB712F8A5403D7C -BC49>IIII<903807FFC0013F13F848B6FC48812607FE037F260FF8007F6DEB3FF048 -6C806F7EA36F7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F -1380381FFE00485A5B485A12FF5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391F -FF07F36CEBFFE100031480C6EC003FD91FF890C7FC2F2B7DA933>97 -D<13FFB5FCA512077EAFEDFFE0020713FC021FEBFF80027F80DAFF8113F09139FC003FF8 -02F06D7E4A6D7E4A13074A80701380A218C082A318E0AA18C0A25E1880A218005E6E5C6E -495A6E495A02FCEB7FF0903AFCFF01FFE0496CB55AD9F01F91C7FCD9E00713FCC7000113 -C033407DBE3A>IIIII<903A03FF8007F0 -013F9038F83FF8499038FCFFFC48B712FE48018313F93A07FC007FC34848EB3FE1001FED -F1FC4990381FF0F81700003F81A7001F5DA26D133F000F5D6C6C495A3A03FF83FF8091B5 -C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13F06CB6FC16F016FC6C15FF17806C -16C06C16E01207001F16F0393FE000034848EB003F49EC1FF800FF150F90C81207A56C6C -EC0FF06D141F003F16E001F0147FD81FFC903801FFC02707FF800F13006C90B55AC615F8 -013F14E0010101FCC7FC2F3D7DA834>I<13FFB5FCA512077EAFED1FF8EDFFFE02036D7E -4A80DA0FE07F91381F007F023C805C4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A5333F7C -BE3A>III<13FFB5FCA512077EB092380FFFFEA5DB01FEC7FC4B5AED07F0ED1FE04B5A4B5A4B -C8FCEC03FC4A5A4A5A141F4A7EECFFFCA2818102E77F02C37F148102007F826F7E6F7E15 -1F6F7E826F7F6F7F816F7FB5D8FC07EBFFC0A5323F7DBE37>I<13FFB5FCA512077EB3B3 -AFB512FCA5163F7CBE1D>I<01FFD91FF8ECFFC0B590B5010713F80203DAC01F13FE4A6E -487FDA0FE09026F07F077F91261F003FEBF8010007013EDAF9F0806C0178ECFBC04A6DB4 -486C7FA24A92C7FC4A5CA34A5CB3A4B5D8FE07B5D8F03FEBFF80A551297CA858>I<01FF -EB1FF8B5EBFFFE02036D7E4A80DA0FE07F91381F007F0007013C806C5B4A6D7E5CA25CA3 -5CB3A4B5D8FE0FB512E0A533297CA83A>II<01FFEBFFE0B5000713FC021FEBFF80027F80DAFF8113F09139FC007FF8000701 -F06D7E6C496D7E4A130F4A6D7E1880A27013C0A38218E0AA4C13C0A318805E18005E6E5C -6E495A6E495A02FCEBFFF0DAFF035B92B55A029F91C7FC028713FC028113C00280C9FCAC -B512FEA5333B7DA83A>II<3901FE01 -FE00FF903807FF804A13E04A13F0EC3F1F91387C3FF8000713F8000313F0EBFFE0A29138 -C01FF0ED0FE091388007C092C7FCA391C8FCB3A2B6FCA525297DA82B>I<90383FFC1E48 -B512BE000714FE5A381FF00F383F800148C7FC007E147EA200FE143EA27E7F6D90C7FC13 -F8EBFFE06C13FF15C06C14F06C806C806C806C80C61580131F1300020713C01400007814 -7F00F8143F151F7EA27E16806C143F6D140001E013FF9038F803FE90B55A15F0D8F87F13 -C026E00FFEC7FC222B7DA929>IIII< -B53CFC3FFFFC03FFFEA50003D980009039C0000F806E161F6C037F15006E496C5B6C183E -836E48157E017F177C6E486D13FC013F02EF5C83DAFC071401011F02C75CDAFE0FEBFE03 -010F02835C17FFDAFF1F14076D02015C03BF148F6DD9BE005C18CF03FE14DF6D49017F90 -C7FC18FF6D496D5AA36E486D5AA26E486D5AA36E486D5AA26E486D5A47287EA74C>III E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fj cmbx12 14.4 45 -/Fj 45 122 df12 D47 D<913803FFC0023F13FC91B6FC010315C001 -0F018113F0903A1FFC003FF849486D7E49486D7E49486D7E48496D138048496D13C0A248 -17E04890C813F0A34817F8A24817FC49157FA3007F17FEA600FF17FFB3A5007F17FEA600 -3F17FCA26D15FFA26C17F8A36C17F0A26C6D4913E0A26C6D4913C06C17806E5B6C6D4913 -006D6C495AD91FFCEB3FF8903A0FFF81FFF06D90B55A01011580D9003F01FCC7FC020313 -C0384F7BCD43>I<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800 -C7FCB3B3B3A6007FB712FEA52F4E76CD43>II<9138 -0FFFC091B512FC0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803 -F86E7E491680D807FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC16 -80C9FC4C13005FA24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA -000713E0030113F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FE -A2EA03E0EA0FF8487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F0 -4A13C06C484A1380D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F15800103 -02FCC7FCD9001F1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167F -A216FF5D5DA25D5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC -1F005C147E147C5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A -485A90C8FC123E127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>III<121F7F7FEBFF8091B81280A45A1900606060A260606048 -5F0180C86CC7FC007EC95A4C5A007C4B5A5F4C5A160F4C5A484B5A4C5A94C8FC16FEC812 -014B5A5E4B5A150F4B5AA24B5AA24B5A15FFA24A90C9FCA25C5D1407A2140FA25D141FA2 -143FA4147F5DA314FFA55BAC6D5BA2EC3FC06E5A395279D043>I<913807FFC0027F13FC -0103B67E010F15E090261FFC0113F8903A3FE0003FFCD97F80EB0FFE49C76C7E48488048 -486E1380000717C04980120F18E0177FA2121F7FA27F7F6E14FF02E015C014F802FE4913 -806C7FDBC00313009238F007FE6C02F85B9238FE1FF86C9138FFBFF06CEDFFE017806C4B -C7FC6D806D81010F15E06D81010115FC010781011F81491680EBFFE748018115C048D900 -7F14E04848011F14F048487F48481303030014F8484880161F4848020713FC1601824848 -157F173FA2171FA2170FA218F8A27F007F17F06D151FA26C6CED3FE0001F17C06D157F6C -6CEDFF806C6C6C010313006C01E0EB0FFE6C01FCEBFFFC6C6CB612F06D5D010F15800101 -02FCC7FCD9000F13C0364F7ACD43>I<91380FFF8091B512F8010314FE010F6E7E490103 -7F90267FF8007F4948EB3FF048496D7E484980486F7E484980824817805A91C714C05A70 -13E0A218F0B5FCA318F8A618FCA46C5DA37EA25E6C7F6C5DA26C5D6C7F6C6D137B6C6D13 -F390387FF803011FB512E36D14C30103028313F89039007FFE03EC00401500A218F05EA3 -D801F816E0487E486C16C0487E486D491380A218005E5F4C5A91C7FC6C484A5A494A5A49 -495B6C48495BD803FC010F5B9027FF807FFEC7FC6C90B55A6C6C14F06D14C0010F49C8FC -010013F0364F7ACD43>I<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA3 -4C8083047F80167E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E -031F81168083033F8293C77E4B82157E8403FE824B800201835D840203834B800207835D -844AB87EA24A83A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A82010385 -4A82010785A24A82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65 -D<932601FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203 -DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901 -F8824949824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA248 -49181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D19 -80A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A -6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE0 -01FFF0020091B612C0033F93C8FC030715FCDB007F14E0040101FCC9FC525479D261>67 -DII73 D<93380FFFC00303B6FC031F15E092B712FC0203 -D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC02007F494848ED7FFE4901E0 -ED1FFF49496F7F49496F7F4990C96C7F49854948707F4948707FA24849717E48864A8348 -1B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C1B -F0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D -6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D01FF02035B023F01E001 -1F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E0030392C9FCDB001F13E056 -5479D265>79 DI82 -D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC006D5A4801 -E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F82A28412 -FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFFC017F06C -16FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F15C0ED00 -7F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA26CEFFFC0 -A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0 -486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D24B>I<00 -3FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F49193F90 -C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912F0A55351 -7BD05E>I87 -D97 -DI<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE903A1FFE0001 -FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC486F1300705A48 -92C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6CEE1F806C6DEC -3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A01001580023F49C7FC -020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707B3A4913801FFE0021F13FC91 -B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5FC49487F4849143F484980 -485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F6C6D5C7E6C6D5C6C -6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5128F0101ECFE0FD9 -003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC010715C04901 -817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F18C0488191 -C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA218E06CEE01 -F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D91FFEEB03FE -903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D>IIII<137F497E -000313E0487FA2487FA76C5BA26C5BC613806DC7FC90C8FCADEB3FF0B5FCA512017EB3B3 -A6B612E0A51B547BD325>I<157FEDFF80020313E04A13F0A24A13F8A76E13F0A26E13E0 -02001380ED7F0092C7FCADED1FF891B5FCA51401EC007FB3B3B1EA0780EA1FE0487E487E -486C13FF16F0A216E05C16C04A13806C4848130049485A003F495A000FB512F06C5C0001 -148026001FFCC7FC256C87D329>IIIII<913801FFE0021F13FE91B612C0010315F0010F9038 -807FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D7F48496D7F4A147F48834890C8 -6C7EA24883A248486F7EA3007F1880A400FF18C0AC007F1880A3003F18006D5DA26C5FA2 -6C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495BD93FFE011F90C7FC903A0FFF80 -7FFC6D90B55A010015C0023F91C8FC020113E03A387CB643>I<903A3FF001FFE0B5010F -13FE033FEBFFC092B612F002F301017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F -92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A4721380AC1A0060A36118FFA2615F61 -6E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F14 -80031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB54B>I<90397FE003FEB590380F -FF80033F13E04B13F09238FE1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF -150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>114 -D<903903FFF00F013FEBFE1F90B7FC120348EB003FD80FF81307D81FE0130148487F4980 -127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C -816C816C81C681013F1580010F15C01300020714E0EC003F030713F015010078EC007F00 -F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FF -C00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC2C387CB635>I<143EA6147EA414 -FEA21301A313031307A2130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE -07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B0203 -13802A4D7ECB34>III121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fk cmr12 14.4 32 -/Fk 32 121 df<000F141ED83FC0EB7F80486CEBFFC0486C4813E001F814F0A301FC14F8 -A2007F7FD83FDCEB7FB8D80F1CEB1E3800001400A5013C147801381470A3017814F00170 -14E001F013014914C000011403A24848EB07804848EB0F00A248C7121E001E5C485C485C -0030146025237CD23B>34 D<15E01401EC03C0EC0780EC0F00141E5C147C5C495A13035C -495A130F5C131F91C7FC133E137EA25BA2485AA25B1203A2485AA3120F5BA2121FA25BA2 -123FA290C8FCA35AA5127EA312FEB3A3127EA3127FA57EA37FA2121FA27FA2120FA27F12 -07A36C7EA212017FA26C7EA2137EA2133E7F80130F8013076D7E8013016D7E147C143C80 -80EC0780EC03C0EC01E014001B7974D92E>40 D<12E07E12787E7E7E6C7E7F6C7E6C7E7F -1200137C137E133E133F7F6D7E80A26D7EA26D7EA2130180A26D7EA380147EA2147FA280 -A21580A2141FA315C0A5140FA315E0B3A315C0A3141FA51580A3143FA21500A25CA2147E -A214FE5CA3495AA25C1303A2495AA2495AA25C49C7FC5B133E137E137C5B12015B485A48 -5A5B48C8FC121E5A5A5A5A1B797AD92E>I45 -D<14075C5C147F5C1307133F000FB5FCB6FC13F913C1EAF0011200B3B3B3A7497F010F13 -E0B712FEA4274F75CE3B>49 D65 D68 DII80 D82 DI<003FBB12C0A449 -C79038F0000701F06E48130001C0183F48C8EE0FE0007E1907007C1903A200781901A400 -701900A500F01AF0481A70A6C91700B3B3AC4C7E030313FC027FB712E0A44C517CD055> -I87 -D<01301460017814F049EB01E04848EB03C04848EB07804848EB0F00A248C7121E001E5C -A2001C1438003C147800381470007814F000705CA300F01301485CA5D8E3C0EBC780D8EF -F0EBDFE0D8FFF8EBFFF001FC14F8A2007F7FA3003F147F6C48EB3FF06C48EB1FE0D803C0 -EB078025236FD23B>92 D97 D99 D<17FF4BB5FCA4ED0007160182B3A6EC0FF8EC7FFF49B512E0 -903907FC03F090391FE0007C49487F49C7120F01FE80484880485A000781484880A2485A -A2485AA2127FA35B12FFAB127FA27FA2123FA27F121FA26C6C5C00075D7F6C6C5C6C6C5C -6C6C021E7F6D6C017C13E0D91FC049EBFF8090390FF807E00103B512800100495ADA1FF0 -91C7FC39547CD241>II<157F913803FFE0020F13F0 -91383FC0F891387F01FC903901FE03FE903803FC0714F81307EB0FF0A290391FE003FCED -01F892C7FC495AB3B612FEA426003FC0C7FCB3B3A580EBFFF0007FEBFFF8A427547DD324 ->III<1378EA01FE -487E487FA66C90C7FC6C5AEA007890C8FCB0EB7F80B5FCA41203C6FC137FB3B3A43801FF -E0B61280A419507CCF21>I107 D<01FFD907FEEC03FFB590261FFFC0010F13E0037F01F0013F13F8912701F8 -0FFC9038FC07FE913D03C003FE01E001FF000390260700019038038000C6010E6D6C48C7 -6C7E6D48DA7F8E6E7E4A159CA24ADA3FF86E7E02605D14E04A5DA34A5DB3AD2601FFE0DA -FFF0EC7FF8B6D8C07F9026FFE03FB512F0A45C347CB363>109 D<01FFEB07FCB590383F -FF8092B512E0913901F00FF8913903C007FC000349C66C7EC6010E13016D486D7E5C1430 -02706E7E146014E05CA35CB3AD2601FFE0903801FFE0B600C0B612C0A43A347CB341>I< -EC0FFC91387FFF8049B512E0903907F807F890391FE001FE90393F80007F017EC7EA1F80 -496E7E48486E7E00038248486E7EA248486E7EA248486E7EA2003F82A24848ED7F80A400 -FF17C0AB007F1780A26D15FFA2003F1700A2001F5E6D1401000F5E6D140300075E6C6C4A -5A6C6C4A5AA2D8007FEC3F806D6C49C7FC90391FE001FE903907F807F86DB55AD9007F13 -80DA0FFCC8FC32367CB43B>I<90397F8007FCB590387FFF800281B512E0913987F00FF8 -91398F8003FC000390399E0001FFC601BC6D7FD97FF86E7E4A6E7E4A6E7E4A140F844A6E -7EA2717EA3717EA4711380AB4D1300A44D5AA24D5AA2606E140F4D5A6E5D6E4A5A6E4A5A -02BC4AC7FC029E495A028FEB07FC913987E01FF00281B512C0DA807F90C8FCED0FF892CA -FCB13801FFE0B612C0A4394B7DB341>I<01FFEB1F80B5EB7FF0913801FFF8913803E1FC -91380783FE0003EB0F07C6131EEB7F1C1438143091387003FC91386000F0160014E05CA4 -5CB3AA8048487EB612F0A427347DB32E>114 DII<007FB5D8 -800FB51280A4C69026FC0003EBF000D93FF86D1380011F4BC7FC010F15F801075D6D6C5C -6E495A6D6C5C6D14076E6C48C8FCEDC01E6E6C5A021F133891380FF0786F5A913807FDE0 -02035BEC01FF5E80157F6F7E824B7E15FFEDE7F802017F913803C3FEEC07814AC67E020E -80021E6D7E4A133F4A6D7E4A80707E4948130749486D7E010781010F6E7E013F8201FF82 -00076D010713F0B500F8011FEBFFE0A43B337FB23E>120 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fl cmr10 10.95 91 -/Fl 91 128 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907 -F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7 -FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11 -DIIIII<127C12FC7E7EA2EA7F80EA3FC0EA1FE0120FEA07F0EA03F81201EA007C133E -131F130E1304101176BE2D>18 D<133E133F137F13FFA2EA01FEEA03FCEA07F813F0EA0F -E0EA1FC01380EA3E005A5A1270122010116EBE2D>I<001E130F397F803FC000FF137F01 -C013E0A201E013F0A3007F133F391E600F3000001300A401E01370491360A3000114E049 -13C00003130101001380481303000EEB070048130E0018130C0038131C003013181C1C7D -BE2D>34 D<013F1603D9FFC04B7E2601E0E0150F2607C070151F48486C4BC7FC023E157E -48486C15FE48D90FC0EB03FC003ED90EF0EB0FF8DA0F3F13FD007E903A070FFFF1F0007C -0200EB03E0160000FC6D6C495A170F604DC8FC5F173E5F17FC5F4C5A1603007CD907005B -4C5A007E150F003E495C020E49C9FC003F5D6C49133E260F803C5B023813FC6C6C485B3A -01E0E001F03800FFC090273F0003E0133F90C70007ECFFC09339C001E0E0923A0F8007C0 -70031F49487E0400143C033E90381F001C037E497F037C133E4B150F0201027E7F4B137C -4A5A020702FCEB03805D4A5A141F92C7FC143E147E147C5CA2495A0103037CEB07005C49 -48147E010F033E5B4A160E49C8123F496F5B013E92380F803C49173801FC6F6C5A499238 -01E0E0496FB45A0160043FC7FC41497BC34C>37 DI<121EEA7F -8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A120E5A1218 -123812300B1C79BE19>I<1430147014E0EB01C0EB03801307EB0F00131E133E133C5B13 -F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12FCB2127C12 -7EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F133E131E7FEB07 -801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E6C7E7F12036C -7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A6130314F0B214E0 -1307A614C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B485A12075B48 -C7FC121E121C5A5A5A5A145A7BC323>I<1506150FB3A9007FB912E0BA12F0A26C18E0C8 -000FC9FCB3A915063C3C7BB447>43 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200 -A413E013C0A312011380120313005A120E5A1218123812300B1C798919>II<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>IIIIII<150E151E153EA2157EA215FE1401A21403EC077E1406140E141CA21438 -1470A214E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC5A120E12 -0C121C5AA25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403D8078013 -1F01F813FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E -03E090387001F8496C7E49137E497F90C713800006141FC813C0A216E0150FA316F0A312 -0C127F7F12FFA416E090C7121F12FC007015C012780038EC3F80123C6CEC7F00001F14FE -6C6C485A6C6C485A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>II<1238123C123F90B612FCA316F85A16F016E000 -78C712010070EC03C0ED078016005D48141E151C153C5DC8127015F04A5A5D14034A5A92 -C7FC5C141EA25CA2147C147814F8A213015C1303A31307A3130F5CA2131FA6133FAA6D5A -0107C8FC26407BBD2D>III<121EEA7F80A2EAFFC0A4EA7F -80A2EA1E00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619>I<121EEA7F -80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A4127F121E1200A41201 -1380A3120313005A1206120E120C121C5A1230A20A3979A619>I<007FB912E0BA12F0A2 -6C18E0CDFCAE007FB912E0BA12F0A26C18E03C167BA147>61 D63 -D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC15C3A291380381FEA34AC6 -7EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA24981913880 -0001A249C87EA24982010E157FA2011E82011C153FA2013C820138151FA2017882170F13 -FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>65 DIIIIIIII<011FB512FCA3D9000713006E5A1401B3B3A6123FEA7F80EAFFC0A44A5A1380D8 -7F005B007C130700385C003C495A6C495A6C495A2603E07EC7FC3800FFF8EB3FC026407C -BD2F>II -IIIIIIII<003FB91280A3903AF0007FE001018090393FC0003F48C7ED1FC0007E1707127C -00781703A300701701A548EF00E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42> -IIII<007FB5D8C003B512E0A3C649C7EBFC00D93FF8EC3FE06D48EC -1F806D6C92C7FC171E6D6C141C6D6C143C5F6D6C14706D6D13F04C5ADA7FC05B023F1303 -6F485ADA1FF090C8FC020F5BEDF81E913807FC1C163C6E6C5A913801FF7016F06E5B6F5A -A26F7E6F7EA28282153FED3BFEED71FF15F103E07F913801C07F0203804B6C7EEC07004A -6D7E020E6D7E5C023C6D7E02386D7E14784A6D7E4A6D7F130149486E7E4A6E7E130749C8 -6C7E496F7E497ED9FFC04A7E00076DEC7FFFB500FC0103B512FEA33F3E7EBD44>II<003FB712F8A391C7EA1FF013F801E0EC -3FE00180EC7FC090C8FC003EEDFF80A2003C4A1300007C4A5A12784B5A4B5AA200704A5A -A24B5A4B5AA2C8485A4A90C7FCA24A5A4A5AA24A5AA24A5A4A5AA24A5A4A5AA24990C8FC -A2495A4948141CA2495A495AA2495A495A173C495AA24890C8FC485A1778485A484815F8 -A24848140116034848140F4848143FED01FFB8FCA32E3E7BBD38>II<486C13C00003130101001380481303000EEB070048 -130E0018130C0038131C003013180070133800601330A300E01370481360A400CFEB6780 -39FFC07FE001E013F0A3007F133FA2003F131F01C013E0390F0007801C1C73BE2D>II -96 DII<49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A5B121F -A24848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C -13076C6C14000003140E6C6C131E6C6C137890383F01F090380FFFC0D901FEC7FC222A7D -A828>IIII<167C903903F801FF903A1FFF078F8090397E0FDE1F -9038F803F83803F001A23B07E000FC0600000F6EC7FC49137E001F147FA8000F147E6D13 -FE00075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CAFC120EA312 -0FA27F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01FE003E1400 -48157E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE -017FC7FC90383FFFFC010313C0293D7EA82D>III<1478EB01FE -A2EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E127F38FF80 -7E14FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185BD1C>III<2701F801FE14FF00FF902707 -FFC00313E0913B1E07E00F03F0913B7803F03C01F80007903BE001F87000FC2603F9C06D -487F000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3A6486C496CECFF80B5 -D8F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FFC091381E07E0913878 -03F000079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF5BA25BB3A6486C497E -B5D8F87F13FCA32E287DA733>I<14FF010713E090381F81F890387E007E01F8131F4848 -EB0F804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA44815FF -A96C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80 -D8007EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901FC03FC00FF90 -381FFF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90C7127F49EC3F805BEE -1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138 -C001F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7E -A733>I<02FF131C0107EBC03C90381F80F090397F00387C01FC131CD803F8130E4848EB -0FFC150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2001F14036C7E15076C -6C130F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801FE0190C7FCAD4B7E92 -B512F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C100031381EA -01FB1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>I<90383FC060 -3901FFF8E03807C03F381F000F003E1307003C1303127C0078130112F81400A27E7E7E6D -1300EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E0010313F0EB001FEC -0FF800E01303A214017E1400A27E15F07E14016C14E06CEB03C0903880078039F3E01F00 -38E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2120112031207001FB5 -12C0B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F03013F138090381F8700EB -07FEEB01F81B397EB723>IIIII< -B539E00FFFE0A32707FE000313006C48EB01FC6F5A00015D7F00005DA2017F495AA2EC80 -03013F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D6C5AA2ECFE -F001005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A2147800181370127E -B45BA2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA07E02B3A7EA630>I<001FB6 -1280A2EBE0000180140049485A001E495A121C4A5A003C495A141F00385C4A5A147F5D4A -C7FCC6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF005A5B484813071207 -491400485A48485BA248485B4848137F00FF495A90B6FCA221277EA628>II<001C130E007FEB3F8039FF807FC0A5397F003F80001CEB0E001A0977BD2D> -127 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fm cmr17 17.28 18 -/Fm 18 90 df<150E151E153C157815F0EC01E0EC03C01407EC0F80EC1F00143EA25C5C -13015C495A13075C130F5C131F91C7FC5B133E137E137C13FCA2485AA3485AA3485AA312 -0F5BA3121F5BA3123FA390C8FCA25AA5127EA312FEB3A7127EA3127FA57EA27FA3121FA3 -7F120FA37F1207A36C7EA36C7EA36C7EA2137C137E133E133F7F80130F8013078013036D -7E801300147C80A280EC0F80EC07C01403EC01E0EC00F01578153C151E150E1F8F73EA33 ->40 D<12E07E12787E7E7E6C7E7F6C7E6C7E6C7EA2137C7F133F7F6D7E80130780130380 -130180130080147C147EA280A3EC1F80A3EC0FC0A315E01407A315F01403A315F8A31401 -A215FCA51400A315FEB3A715FCA31401A515F8A21403A315F0A3140715E0A3140F15C0A3 -EC1F80A3EC3F00A3147EA2147C14FC5C13015C13035C13075C130F5C49C7FC5B133E5B5B -A2485A485A485A5B48C8FC121E5A5A5A5A1F8F7AEA33>I<170FA34D7EA24D7EA34D7EA3 -4D7EA34C7F17DFA29338039FFC178FA29338070FFE1707040F7FEE0E03A2041E80EE1C01 -A2043C80EE3800A24C80187FA24C80183FA24B4880181F0303814C130FA203078193C712 -07A24B81030E80A24B8284A24B8284A24B82197F03F0824B153FA20201834B151FA20203 -8392B8FCA24A83A292C91207020E8385A24A8485023C84023882A20278840270177FA202 -F0844A173FA24948841A1FA24948841A0FA249CB7F1A074985865B496C85497E48486C4D -7F000F01F8051F13F0B60407B612F0A45C657DE463>65 D67 D69 -DIIII76 DII<933801FFE0043F13FF4BB612E003079038003FF8DB1FF0EB03FEDB7FC0903800FF -804A48C8EA3FE0DA03FCED0FF0DA0FF0ED03FC4A486F7E4A486F7E4A48707E4ACA6C7E49 -48717E4948717E4948717E4948717E4948717E013F854A83017F864948727EA24890CC6C -7EA24848737EA24848737EA2000F87491907001F87A34848737EA4007F1C80A24985A400 -FF1CC0AF6C6C4F1380A5003F1C006D61A3001F63A26D190F000F63A26C6C4F5AA36C6C4F -5AA26C6D4E5A6C636E18FF017F626D6C4D90C7FC6E5F011F616D6C4D5A6D6C4D5A010361 -6E171F6D6C4D5A6D6D4C5ADA3FC04CC8FCDA1FF0ED03FE6E6C4B5A6E6C4B5ADA01FFED3F -E09126007FC0ECFF80DB1FF0D903FEC9FCDB07FFEB3FF8030190B512E0DB003F91CAFC04 -0113E05A667AE367>II82 DI<003FBC12F8A49126C000039038 -C0000301FCC76C49EB007F01F0190F01C019074848F103FC90C81701007E1A00007C1B7C -A300781B3CA400701B1CA600F01B1E481B0EA7C91800B3B3B3A54C7FA2041F13F84AB87E -A457627CE160>I -89 D E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - -%%EndSetup -%%Page: 1 1 -1 0 bop 562 536 a Fm(INF)l(ORMA)-11 b(TION)45 b(SOCIETY)f(TECHNOLOGIES) -1784 718 y(\(IST\))1481 901 y(PR)l(OGRAMME)833 2896 y -@beginspecial 0 @llx 0 @lly 1623 @urx 1196 @ury 2662 -@rwi @setspecial -%%BeginDocument: istlogo.eps -%!PS-Adobe-1.0 EPSF-1.2 -%%BoundingBox: 0 0 1623 1196 -%%Creator: Jasc Software, Inc. -%%Title: C:\temp\Logocmyk.eps -%%CreationDate: 0 -%%EndComments -/width 1623 def -/height 1196 def -/pixwidth 1623 def -/pixheight 1196 def -/picstr width string def -/psppic { -gsave width height 8 -[width 0 0 height 0 height neg] -{currentfile picstr readhexstring pop} -image grestore } def -0 height neg translate pixwidth pixheight scale -psppic -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9A09A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A99999999999A9A9A999A9A9A9A9A9A9A9A9A9A999999999999999999999999999999999999999999999999999999999999999A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9999999A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A999A9A9A9A9A9A9A9A99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999D6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD654100202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201010101020101010202020202010202020202020202020202020202020202020202020202020202020202020202020101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201010101010101020202020201010101010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010202020201020201010101010101010101010101010101010101010101010101020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5BB581102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201020202020202020201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101020201020102010101010101010101010101010101010101010101010101010201020201010101010101010101010202020202020202010101010202020202020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101020202010202020202020202020202020202020202020202020202020202020202010101010101010101010101010101010101010101010101010101010101010101020202020202020202020202020202020202020202020202020202020202020202020101010101010102010101010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201010101010202020202020202020202020202020101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C39B490D01010101010101010101010101010101010101010101010101020202020202020202020202020202020202020202020202020202020202020202020101010101010102010101010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201010101010202020202020202020202020202020101010101010101010101010101010101010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102020202020202020202020101010102020101010101010202020202020202020202020202010202020202010202020202020202020202020202020202020202020202020202010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102010101010101010101010101010101010101010101010101010201020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202010101010201010102020202020102020202020202020202020202020202020202020202020202020202020202020201010202020202020202020202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1CEA44C0F020202020201020202020201020202010202020201020202020202020202020202020202020202020202020201010101020101010101010101010101010202010101010101010102020202010102020202010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102020202020202020201010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCB6B8B390450D01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010202010201020101010101010101010101010101010101010101010101010102010202010101010101010101010102020202020202020101010102020202020202020201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010202020102020202020202020202020202020202020202020202020202020202020101010101010101010101010101010101010101010101010101010101010101010202020202020202020202020202020202020202020202020202020202020202020201010101010101020101010101010202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202010101010102020202020202020202020202020201010101010101010101010101010101010101010101010102010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101020202020202020202020201010101020201010101010102020202020202020202020202020102020202020102020202020202020202020202020202020202020202020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C6C6C5BF97460D010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101020101010101010101010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020102010101010202010101010101010102020202020101010101010101010101010101020202020101010101010101010101010101010101010101010101010101010202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201010101010101010101010101010101010201010101010101010101010101010101010101010101010101010101010101020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED6D7D7D5CBA44C0E010101010101010101010101010101010102010101010101010101010101010101010101010101010101010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102010101010101010101020201010101010102020101020202020202020201020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202010202020202010202020102020202010202020202020202020202020202020202020202020202010101010201010101010101010101010102020101010101010101020202020101020202020101010202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3C4C1BFBCBDB38E410C0101010101010101010101010101010101010101010101010101010101010101010102020101020201020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202010101010102020201020202020202020202020101010101010101010101010101010101010101010101010101010101010102020202020202020202020202020202020202020202020202010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8C9C9C9CBCBCBC49C490D01010101010102010101010101010101010101010101010101010101010101010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102010101010101010101020201010101010102020101020202020202020201020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202010202020202010202020102020202010202020202020202020202020202020202020202020202010101010201010101010101010101010102020101010101010101020202020101020202020101010202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB9BCB8B6B8B8B6B28E410C010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010202020201020201010101010101010101010101010101010101010101010101020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102010102020201020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202010101010101010101010101020202020202020202020202020202010202020202020202020202020202020202020202020202010101020202020202020101010101010201010101020201010101010102010101010101010101010101010101010101010101010102020202020202020201020101010101020102020202020202020202020202010201010101010202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED3D4D7D7DADAD9D9D1A54F100202020201010101010101020202020201010101010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010202020201020201010101010101010101010101010101010101010101010101020202020101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102010102020201020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202010101010101010101010101020202020202020202020202020202010202020202020202020202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C4C1C0C4C4C3C4C1BC9C5D302424242424242424242424242424242524242525242424252626262626262626262626262625252424252524252424252525242424232323232424242424252525242425262626262628282826292929292929292929292929292A2929292929292828292929292929282626262626262626262626262626262626262626262525252525262526262626262828292929292829292929282929292A2A2B2B2B2B2A292A2929292929292928292826262626262626282626262626262828292A2A2A2A2A2A2B2C2C2C2C2C2C2C2C2C2D2E2E2E2D2C2D2C2C2C2D2C2C2C2C2C2C2C2C2C2C2C2B2C2C2C2C2C2C2C2B2A2B2A2A2B2B2B2A2A2B2B2A2B2B2B2B2B2B2B2A2A2A2A29292A2A2A2A2A2A292826262626262829292928282829292929282828282626262626262626262626262525252524242425262626262826262626262626262626262626262525252424242424252424252525252526262626262626262625252425252525262626262626262626262628292929292929282828282626262629292626262626262829292929292929292928282828262828282828262829292929292A2A29292A2A2B2C2C2B2B2B2B2A2A2A292929282626262626262626262626262626262626252525252625252525242525262626252525252525262626252626262626252626262626262625252524242424242425252524252525252424242424242424242424242424242423232324242425252626262626292626262626262626262626252526262626262626262626262629262828292829292A2A2A2A2A2A2A2B2B2B2A2A2A2B2B2A2A2A2A2A2B2B2B2B2C2C2B2B2C2C2C2C2D2E2E2D2D2D2D2D2E2E2F2F2F2E2E2E2E2E2E2E2F2E2E2E2F2E2E2D2D2D2C2C2D2D2E2D2D2E2E2F2F2F2F2F2E2F260E02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCBBBCBCBBB9B6B9B9BBB8BFBCB3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B823010102020101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8C9C9C9CACBD0CBCBCACBD3EBC6B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFC1C0C0BFC1C3C5C6C9C9D1E7C3B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E43D02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3C3C5C3C0C4C1C4C5C8CAD1E6C6B1B3B3B6B6B9BCBCBDBDC0C1C0BCB9BDC0C1C3C4C8CAC8C5C1C1C4C4C4C8C8C6C9C6C4C3C3C5C4C4C4C1C1C1C1C0C0C0C0BFBFBDC0C0C0BFBCB9B9BBB8B9B9B9B9B9B9BCB9B8B8B9B9BCC0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C0BCBCC0C0BCC0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBF3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBCECACACED1CFCECED1DFF3CEBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B52D01010101010202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCB6B9BBB6BBBDBCBDBDBBC4D7B5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B52D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED3D4D4D3D4D1D0CFD1D1DBF1CBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D03502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCBCC0C3C0C1C3C0C0C1C4D0E4BFABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E63F02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E4E1E4E4E6E9E4E4E6E3ECFCDCD4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBC3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E1E1E1E1E4E6E4E3E7E9F6FFDFD3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABAB2A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E1DFDCDBE1E1DFE1E3E4EFF9D7C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCB3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C6C6C5C6C6C8C9C9C6D5E6C0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB02B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9D5D5D6D4D0CBCECECBD7ECC9B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECB3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DADBD7D7D9D7D1D3D3D1DAEFCAB9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDB3A02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C6C6C6C5C6C9C8C9C6CAD0E3C0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0AC2C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E1DFDFDBDCD9D9DBDEDEE9F8D7C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC83302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7D4D5D5D5D9DAD9D6D6E1F6D0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8C9CECECBCBC9CACACECED6EBC6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DFE1DEDADBDBDADBD9D7E1F7D0C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACAC2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CFD0D0CBCBC9CBD0D1D3DEF3CEC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D03502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E6EAEBE7E6E9E6E7E4E4EFFDDECECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BC30020202020202020202020299FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEB9BBB9B9BDBFBFC4C6C6CEDFBFB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAAC2B010101010101010201010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D7D9D6D9DCD9DADEDEE9F7D5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBF3002020202010202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CACFD1D0D4D1CFCFD1D1D7EFC9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B92F01010102020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DBDEE1E3E4E2E1DFDEDEE7F8D7C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C53202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6C4C0C1C4C3C4C4C1CBE2BCACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D33702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD0D4D7D6D5D5D7D7DBDEEAF7D5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0AB2A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0DBDCDEDFE3E4E1E2DFDEE7F7D7C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E4E2E2E1E1DFDEDFE2E2EBF8D7C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0CFD3CFD0D4D3D4D4D1DFF3CEBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBD3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E7E6E9E6E7E3E3E3E7E9EFFCDBCBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBF30020202020202020201020199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD0D5D1D0D0D0D1D3D3D3DEF3CBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C63202020202020101020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CBC9CBCBD0D0CBC9C9C9D6ECCBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DADBDCDEDFDFDBDADBD7DFF3CBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D43702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBCACAC8C9C9C8C9CECEDAF2CBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBB30010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED1D7D7D7D7DAD6D7D7D7E3F3D1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B62F01020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBCED1CBD1D4D0D4D4D4DFF3CEBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E1DFDCD9D7D7D7D7D9D7E1F3D0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B52D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C8C9C6C6C6C5C0C1C4C6D0E2BBAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E43D02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D9DEE1DFE2E2E4E2E7E6F1FBDAC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D73902020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CBD1D1D0D3D5D3D4D6D4DFF3CFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBD3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E7EAE9EAEAEBEAECEEEFF8FFE2D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBC3002020202010101010101019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0C0C4C4BFC0C1C3C6CACAD5EAC6B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC93302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAEBEAECE9E9E9E7E7E6E6EFFBD7C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBB2E02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6C9C9C9CBD0D0D3D7D7DAE1F6D3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B92F010202020202010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E1E1E4E1E3E3E4E7E6E7F2FDDED3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB12B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D4D4D0D4D4D0D1D1D3DEF3CEB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC03002020202020202010202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED9D5D3D1D3D1D0D1D6D1DCF1C9B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D3D5D5D5D4D3D4D3D3DEF4D0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C26010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C5C9C9C9C6C6C9CBCECEDCEECBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B52C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED5D5D5D5D4D4D1D5D6D6DFF2CAB9BBB8B9B9B9B9B9B9BCB9B8B8B9B9BCC0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C0BCBCC0C0BCC0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBC3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E3E6E6E1E4E4E3E1E2E2EFF9D9CACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBC30020202020201020101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBCFCBC9C9C9CBCBCBD0CBD6EAC6B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C030020202020201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E3E3E3E3E6E6E9EAEAE7F3FCDCD1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F27010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDBDCDBDAD7D7D5D5D6D9E3F6D0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B12B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1BFC0C0BFBFC3C0C1C4C4CEE3C0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B62D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF2F3F3F4F7F6F2F3F7F7FBFFE7E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C93402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E4E4E2DEDFDCDBDCDEDFEAF9D7C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BC2F01010101020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D4D7D5D5D1D0D5D6D1E1F4D1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CECFCFCFCBD0D1D3D4D1DFF4D0C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A729010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DADCDCD9DCDCDADBD9D9E1F4D0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0DCDEDEDBDCDCDADBDBDEE9F7D5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABAB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB2B1B5B5B8B8B6B8BBBBC0D5B1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BB2E02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E1E2E1E3E2E1DBDCDEDBE4F7D5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CE3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C8C9C6C9C6C4C3C4C4C6CBE3C0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCBCBDB9B9B6B6B6B8B9B9C0D1B19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABAB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E1E2E6E7E9E6E6E7E7E6ECF9D7C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BD3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6CACBCECECBCBD1D1DCF2CEBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A52A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DBD9D9D6D4D4D0CFCECED7EAC6B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A72A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D4D1D0CED1CBCACBCBD9F2CAB9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BD3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D4D1CECFD0CBCED0D0DAEFCABCB9B8B8B9B9BCC0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C0BCBCC0C0BCC0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CEC49B6E4A271F200400112020204C5578A8CAD1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C33302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CACECAC6CACECBCFCECED6ECC6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DED784340400000000000000000000000000000000002969B3D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDC3A02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DBE1E1E1E2E2E1E2E1E4ECF9D4C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3B34C0300000000000000000000000000000000000000000000001F6BC1C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D33702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E1E3E1DCDEDEE1E1E1E1E7F8D9CAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBF6B030000000000000000000000000000000000000000000000000000000972C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECE3602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFC1C5C5C6C6C6C4C6C6C8D3E6C3B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3AC3000000000000000000000000000000000000000000000000000000000000000289BB1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B62D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CACED1CECFCFD0D4D4D3DAF3D0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDB6240000000000000000000000000000000000000000000000000000000000000000000385B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBF3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1C1C0C3C4C5C6C6C6C5C6D0E7C5B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6AB210000000000000000000000000000000000000000000000000000000000000000000000036BB1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B52E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8D0CECACACACED0CFD0D0DCF3CFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBF4C000000000000000000000000001532496A6A6967674E4023030000000000000000000000000387B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0D0D3CFCBC9C9C9CECED7EFC6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9A200000000000000000000003C84C3D0D1D0D0D1D1D0D3D0D1D1D3A76711000000000000000000000ABCD3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C432020202020202020201010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEBBBCBCBBBDBDBFBCBDBBC3D7B8A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B924000000000000000000339CB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B973150000000000000000002BBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BF30010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D5D4D3D7D5D5D1D1D6E1F2D0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D09E00000000000000000472D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0B95500000000000000000076BFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C63302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C8CBC9C9CBCBCBCBCACAD5EAC1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCB4A00000000000000007AD3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D07800000000000000001AD7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A729010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9D7D7D7D7D7D6D7D7D3DCF1CBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5090000000000000051C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E17A000000000000000096DEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECE3602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DBDFDFDEDCDAD7D4D1D1DCF2CABDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B59900000000000000039FACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABAC260000000000000028B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBF3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CACEC9CBCECBCBC9CBCBD9ECC6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A35A000000000000002DAAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E81000000000000000097A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACAC2C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0CED1D0D1D4D0CED1D1DBECCBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E69B54545656555656A5E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADA4E000000000000007CC8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C1C5C5C5C4C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C43302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C8C9CAC9C9CBCECECBCAD5EAC6B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B18D0000000000000038B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B02C010101010101020101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD1D4D5D5D5D5D1D3D3D6E1F2CEBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C61100000000000011CBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D3CFCECFCACECECACED9EFCAB9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABAC3500000000000000A7B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBC30020201020202010202020299FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D5D9DADBDED9DEDEDFECF9D9C9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B96C0000000000000090C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE23D02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E1E1E1DCDBDFDEE1E1DEE4F7D7C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABAB9C86837C5F7684848DA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7A28682825F748386AAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F817C7B617283808DA3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5A59CA17E92A5A2BFCED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4CBAAA8A7779CA7B9D0D0D0D4D1D3D3D6D4D1D1A10000000000000078CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBF9D9B9B766D9B9B98B5B9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B69790686967676767898FAEB6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C33302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E7E9E9E4E6E9E7EAE7EAF2FCDBCECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C18A70454343435B6B94A7BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABA26B3E1A00000000000000000000001528567DB2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A16D411F030000000000000000000C2A51899F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBA263330F000000000000000000001C4A73ACBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B08D5A2E0E000000000000000000001A466DA2B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCB57C54240900000000000000000024548DBCBBBBBDBDBDBD9E000000000000005FB3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BF9B5C330800000000000000000000031C4071A2B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBBB7E401800000000000000000000000009265883BCC5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B32D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CFCBCBC9CBD0CFD3D3D3DEF4CEB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACAB9F43030000000000000000000019A8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B36D2800000000000000000000000000000000000000023376AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC17E34030000000000000000000000000000000000226EB3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1670000000000000094BCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBD1C00000000000000B9B6B6B5B5B5B9BBBBBFC1C1C3990000000000000075CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C976000000000000009BC1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1B35F1D0000000000000000000000000000000000002B72B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B84100000000000000B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3A556150000000000000000000000000000000000002A78B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBB8C3303000000000000000000000000000000001067BDC8C9C6C5C60000000000000041B9B9B8B5B5B5B2B2B1B1B1B3B3B3640000000000000088B0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1904D0E000000000000000000000000000000000000001A539FABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB168230000000000000000000000000000000000000000032A7BB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D13702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6C6C9CACACACACBCBD9EFCEBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3A20F0000000000000000000000001EC9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C86909000000000000000000000000000000000000000000000000177DC9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B97215000000000000000000000000000000000000000000001676C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C572000000000000009CC5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC92000000000000000D0CECACECECBCBCACAC9C9C9CAA20000000000000072C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C672000000000000009BC1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6A7470300000000000000000000000000000000000000000000155EB5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B23D00000000000000A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABAB9D4303000000000000000000000000000000000000000000001467ACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0721A0000000000000000000000000000000000000000000861B0ACACB1000000000000003FB3B1B2B2B2B3B3B1B1B0B1B2B1B165000000000000008DB5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB89738000000000000000000000000000000000000000000000000003A9BBBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1AE4D03000000000000000000000000000000000000000000000000000863BBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B52D01010202020201010202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBCACAC8C9C9C8C9C8C8D0E4C1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B19F08000000000000000000000000001AB3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B28D15000000000000000000000000000000000000000000000000000000001A97B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBC9D250000000000000000000000000000000000000000000000000000219BB1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0AC600000000000000088ACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8AB1A00000000000000ABABABABA8A8A8ABA8A8A8A8A8840000000000000061ACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2670000000000000096BBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C37809000000000000000000000000000000000000000000000000000021A5D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D14E00000000000000D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D17A0A00000000000000000000000000000000000000000000000000001D99BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCA72C0000000000000000000000000000000000000000000000000034B6BFBB0000000000000043BBBCBDBBBBBCBFBCBCBDC0C3C3C06F0000000000000097BFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDB653030000000000000000000000000000000000000000000000000000000357B1B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3BC5603000000000000000000000000000000000000000000000000000000000018A3C9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C53402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBD1D1CBCBCAC9C9CBD0DCF2CEBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C03C00000000000000000000000000001DB9B9B9B8B5B5B5B2B2B1B1B1B3B3B35600000000000000000000000000000000000000000000000000000000000000035AB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACAC6703000000000000000000000000000000000000000000000000000000000378B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3670000000000000092BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C41E00000000000000C9CED0D0CECECECECED0D0D3D3A8000000000000007BD0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D67C00000000000000B1DBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8BF380000000000000000000000000000000000000000000000000000000000005ABBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BF4500000000000000C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9B52B0000000000000000000000000000000000000000000000000000000000005CC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1810300000000000000000000000000000000000000000000000000000023AEB60000000000000034C0C0C0C3C3C3C4C5C6C9C9C9C9C87400000000000000A1C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACEB21F000000000000000000000000000000000000000000000000000000000000001FB3CBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4AE1700000000000000000000000000000000000000000000000000000000000000000056B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A529010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9CBCECBC9C9C5C5C3C3CBE4C1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5AC0000000000000000000000000000001AB5B5B8B8B8B9B6B6B5B5B5B9BBB3440000000000000000000000000000000000000000000000000000000000000000000047C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C54700000000000000000000000000000000000000000000000000000000000000006ABBBDBDBDBDB9B9B9B9B9B9B9B6B6B367000000000000008CB1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABAB1900000000000000B0B0B0B2B3B3B2B5B5B5B2B2B1890000000000000065B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5670000000000000096C0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFA50F000000000000000000000000000000000000000000000000000000000000000028ACB1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B13D00000000000000B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8930D00000000000000000000000000000000000000000000000000000000000000002FACB5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B54D00000000000000000000000000000000000000000000000000000000000025BC000000000000001EC6C9C9C9C9CED0D0CECECECECED07800000000000000A7D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CE9B04000000000000000000000000000000000000000000000000000000000000000000129CCECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C89309000000000000000000000000000000000000000000000000000000000000000000000044C1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C33002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C3C3C5C8C5C5C4C5C8C5D3EBC6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B14D00000000000000000000000000000025A3A3A1A19E9E9E9F9FA3A29F991E0000000000000000000000000000000000000000000000000000000000000000000000003BA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B53F0000000000000000000000000000000000000000000000000000000000000000000075CECACECED0D1CECECECBCBCED0D47800000000000000A7D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D42100000000000000D0D1D0D0D0D4D1D3D3D6D4D1D1AA0000000000000078CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6670000000000000093BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFA7100000000000000000000000000000000000000000000000000000000000000000000023ACB8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B84000000000000000B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9A20F0000000000000000000000000000000000000000000000000000000000000000000024B9C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C347000000000000000000000000000000000000000000000000000000000000000045000000000000001EC3C1C1C1C1C3C3C3C3C3C0C1C1BD6E000000000000009BC3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8860300000000000000000000000000000000000000000000000000000000000000000000000397BFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4AE090000000000000000000000000000000000000000000000000000000000000000000000000047C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3C0C1C1C1C6C9CBCBD0CED3E9C6B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0280000000000000000000000000000003EB3B2B2B2B2B6B9B9B9B9B8BB3B000000000000000000000000001D435A68678F7E676A5B330F000000000000000000000000005AB9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C95700000000000000000000000000153F5F65758C756456380E00000000000000000000000076ACB0B1B1B1B1B1ACACACACB1B364000000000000008CB2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A81900000000000000A8A8A5A7A7AAACACACB1B3B5B5900000000000000065B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C16F000000000000009BC1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5AE110000000000000000000000000A3C5F7B78A794787A4C280000000000000000000000000028C8CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADA4F00000000000000D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8AE11000000000000000000000000093556726F99886D6D44240000000000000000000000000024B1B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C16F0000000000000000000000002657729C999797836941160000000000000000000000000000000000001DC1BFC0C0C1C1C1C1BFBFBFBFBFC16D0000000000000099C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BF9B03000000000000000000000000092C4C6C697790676969411C000000000000000000000000000FA7C0C0C0C3C3C3C4C5C6C9C9C9C9C8C81E0000000000000000000000000010264A7878779C9C77766D49280400000000000000000000000077CECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBF30020202020202020201010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E3E3E2E1DFDCD9D7D9D9E3F6D0C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C10900000000000000035B98C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B95200000000000000000000002978AAB8B8B5B6B6B9B8B6B6B6B2B69C4D0E000000000000000000000083BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C57A0000000000000000000000156CABB9B9B9B9B9BDBDBFBFC1BF97450300000000000000000009A3BBBBBFBFBFBCBCBCBBBDBDBF6F000000000000009FC6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C41F00000000000000C5C6C9C9CBCECECED1D3D1D3D4AA0000000000000078D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D47C00000000000000ABD6DADADADADBDBDBD9D9D9DBDCDFDFD51A000000000000000000000451A8DEE1E1DFDFDCDCDCDCDFE1D7962C000000000000000000000041E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E15400000000000000D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1C91200000000000000000000044AA5CECECED0D0D4D0D0CECECAC37C2600000000000000000000003DC1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB883000000000000000000000856A2B0B0ACABABB0B1B1B1B2B69C56080000000000000000000000000000001AACACACACACACACACAAAAAAA7A7A75E0000000000000080A3A5A5A3A3A1A3A3A3A7A7A7AAA8AA940D0000000000000000000007457CA19C9B9C9E9E9C9C9C9E9E9E9E652A00000000000000000000001FAAA8ACACA8A8A7A7A7A7ABA7A7AA600000000000000000000000184E87A7A8ACACACACACB0B2B2B2B2B0B08145080000000000000000000290A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B52E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C1C4C4C1BFC3C3C6C6C6D0E4BFACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8000000000000000081ACACACABABABABA8A8A8ABA8A8A8A8A8A8A884000000000000000000002997B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B167080000000000000000000FB3BDBBBDBFC1C1C1C1C1C1C3C4C4C4AA030000000000000000000978C5C8C8C5C6C9C9C9C9CED0D0CECECECEB5300000000000000000003BD0D3D0D1D1D3D0D0CECECBCA7500000000000000AAD3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D12100000000000000C8C6C9C9C9C9C9C9C9C6C8C9C89F000000000000006FBFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBC6D0000000000000098C1C1C1C1C1C1C4C3C5C5C5C6C9C9C92E0000000000000000000041ACBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0901D0000000000000000000054C1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBD4300000000000000BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C32C0000000000000000000049ABB9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C093160000000000000000000061C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0B60400000000000000000051C6D0D0D3D4D1D0D1D0D0CECECED0D1CEC65C040000000000000000000000000020D0D1D1D0D0D0D0CECACAC9C8C5C975000000000000009CC4C1BFBFBBBFC0C0BDBBB9B9B9B8B92A000000000000000000035FACB3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8902B0000000000000000000055A3A5A5A5A8ABABABABAAAAA7A2080000000000000000001F7AA5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A15808000000000000000034ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD5D5D3D1D1D3D1D3D0CED6EEC9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6A70000000000000028B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFB61600000000000000000472C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDAE3B0000000000000000004ABCC0C0C0BFBFBBBBBBBFBFBFBCBC2B00000000000000000026B5C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C34600000000000000000093C4C6C6C8C5C5C6C4C5C5C67600000000000000A7D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D62200000000000000D4D4D4D4D4D4D4D4D6D6D4D6D6AE000000000000007ED9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDC8300000000000000B5E1E1E1E4E2E2E2E4E4E3E2E2E4E28600000000000000000014A1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D16700000000000000000000A7D1D3D0D3D0CECECECECED0D0D4D0D0CE4A00000000000000C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1700000000000000000000F94B8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABAB54000000000000000000039BB6B6B2B2B2B2B2B2B1B1B1B1B1ACACAC2F00000000000000000275A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7820D000000000000000000000000189F9F9F9F9FA19C9B9C9E9E9C9C9C58000000000000007EA5A5A7A5A5A5A5A7AAAAA8ACACA85F0000000000000000001F90A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B27D03000000000000000003A5B3B1ACACAAA8A7A7A5A5A86700000000000000000361ACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9AC240000000000000000A8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B830020202020202020201010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9D7D4D3D0D4D5D5D3D1DAEFCAB8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1AC880000000000000039A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8AB5A0000000000000000027DABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A34700000000000000000297A5A7A7A8ABACB0ABA7AAAAAA7E0000000000000000001FA2AAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0AC3E000000000000000020ACACB1B2B2B5B5B8B8B8B3670000000000000094B9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBB1C00000000000000B5B1B2B0ACB1B3B1B1B1B1B2B18D0000000000000064B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A55E000000000000007EA1A19E9E9E9F9FA3A29F9FA2A5970200000000000000000D8DA3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA77603000000000000000014AAACACB1B3B1B2B1B1B5B5B3B8B6B6B23E00000000000000B8BBB8B8BBBBBBB8BBBDBDBDBDC1A703000000000000000018B5CED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D38C04000000000000000018D0CED0D0D3D0D3D3D3D4D4D4D4D4D38F0000000000000000049FD0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBB51100000000000000000000001DC1C0BFBDB9BDB9B9B8B6B9B6B2B6670000000000000093BCBCBCC0BDBFBFBBBBBBBBBBB9B208000000000000000025B9BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9A20F00000000000000004AB9B5B3B3B6B8BBB8B8B5B628000000000000000389B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9B51C000000000000005CBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C93502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6C6C9C9C8C9C6C6C6C4C1CAE3C0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0AC88000000000000005FB5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0AC9D0800000000000000006DA7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBC6D00000000000000004CC1C0C0BCC0BCBCBBBBBDBDBD16000000000000000015ACB3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3AC2300000000000000008CBCBCBCBCB9BCBCC0C3C3720000000000000097BCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C11E00000000000000CACACACACED0D0D0CECACECACAA20000000000000074C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6720000000000000098C3C1C3C1C1C1BDBBB9B6B3B3B84100000000000000000FA5B9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACAC840300000000000000005FB2B2B6B3B3B1B1B1B1B1ACABABABAB3B00000000000000B0B2B3B3B2B5B5B5B2B2B1B0ACB13600000000000000000FA2B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B58700000000000000000076BDBBBBBBBBB9B9B9B9B9BBB8BBBD16000000000000000081C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B19B0E000000000000000000001BACB0B0ACAAACB0B1B1B1B1B1ACAC61000000000000008DB3B1ACB1B2B5B6B6B5B2B0B0B05A000000000000000019A5ACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACAC9F0E0000000000000003A8B5B3B2B5B6B6B3B3B1A800000000000000006FB8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C39B000000000000002EC8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D43702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7D7D5D1D5D7D6D4D3D1DAEFCAB9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBC98000000000000006AB8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B96400000000000000003FB6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BF440000000000000003BFC9C5C5C3C1C1BFBCBBB98800000000000000000393B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFAE03000000000000003DC3C3C6C3C6C4C4C8C6C472000000000000009CC4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C91F00000000000000D3D4D4D1D3D3D1D4D0D0D0D0D0A7000000000000007CD1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DA8000000000000000AEDBDCDFDFDCDCDADAD7DBDBDBB9000000000000000004B3DFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E28800000000000000000AD7DEE1E1E3E3E1DFDBDAD7D4D4D4D74F00000000000000D1D1D1D1D1D1D1D1D1D1D0D0D1B1000000000000000004B0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C067000000000000000008B9BCBCBBB8B9BDBDBBBBB9BBBB72000000000000000043ABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1830000000000000000000019A7A7A7A7A3A19EA2A2A3A3A3A3A55D0000000000000082A7AAA8AAAAAAA7A5A39F9FA39F060000000000000002899E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACAC93080000000000000049AAA7A7A7A5A7A7ABA7760000000000000020ACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A81900000000000000B1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B22D01010101010101010102019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C8C9C9CACAC9C9C9CACAD7EEC9B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBC940000000000000072C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8150000000000000003A5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACE1F0000000000000075C9C8C8C9C8C8C6C9C9C94000000000000000004DC4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C16D0000000000000003B5BCB9B9BBBDBDBDBDB96A000000000000008DB3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B31A00000000000000ABABABAAACACACB0B0B0B0B0B28D0000000000000064B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B969000000000000008FB5B6B9BCBCBCBCBCBDC0C0BD4A00000000000000006CB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B93200000000000000005DB3B3B3B1B5B1B0B0B0B0B1ACB0B03D00000000000000B1ACACACACB1B3B1B1B1B1B3B336000000000000000064B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A82D000000000000000061ACB1B3B5B5B6B9BCB9B8B8B522000000000000000EAAB1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3560000000000000000001EC3C1C4C4C4C5C8C8C5C6C9C9C9C97700000000000000A5D0D3D3D3D0D1D0D0D1D1D0D381000000000000000051CACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDB920000000000000012D1D1D0CECECECEC9C8610000000000000082C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B84100000000000000A3B9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBB3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DBDCD9DBDEDEDEE2E3E6ECFBDBCECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C99F0000000000000072C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C49E000000000000000051C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1A2000000000000002CC1C1C0C0C0C1C1BFC0B6030000000000000003AEBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C516000000000000007EC1C4C1C3C5C3C4C6C874000000000000009EC6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACA2000000000000000D0D0D3D3D1D1D0D0D0D0CED0D0A50000000000000078D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B96D0000000000000097C0C0C1BFBFBFBFC1BFC0BFB603000000000000001DB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6A7080000000000000015B2B6B2B2B2B6B9B9B8B5B5B8B9BB4300000000000000C1C3C6C4C6C9C5C5C3C1C1BFAC030000000000000023B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFA703000000000000001EC3C6C3C6C4C4C8C6C4C4C5AC00000000000000007BC6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9C40A000000000000000021D3D3D1D4D0D0D0D0D0D0D0D0D0D37A00000000000000AAD6D6D7DBDBD7D4D4D4D3D4D4320000000000000004C6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDE3F000000000000009FDFE1DFDCDCDFDFE15300000000000000DBE4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D74F00000000000000A7D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D9DCDCDADBD7D7D5D6D6E3F6D3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B38D0000000000000064B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B24D000000000000000097ACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A72500000000000000969F9FA3A5A39F9F9F670000000000000000359C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7650000000000000033A5A7A7ABA7A7A7A7A75C0000000000000088B0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B11B00000000000000ABACB1B1B2B2B1B1B1B1B2B3B18D0000000000000069BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6690000000000000090B9B9B9B5B5B5B9B9B9BCBB7300000000000000008CBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B05C000000000000000087ABAAAAAAAAAAA8A8ABA8ABB0AC3D00000000000000B5B5B5B5B5B5B3B3B1B2B1B16400000000000000007EB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB94A000000000000000097BFBFBFC1C0C0BCC0BCBC520000000000000015B9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B35800000000000000001DB9BCBCBCBCB9BCBCC0C3C3C5C5C5720000000000000094BCBCBBBDBBB8B5B5B5B8B8B103000000000000003ABFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACA9B0000000000000057C9C9C9C9C9C8C8C51E0000000000001DC3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B83A0000000000000086BDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D4D4D1D3D4D0D1CED1D9EBC6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3980000000000000072C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECE18000000000000002FCBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C19E6E6D6D6E6E6F6EB2C3C3C3C0C0C1BFBB49000000000000000090B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8080000000000000FBBBFBFC1BDBDBCBDBD6D000000000000009CC6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C51E00000000000000C8C5C5C5C5C5C1C1C1C4C1C3C398000000000000006DBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1640000000000000087A8A8A8A8A8ACABA8AAA8A52C0000000000000018A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A39F020000000000000045A5A5A7A3A7AAACB1B0B1B1B5B53F00000000000000B3B3B5B6B5B5B8B9B9B6B5B529000000000000001DBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6B6040000000000000061C6C9C9C9C6C4C1BFBCBC1D000000000000005CBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8AA00000000000000001CB8B5B5B5B5B2B2B5B8B9BBBCBCB967000000000000008CB0B0B0B1B1B1B2B2B1B2B577000000000000000083BBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBF766E6F6F6F727081C5C9C8C8C6C5C5C63E1F1F1F1E1F1F40C8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C1090000000000000082C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9DEDEDFDEE1DFDEDBDBE6F7D5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C99E0000000000000070C5C9C5C5C3C5C5C8C9CACAC9C9C6C9C4000000000000000060C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C31E0000000000000010C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C63F00000000000000B1C9C9C9CED0D0D1D07800000000000000A5CACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D02100000000000000C6C4C1C1C1C1C1C1C0BDC0C1C197000000000000006DBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBD6A0000000000000093B9BBBBB9BDBDBDB9B9BCB903000000000000005FB6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1450000000000000010C1C1BFBCBBB9B8B6B9BCBBBBB94100000000000000BFC1BFBFC1BFBFBFBBBBBCB900000000000000006DBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C63F000000000000001FC5C5C5C4C4C6C6C8C5B60000000000000000B5CECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3320000000000000021D4D4D3D4D4D4D4D4D4D4D4D6D6D47C00000000000000B0D9D9D9DBDCDFDFDCDCDADA610000000000000004DEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECE650000000000000000A2CAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B32D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D7D7D3D7D7D1D3D3D3E1F4D3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C49E0000000000000074C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9990000000000000000A5CBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C100000000000000003BBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0904343434343434199B6B9B9B8B9B9B9B96C0000000000000094B9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B81A00000000000000BFBFC0C1C1C1C3C6C4C6C9C5C59B0000000000000067B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBF6C0000000000000094BBBDBDBFC1C3C3C6C3C69C0000000000000000AEC5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6900000000000000000C3D4D4D1D3D3D1D4D0D0D0D0D04C00000000000000D4D1D4D3D4D4D6D6D7DBDBA50000000000000000C5D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDC970000000000000000D7DCDCDCDCDFE1DFDC96000000000000001CE2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4740000000000000022D4D1D1D1D1D1D1D1D1D1D1D0D0D17A00000000000000A5CED0D0D4D0D0CECECACAC82E000000000000002EC6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19E540000000000000000008CA3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A529010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFD0D0CFD0CECBCECED1D7ECC9B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C49B0000000000000072C4C4C1BFBFBBB9B9BCBCB9BCBCBCBB6B0000000000000003C0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C19C00000000000000006FBFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C67500000000000000A2CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D12000000000000000C6C8C9C9CAC8C8C9CBCBD0D1D1A50000000000000074C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B968000000000000008DB5B3B6B3B1B1ACACB1AC5A0000000000000013A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5020000000000000075A7A7A7A7A5A3A5A5A7A3A5A73900000000000000A5A5A7A7A8ABACB0ABA7AA51000000000000001FA7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0A7000000000000000087B8B8B8B3B3B8B9BC53000000000000004DB5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B68F000000000000001AB1B1B1B1B2B1B3B6B6B5B5B2B1B1640000000000000089B1B2B2B5B5B1B2B2B3B1B10E0000000000000050A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B685210000000000000000000FB8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D33802020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7B0AEAEB2AEB2B1B1B6B9C4DAB6A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B18F0000000000000064B5B2B2B2B5B8B8BBB8B8BBBBBBB8BB53000000000000001EC5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3970000000000000000AAD4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBD6A000000000000008DB6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC11E00000000000000B9B9B9BBBBBBBBBCB9B6B6B9BC940000000000000069B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6670000000000000092B8B6B9BCBCBFBCBBB9BB410000000000000043B9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C125000000000000005FC0C0C0C3C0C3C5C4C4C1C3C64800000000000000C9C9CBCECECAC9C9CAC9C8400000000000000052C9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C01E000000000000006CB9B9B8B6B8B8B8B82A000000000000006EB3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBF000000000000001DBCBFBFC1C1C4C6C4C6C6C4C4C3C472000000000000009BC1C3C1C1C4C4C8C8C8C6C600000000000000008FC9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A572450C0000000000000000000000369A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B32C010101010101010102010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFCBCECECFCFCECFD1D0D7ECCAB9BCC0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C094000000000000006DC1C0BCB9B8B8B3B3B3B8B9B9B8B8B63F000000000000003FB5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A75C000000000000000097A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBF6D000000000000009FC8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C81F00000000000000CAC9C9C6C6C3C3C5C8C8C8C8C89F0000000000000077CBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C974000000000000009CC1C1C0BDBCBCBFBFBFC1250000000000000076C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C64E0000000000000045C1C1C0C1C1C0C0C0C1C1BFC04300000000000000C0BFBFBFBDBDBDC0C0C0C11D000000000000006FC1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8470000000000000047C6C6C9C6C8C9C9C91800000000000000A5CBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCE1200000000000020CECBCBC9C6C4C1C1C1C1C1C1C0BD6E0000000000000093B9B9BDBFBFBDBDBDC1BF9D00000000000000009DC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6936A380400000000000000000000000000009BB9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C63202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6C5C5C6C6C8C6C8CAD1E7C6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B28D0000000000000067B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5230000000000000052BBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAA580000000000000000ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1640000000000000090BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBD1D00000000000000B5B3B3B3B6B6B3B5B5B5B5B8B9900000000000000064B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C16D0000000000000094BBBDBBB8B5B5B5B8B8B815000000000000008CBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9740000000000000026C9C9C8C8C5C3C5C3C1C4C4C44500000000000000C6C5C5C4C1C1C1C1C0C0C3100000000000000090B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1610000000000000032B8B3B3B5B5B6B2B20000000000000000ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B21A0000000000001CBBBCBCBCBCBCBDB9B9B9B9B9B9B9690000000000000090B9BCBCBCBCBCBDC0C0BD940000000000000000BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B19D754D200300000000000000000000000000000000004BABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B12C01010101010101010101019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED9D7D9DBD9DADBDCDEDEE6F8D7C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBC94000000000000006DBFBCBFBFBCBCBCBDBDBDBDB9B9B9B61C0000000000000022404040404041414141434341413F40403F3F3F3F3F3F3F404141434341403F3F3F3F3F3F3F3E3D3D3D3EB1B1B2B2B1B2B5400000000000000016BBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C57200000000000000A2C8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC91F00000000000000C6C6C8CAC8C9C6C9C5C5C5C8C59C000000000000006BB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C06D0000000000000094BFBDBDBDC1C3C4C8C5C500000000000000009CC5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECE8B0000000000000020CACAC9C9C9CACAC9C8C8C9C94700000000000000C6C9CAC9C8C5C5C5C6C6C90000000000000000ABC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B667000000000000001CB9B6B8B8B9B8B5A20000000000000000B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABAB1900000000000018A8ABACACACACACABACB0B1B1ACAB61000000000000008CB3B3B2B2B2B1ACACB0B18C00000000000000003B3B3B3D3D3D3D3E3E3E3D3D3D3E3D3D3D3E3E3E3F3E3D3B3B3D3D3D3D3B3B3D3B3B3D3D3D3D3B3B3B3B81B1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0AC996944260800000000000000000000000000000000000000000022B1B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBD3002020102020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C9CECFD0D4D6D7DAD7E4F6D5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACAA20000000000000075C9C9C9C9C8C8C5C3C5C3C1C4C4C4C11E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B3B3B3B3B2B2B13E000000000000001AB8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1640000000000000092B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBC1D00000000000000BBBBBBB9B9B9B9B9BBB8BBBDBD97000000000000006FC4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1670000000000000089B0ACAAACB0B1B1B1B1B10000000000000000A2B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8840000000000000019A8A8A5A7A7AAACACACB1B3B53F00000000000000B3B2B5B6B6B3B3B1B1B1B10000000000000000B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C89F0000000000000020D0CECECECECED0A50000000000000021D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D63D00000000000023DBD9D9DBD9D6D3D6D3D1D1D1D0CE7700000000000000A2C9C9C9C9C6C8C9C8C8C49C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000072C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9AC6B3308000000000000000000000000000000000000000000000000002CB9BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B92F02020202020101010101019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D3CFCED1CFCACECACED9ECC9B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B893000000000000006FC1C1C3C6C4C6C9C5C5C3C1C1BFBCBB1C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C4C4C8C6C4C4C547000000000000001EC6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D07800000000000000AAD1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DA2200000000000000D9DBDCDFDFDCDCDADAD7DBDBDBB00000000000000084E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E48600000000000000B2DFDEE1E1E3E3E1DFDBDA0000000000000000D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECEA20000000000000009C6C3C6C6C5C5C1C1C0C0C0C14500000000000000BCC0BCBCBBB8B9BDBDBBBB0000000000000000B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACAC880000000000000018A7A7A3A19EA2A2800000000000000017A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C2300000000000017A3A5A5A7A5A5A5A5A7AAAAA8ACAC5F0000000000000083AAAAA7A7A7A5A7A7ABA783000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061B1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B1682A0000000000000000000000000000000000000000000000000000000357B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B52C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF8F9F9F9FCF9F8F9FCF9FCFFE7E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7AC000000000000007AD1D1D1D1D1D0D0D1D1D3D0D3D0CECE200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000BBBBB9B6B6B3B33E000000000000001AB1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A55B0000000000000082AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E1700000000000000A5A7A5A5A5A5A7AAAAA8ACACA8840000000000000060AAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B064000000000000008CACACAAA8A7A7A5A5A8AA0000000000000000ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5900000000000000000B2B2B3B8B8B6B6B6B6B6B9B94100000000000000B9B9B5B5B5B9B9B9BCBBBB0000000000000000BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACAC870000000000000019AAAAAAA8A8ABA8870000000000000019B0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7190000000000001AB1ACACB0B1B5B1B5B8BBBBBBB9BC6B0000000000000097BFBFBFC1C0C0BCC0BCBC9400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFAE4A03000000000000000000000000000000000000000000000000000000034EB6C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C33202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9D7D4D3D0D4D5D5D3D1DAEFCAB8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1AC88000000000000005DA3A3A1A1A3A5A5A7A3A3A3A3A3A5A51F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A7A8ABACB0ABA7510000000000000018A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3670000000000000094B9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBB1C00000000000000B5B1B2B0ACB1B3B1B1B1B1B2B18D0000000000000064B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A55E000000000000007EA1A19E9E9E9F9FA3A29F00000000000000009F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABAB870000000000000014B3B1B2B1B1B5B5B3B8B6B6B23E00000000000000B8BBB8B8BBBBBBB8BBBDBD0000000000000000C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6AB0000000000000020D3D0D3D3D3D4D4AA0000000000000020D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC91F0000000000001DC1C0BFBDB9BDB9B9B8B6B9B6B2B6670000000000000093BCBCBCC0BDBFBFBBBBBB94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067B3B6B8BBB8B8B5B6B3B6B5B8B8AA47030000000000000000000000000000000000000000000000000000001661ACBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C93502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CECFCFCECFCFD1D3D4D4E1F3CFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBD970000000000000072C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020D3D1D1D1D4D1D47B000000000000001AD4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE18400000000000000B5DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDE2400000000000000DBDAD7D4D4D4D7DAD6D4D7D7D7AC000000000000004CD1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C575000000000000009CC1C1C0C0C0C1C1C3C0BD00000000000000009CB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B68D000000000000001BB1B1ACACACACACACACACAAAA3B00000000000000A2A2A3A3A3A3A5A5A3A3A10000000000000000A2AAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5740000000000000019A8ACACA8A8A7A783000000000000000DA7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B31A00000000000018A5A5A8AAABB0B1B1B0ABACB1ACAC61000000000000008CB1B1B2B3B1B2B5B2B2B69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBBBBBBBBBBBBB8B8B5B8BBBB7C0900000000000000000000000000000000000000000000000000000E4C88ACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA829010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DADBDCD9DBDBDBE1E1E3EFFBDBD1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1AA000000000000007EDBDBD7D4D4D4D3D4D4D4D4D4D4D4D44D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024E1E1E1E1E4E2E2900000000000000000E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D07700000000000000A7D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBD1D00000000000000B8B9BDBDBBBBB9BBBBB9B6B6B38D000000000000003EB1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACAC610000000000000082A3A19EA2A2A3A3A3A3A5020000000000000082A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA25C0000000000000018A5A7AAAAA8ACACA8A8A7A7A73A00000000000000A7A5A7A7ABA7A7A7A7A7A3000000000000000089B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1AC61000000000000001BB1B1B1B2B3B1B28F0000000000000000BCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BB000000000000001AB5B5B9B9B9BCBBBBBBBBBBBBB8B8670000000000000098BDB9B9B8B8B6B2B6B6B6B2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075B3B1B2B1B1B0B0ABABB0AC6900000000000000000000000000000000000000000000000003295D97B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB12C01010101010102020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0BFC0C4C4C5C5C6CAC8C8D1E7C6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAA86000000000000005AA2A3A3A3A3A5A5A3A3A1A3A3A3A7A75E000000000000001E5A5A5B5D5B5A5A5A5A5A5A585658585858585858585858585A5C5A5B5D5D5E5D5D56000000000000002DA8A7A7A7A7ABA7830000000000000000A3A7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABAC640000000000000075B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B51A00000000000000B2B3B8B8B6B6B6B6B6B9B9BBB994000000000000003FB5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B665000000000000008FB1B2B2B0ACACB0B0B0B0190000000000000067ABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B05C0000000000000034B0ACACAAAAA8A7A7A7A7AAAA3B00000000000000B0B1B5B1B5B8BBBBBBB9BC1D0000000000000086BFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B550000000000000003DACB1B1B1B3B5B68D0000000000000000BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8A1000000000000001CBBBBBFC1C1C3C1C3C3C5C9CACAC97500000000000000A5CECACECACACACBCACACACA040000000000000075767676767474727072706F7272726F70727270727272727272726F6F6F6F6E6E70250000000000000090B3B3B8B9BDBCBCB9B9BB9E0300000000000000000000000000000000000000000E2F5A80ACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B830020202020202020202020199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5DFE3E3E3E3E6E3E6E6E2EFFCDACBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAA10000000000000076CBCBCBCBCBC9CECBC9C6C6C6C4C4C483000000000000002CC1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B88F000000000000003FB1B2B2B2B5B8B6AA000000000000000090B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1640000000000000061B0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB11A00000000000000ACACACA8A8ACABABACB0B0ACAB870000000000000022B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B265000000000000008CB1B2B3B3B3B3B3B3B8B330000000000000004FB1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BC3B0000000000000041BDBDBBBDC0C0C0C0C1C1C5C54600000000000000BBBFBFC1C1BDC1C1C1BFBD24000000000000005CBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0350000000000000053BCBDB9B8B3B3B8B2000000000000000090B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC190000000000000001EC5C5C3C3C0BDBDC1C1C1C1C0BFC17200000000000000A1C9C9C9C9C8C8C9C9C9C9C91F00000000000000A3D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDC4000000000000000D0DCDBDBDBDBDBDADBD9D92A00000000000000000000000000000000133E6D9AC3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5CAC6C6CAC9C9C5C6C6C5D0E2BCABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0AC8C0000000000000065B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9A20000000000000008B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC177000000000000006AC5C6C6C3C3C1BFBF080000000000000065B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5650000000000000041ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AA1900000000000000B9BCB9B8B8B5B3B2B5B6B6B3B38C000000000000000EB2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C370000000000000009FC8C5C6C9C9C9C9CED0D05C000000000000003CD3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3190000000000000080DBDBDBDBDBD9D9DBD9D6D3D64D00000000000000CEC9C8C6C9C9C9C9C9C9C94E000000000000003EC4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBF100000000000000077C1C1C1C1C1C4C3C5000000000000000081C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C15F000000000000001DBDC1C1C1C1C4C1C1C1C1C1BFC1C06D000000000000009BC1BFC1C1BFBFC1C1C4C4C4460000000000000063B9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C91700000000000004C3C4C6C6C9C9C9C9C5C8A700000000000000000000000000185188BFD0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B92E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DADEDEDBDBDEDFE1DEDBE6F7D5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBB920000000000000065B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B008000000000000008CA8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A993A00000000000000759E9E9EA1A2A2A3A525000000000000002BA5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC06E0000000000000025C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C91F00000000000000BCBCB9BDBBBBBFBFBFBFBCBFBF940000000000000000B2B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5670000000000000094BCB9B6B3B5B5B5B2B5B3750000000000000008B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9AE000000000000000094BCBFC0C0C1C1C1C5C3C3C5C94700000000000000C6C8C5C8C8CAC8C5C8C4C3780000000000000009C0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5AC00000000000000009EBDBCB9B9B9B9B8B81C0000000000000054C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C82D000000000000001EC5C5C5C5C3C3C6C6C6C6C4C6C6C97600000000000000A3C9CBCAC9C9CAC9CEC9CECE6E0000000000000039CBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C10000000000000028CBC9C6C6C6C4C4C4C5C35F000000000000000000001C6CA2B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A72A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D9DADBDADBDCDAD9DBDBE4F7D4C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C59E000000000000007BD1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D030000000000000005FD3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDB2B00000000000000CBDCDADAD7DBDBDBDB6F000000000000000ADFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1D0B5B5B5B2B3B2B3D5E1E1E3E3E1DFDBDA7E0000000000000004D0D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D02000000000000000C8C8C5C9C5C6C6C3C6C6C5C5C19B00000000000000007CBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABAB54000000000000008DB2B6B9B6B6B2B2B2B2B29C000000000000000078ACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AA5F0000000000000002A3A5A39F9F9F9F9FA19C9B9C9E36000000000000009EA2A3A2A3A5A5A7A5A5A588000000000000000083A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2560000000000000008B3B3B3B1ACACAAA8A73A0000000000000021B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCB503000000000000001CB5B5B5B8B8B5B5B5B2B2B3B8B8B6670000000000000094BBB9B9B8B9B9B9B5B5B5B9920000000000000003B1B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACAC7B0000000000000044ABABABABABAAAAAAAAAA1F0000000000000000147EABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBD30020202020101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CECFCFCECFCFD1D3D4D4E1F3CFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBD970000000000000072C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C66A0000000000000010C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1C40000000000000018D0D3D1D1D1D4D1D4D3AA000000000000000098D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDF5A00000000000000D3DCE1E1DFDEDEDEE1840000000000000000A2DCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDE1400000000000000DBDAD7D4D4D4D7DAD6D4D7D7D7AC00000000000000004CD1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C548000000000000009CC1C1C0C0C0C1C1C3C0BDBD0F0000000000000040B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B61B0000000000000030B1B1B1ACACACACACACACACAAAA3B00000000000000A2A2A3A3A3A3A5A5A3A3A1A30D0000000000000041AAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A313000000000000002DAAA8ACACA8A8A7A7A75800000000000000009FA7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B16E000000000000000018A5A5A8AAABB0B1B1B0ABACB1ACAC61000000000000008CB1B1B2B3B1B2B5B2B2B6B8B808000000000000006FB8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B851000000000000007ABCBBBBBBBBBBBBB8B8B50F000000000000001DB2B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA829010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D5D5D0D1D0CFCECECED9ECC9B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B087000000000000005FAAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A38D000000000000000072999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A75C000000000000004FB5B5B2B5B3B3B3B1B1B3080000000000000038B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C61600000000000004C8C4C4C4C6C6C8C9CE77000000000000000038C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9AB0000000000000000B9B9B5B6B6B6B8B8B9BBBBBBBC94000000000000000003ABB2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B21A0000000000000093BDBBBBBBBBBCBDC1C3C6C4560000000000000004B6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C496000000000000000074C4C3C3C3C3C3C1BFC0BDBDC0C34700000000000000CACAC9CAC9C9C9C9CACACBC9510000000000000009BDC5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C190000000000000000080C0C0BDBFBDBDBDC0BF9D00000000000000007CC5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCB2800000000000000001FCEC9CECECECED0CED0CECACECECB7700000000000000A2C8C8C9C9C8C8C4C6C9C8C4C83F0000000000000026C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBC0800000000000000A8B8B6B3B3B6B6B6B6B6B600000000000000009BB8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1AC2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9D0D3D0CFD1D4D0D1D3D6E4F6D0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C19B000000000000006DBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C11D0000000000000015B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C617000000000000008DC3C4C6C6C9C9C9C9C5C8500000000000000000ACC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9B10000000000000026C8C9CBCBD0D1D1D0D078000000000000000000A8C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B878000000000000000EB3B6B3B1B1ACACB1ACACB1ACAB8400000000000000000056A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5000000000000000083A7A7A7A7A7A5A3A5A5A7A381000000000000000040A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0210000000000000003A2B1B1B0B0B0ACB1B2B1B1B0B0B03D00000000000000B5B5B8B8B8B3B3B8B9BCBCBB88000000000000000061B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1220000000000000003A2B1B2B1B3B6B6B5B5B2B10E0000000000000021B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A57A00000000000000000018A29F9FA2A5A5A29F9F9E9F9EA2A35F000000000000007A9B9B9F9B9F9E9EA2A3A7A7A775000000000000000067ABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B871000000000000002ABDBDBDBDC1BFC1C1C5C5C50000000000000020D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D64D4E4D4C4C4A4C81D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCB3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D3D3CECFCFCECECECED6EBC5B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5900000000000000064B1B1ACABABABABAAACACACB0B0B0B0B0B26700000000000000006AACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B972000000000000000EB5B6B9BCBCBCBCBCBDC0C09E000000000000000032BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBC490000000000000046B1B1B1B3B3B3B1B5B1640000000000000000002FB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B54D0000000000000019ABACACACABACACACACABABABAB8400000000000000000008A2A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B37B00000000000000008DB5B8B8B9BCB9BBBBBDBBBDBF1D0000000000000003ACC1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECE88000000000000000042D0D1D1D0D3D0D1D1D3D0D0CECECB4900000000000000D1D4D3D4D3D3D0D3D3D4D4D6D61A0000000000000004BFD9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C984000000000000000045BFBFBFBFBFBCBCB9BBBBBB52000000000000000088B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5260000000000000000001DBBB9B9BCBCB9BCBCBCBBBCBDBBBB6B0000000000000098C1BFC0C0C1C1C1C1BFBFBFBFBF100000000000000016B9C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0160000000000000067B6B9B9B9B9B9B9B9B9B9B6000000000000003CC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9B90000000000000070CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D03602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E9E7EAE9EAEBEAEBECEBF4FFDFD4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0A30000000000000077CBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB203000000000000000397B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1B60F0000000000000051BBBBBBBBBCB9B6B6B9BCBCBC24000000000000000078BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6AE080000000000000078B8B6B9BCBCBFBCBBB96C000000000000000000007BBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBF09000000000000002CBFC0C0C0C3C5C3C0C0C0C3C0C39C0000000000000000000047C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8470000000000000000C3C3C1C1C1C1C3C3C3C3C3C0C16F00000000000000002CC3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8A80F000000000000000086B2B2B1B2B3B3B3B5B8B6B8B3B3B84100000000000000BDBCBDBDBFBCBFBFC1C1C4C6C46A000000000000000035C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9B009000000000000000099C3C3C0BDBFC0C0C0C0BDBD9E000000000000000023B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0640000000000000000000019A5A5A5A7A8A8A5A5A3A3A3A3A3A35B000000000000007B9A999997979796979B9B9E9E9E4B000000000000000035A8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3670000000000000003A5B5B5B5B5B9B9B9B9BCBCBC0900000000000024BCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CE8A0000000000000097C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBB30020201010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9D7D5D5D4D3D3D0D4D4E1F4CEC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBC94000000000000006CB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C15F000000000000000015ACB3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B83A0000000000000003ACB8B8B8BBBBBDBFC1C1C1C1C390000000000000000003A5BDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9480000000000000004C8D1D4D6D7DADBDEE1E1840000000000000000000004C4DFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE18B000000000000000058D9DADAD6D4D4D4D4D6D4D7DBDBB000000000000000000000007AD1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5AB03000000000000000FBDBDBDBDC0C0BDC0C0BFC1C1C1C116000000000000000056C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C52600000000000000002CC4C6C9CBCECEC9C9C9CBCBD0D0D3D34D00000000000000CECBCBCBCBCBD0CBCECECECED0C90A000000000000000065D0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D02B00000000000000004AE2E4E3E1DFDCDCDCDCDFDCDBDB2B000000000000000077DEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3C0040000000000000000000025E2E4E4E4E4E2E2DFDCDADADADADA8100000000000000AED7D7D4D1D0CBCBC9C8C8C6C5C5BD09000000000000000072C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA88902000000000000003D9E9FA2A2A2A29F9F9E9E9E9B1D000000000000079E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A72C00000000000003AAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C33202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFD1D1CECAC9C9C9CAC8D5E9C1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBB940000000000000072C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCB509000000000000000026B9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C365000000000000000050C4C8C8C9CACACAC9CAC9C9C9C9CA27000000000000000011AEC9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B97B000000000000000034C1C1C1BDBFBFBFC1C1C16E00000000000000000000000FA5BDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6AE0400000000000000007DCBCBCBCBCBC9CBCAC9C9CAC9CEA20000000000000000000000047FCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C927000000000000000038CBCBCBCBCBC9CECBC9C6C6C6C4C4780000000000000000006FC1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B84000000000000000000093B0B1B0B1B2B2B1B2B2B2B5B8B6B9B63F00000000000000B8B6B2B5B8B8B9B9B5B5B2B2B0AC690000000000000000005EA8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1AC2200000000000000000090AAAAAAA7A7A7AAABA8ABACACAC8100000000000000000381B1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACAB960D00000000000000000000001AB5B1B1B5B1ACACACB0ACACB1B0AC64000000000000008DB2B2B3B3B1B1B0B1B2B1B1B2B3B35F00000000000000000068B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9A10F0000000000000000A5BBB9B9BCBFBFBDBDBDBBB9B94A0000000000000076C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBD860000000000000033BCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B82F010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E1E2DFDEDCDCDCE1DEE1E7F8D5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBC93000000000000006FBDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBF6D000000000000000000109CC5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCB51000000000000000004B9CAC9CEC9CECECECED0CED0CECACEAC0400000000000000001197C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C68D0400000000000000009BC9C6C6C6C4C4C4C5C3C36F0000000000000000000000000E87B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9AE23000000000000000000A2B2B2B1B2B2B2B5B8B6B9B6B2B6920000000000000000000000000058B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACAC5300000000000000000061ACABABABACACB1B1B3B3B2B2B2B1AC260000000000000000004EAAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1AB2800000000000000000043ABABACB0B0ACABABABABACB1B2B6B6B53F00000000000000B5B1ACACACB0ACACB1B0ACB0ACACAC1A0000000000000000005DB0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5A52200000000000000000050B9BBB8B5B6B6B3B5B9B8B8B9BCB9B92A00000000000000000386BDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C39B100000000000000000000000001DC1BFBDBDBDBDBDC0BDBDC0BDBBBC6B0000000000000094BFBCB9BBBBBBB8BBB9BCBCB9B9B9B5160000000000000000004DBCC1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5970F000000000000000048B5B5B5B8B9B9B9B9B8B9B9BBBD7B0000000000000009A8C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC193040000000000000086C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DF3A02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E6E9E6E4E6E6E9EAE9EBF4FDDED6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3AA0000000000000077D0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECE30000000000000000000004DBCC3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2971B00000000000000000064BCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBF5F0000000000000000000051B3BBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B14900000000000000000024B9B5B3B3B6B8BBB8B8B5B667000000000000000000000000000049AAB8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9A2230000000000000000002CBDBDBFBCBCB9BCB9B6B6B6B9BCB993000000000000000000000000000025A0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9C44A00000000000000000000BBC9C9CAC9C8C9C8C9CBCACAC9C9CBC9B10400000000000000000035ABC1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C08A0F00000000000000000015B1B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B34000000000000000B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8960300000000000000000033ACBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C48F1000000000000000000016BDC4C8C8C8C6C6C6C5C5C5C8C8C6C5C8B10400000000000000000056B9C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBB5A03000000000000000000000000001AB1B1B1B1ACACB1B0B0B0ACACACB0640000000000000087A8AAA8A5A5A5A7A8A8A5A5A3A3A3A3800000000000000000000011709997979796979B9B9E9E9E9EA1A2A2A3A59F4E020000000000000000089DA7AAACB1B0B1B1B5B5B5B2B5B3AC08000000000000000EA1B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C064030000000000000009C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBC30020202020202020102010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DFE2E3E3E1DFDFE1DFDEEAF8D7CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C19B000000000000006DC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6A10F00000000000000000000034790B8B8B8BBB9B8B5B5B5B3B3B2B27B30000000000000000000001CB9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C42600000000000000000000095FA7C0C0C3C1C3C1C1C4C4C8C8C8AE61090000000000000000000097C5C5C5C5C5C1C1C1C4C1C370000000000000000000000000000000034992B9B9B8B8B5B5B2B5B5B5B5B5A44D030000000000000000000069B0B0ABA8A8A8A8A8ACABA8AAA8A58100000000000000000000000000000000236E979F9E9A999997979796979B945F120000000000000000000035A8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B56F000000000000000000000347A5B5B8B9B9B6B5B5B5B5B5B9B9B9B9943B000000000000000000000397C0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C44500000000000000CBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBC6A000000000000000000000353ACBDBDBDBDB9B9B9B6B9B9B5B9B9B98C2300000000000000000000039CB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBC5A00000000000000000000085CA2B1B1B2B2B1B2B5B6B6B6B6B6AE69150000000000000000000000000000001FC8C8C9C8C6C9C6C3C3C3C3C3C1BD6B000000000000009BC5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5630000000000000000000000257DB9BDBDC0C3C5C5C8C4C8C8C9CABB64090000000000000000000082C6C8CAC8C9C6C9C5C5C5C8C5C5C1C15F00000000000000000361B1B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBF761D00000000000000000064C0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D4D5D3D4D4D3D4D9D6E1F2D0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5670000000000000000000000000000000000000000000000000040B2B6B9B9BCBCBCBCB9BCBCBC8D030000000000000000000000000F3B6B7B94949494966C503003000000000000000000000003A3BFC1C1C3C1C3C3C5C9CACAC9C9CACACACACEC8110000000000000000000000001848748FA29F9F9E9776481800000000000000000000000046C5C5C3C4C4C6C6C5C5C4C1C16F0000000000000045000000000000000000000F335A72949696969672512A00000000000000000000000015B1B1B1B1ACACACACB1B5B8B8B9B8B38D000000000000003F0000000000000000000003264A6181898989897D5F300800000000000000000000000396B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB951000000000000000000000000306F9BBCBCBCBCBCBDC0C08D5A1C0000000000000000000000007DBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C14400000000000000B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0460000000000000000000000032F6997ACB1B3B1B1B1B1AC8656140000000000000000000000007DA8A8ABACACACABACACACACABABABABA8A8A8AB2D000000000000000000000000204B6B8D97B5B6AA9481582A0300000000000000000015000000000000001AB8B8B9BCB9BBBBBDBBBDBFC1C1C16F000000000000009BC3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C93800000000000000000000000004295F78A7A5A5A7A7967B4C1900000000000000000000000053CED0D1D4D3D4D3D3D0D3D3D4D4D6D6DAD10A000000000000000000043D7BABCAD1D1D1D0CECECEBDA2743F090000000000000000000010BDC4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C13202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7DADEDEDCDBDBDCDADAE1F3CFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B367000000000000000000000000000000000000000000000000003FB1B1B1B1B3B3B1ACB1B2B5B6B6870300000000000000000000000000000000000000000000000000000000000000000000027BAAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B69D0E0000000000000000000000000000000000000000000000000000000000000000000016BFC6C3C3C3C3C1C4C4C4C5C8C87200000000000000A5530000000000000000000000000000000000000000000000000000000000000000009CD1D4D3D4D3D3D0D3D3D4D4D6D6DADAAE00000000000000AE6E00000000000000000000000000000000000000000000000000000000000000000055C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BB40000000000000000000000000000000161D1D1D1E1000000000000000000000000000000072C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBF4300000000000000BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1450000000000000000000000000000001E1E1E1D1E100000000000000000000000000000006CB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCB32400000000000000000000000000000000000000000000000000000000000000004A78000000000000001FCECACACACED0D0D3D4D1D0D1D0D07700000000000000A3C9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1C828000000000000000000000000000000000000000000000000000000000000000000000023B1B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1780000000000000000000000000000000D1918180D0000000000000000000000000000000075A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A72A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD0D1D3CECBC9C8CBD0CBD6E9C6B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5670000000000000000000000000000000000000000000000000045C3C3C3C5C5C3C3C0BDBDC1C1C1C1900300000000000000000000000000000000000000000000000000000000000000000096E1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDAC314000000000000000000000000000000000000000000000000000000000000000012BCD7DBDBDBDCDBDBDCDBD9D6D3D07A00000000000000A2CA4A000000000000000000000000000000000000000000000000000000000000005CC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C49B000000000000009EC6480000000000000000000000000000000000000000000000000000000000000028C1C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCB4A0000000000000000000000000000000000000000000000000000000000000000000078D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E25500000000000000DFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDE510000000000000000000000000000000000000000000000000000000000000000000492E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4B91100000000000000000000000000000000000000000000000000000000000021A561000000000000001AB0ACA8A7A3A3A3A1A19EA1A19E9E5A000000000000007B9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7A21F00000000000000000000000000000000000000000000000000000000000000000020A5ACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBB6A0000000000000000000000000000000000000000000000000000000000000000000056C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C6C8C8CACAC9CBCBCB3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9D9D5D6D7D3D5D3D3D6E1F6D0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B868000000000000000000000000000000000000000000000000003EB2B3B3B3B5B8B6B8B3B3B8B9B9B9BB970F000000000000000000000000000000000000000000000000000000000000038BC1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5B6260000000000000000000000000000000000000000000000000000000000000E9CB5B5B5B5B5B2B1B1B1B1ACACB1B0640000000000000084A8A851000000000000000000000000000000000000000000000000000000000034999997979796979B9B9E9E9E9EA1A2A2A3810000000000000082A3A55D00000000000000000000000000000000000000000000000000000000000E9EB5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C167000000000000000000000000000000000000000000000000000000000000000992BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBD4300000000000000B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B958000000000000000000000000000000000000000000000000000000000000000E84B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6AE26000000000000000000000000000000000000000000000000000000002EC0C672000000000000001FC8CAC8C5C8C4C3C3C3C3C3C1BFC06D000000000000009FC8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8C350000000000000000000000000000000000000000000000000000000000000002CB9C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBF5B00000000000000000000000000000000000000000000000000000000000000004ACBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC93302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFC0C0BDBFBCBBBCBDBDC6DFB8A7A5A5A5A7A5A5A5A7AAA7A7A7A7A75F000000000000000000000000000000000000000000000000003AAAAAAAABA7A7AAAAA7A7A7A5A7AAAAAA9C2D000000000000000000000000000000000000000000000000000000001488B1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B24E0300000000000000000000000000000000000000000000000000000028A4B0ACB1B3B1B1B1B1B2B1B3B6B6B5B565000000000000008FB3B2B07508000000000000000000000000000000000000000000000000000038A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F7B0000000000000080A29F9F670700000000000000000000000000000000000000000000000000001994ACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BB880F000000000000000000000000000000000000000000000000000000002FB3CED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D64E00000000000000D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D19E12000000000000000000000000000000000000000000000000000000002DABC0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9B53B000000000000000000000000000000000000000000000000000049B9BBBB6C000000000000001DBCBBBCBCB9B6B9B9B9B9B9BBB8B5680000000000000090B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B97208000000000000000000000000000000000000000000000000000000004BBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C18103000000000000000000000000000000000000000000000000000000000477CECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C332020202020201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E1E1E3E4E6E6E3E1E4E2ECF9DACACACACACAC9C8C8C9C8C8C6C9C9C9760000000000000000000000000000000000000000000000000045C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BD7B16000000000000000000000000000000000000000000000000004CA8ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABAB8D26000000000000000000000000000000000000000000000000035EB2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB96A0000000000000094B9B8B6B59E2900000000000000000000000000000000000000000000000376BCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BF97000000000000008FB2B2B1B1A2380000000000000000000000000000000000000000000000003DA5B1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACA54B030000000000000000000000000000000000000000000000000869ACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B13F00000000000000B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3BF4E00000000000000000000000000000000000000000000000000118BD3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D48E1200000000000000000000000000000000000000000000048ED6D3D1D17A000000000000001FC9C9C9C9C9C9C9C6C8C9C8C8C4C46F0000000000000097BFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBAC4100000000000000000000000000000000000000000000000000178DC4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3B33C00000000000000000000000000000000000000000000000000003DA0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C03202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5DFE1E1E1E2E1E3E3E2E2EFF9D7C8C8CAC9C9C9C6C9CACAC9C9C6C6C3700000000000000000000000000000000000000000000000000049CACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C57A170000000000000000000000000000000000000000003FA7C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C997360000000000000000000000000000000000000000034BAEBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C16D0000000000000099C3C4C6C9C9C9942600000000000000000000000000000000000000003FACC8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9A200000000000000A5CBCBCBCECACAAC400000000000000000000000000000000000000000189CCBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9AB490300000000000000000000000000000000000000000F64B5C0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB94100000000000000B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5A548030000000000000000000000000000000000000000166BB3B9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFB36308000000000000000000000000000000000000044EB5C4C5C5C5C672000000000000001FC3C3C3C6C6C6C6C8C5C5C5C4C4C672000000000000009EC9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0B0540400000000000000000000000000000000000000000A73D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBA73E0000000000000000000000000000000000000000000453BDE1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D03502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2BFC0C4C1C1C3BFC0C4C3CBDEBBA8A7A7A7A7AAAAAAACACB1B1B1ACAC9264676467686C6C6C51000000000000003C6D6D6D6D6D6F6E6E8DC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B68D4F150000000000000000000000000000001A589EB2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8A567290000000000000000000000000000001E65B3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACA75000000000000009FC8C9C8C8C6C9C9C9B164260000000000000000000000000000104DA5C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3A86A6D6B6B6A6A6CAEBDBDBDB9B9B9B9B9AA69290300000000000000000000000000032F7CB5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2AC75280300000000000000000000000000000E3F80B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B64100000000000000C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C07D2E0400000000000000000000000000000E3F7DB1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3AC75260300000000000000000000000000195A9FACACABACACACAC7E3B3B3B3B3B3B3B51A8A8A8A8A8A8A8A5A7A7AAACACAC9267676767696B69A8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBB37C3309000000000000000000000000000004368BC3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1B967290000000000000000000000000000000A3A8DCED3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D3D3D0D3D3D1CFCECBD9EEC9B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6920000000000000065B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFB5836340291C1D1C1C1C1C415A7AABBDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C494724F3F1E1E1E1E1E1E475782B3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C97600000000000000A8D4D4D1D3D3D1D4D0D0D0D0C996704C3021212121203B4D7BB3D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBA7815D4024232323242C537AA8DCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFB180583C2121222222214E6189BDD4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECE4900000000000000C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBD8C6C49331C1C1B1B1A1A3E4C6A97ABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A17554381E181818181831456796A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7AB8C65483A181818181919263D618FB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1A87D5E3E281B1B1A1A1B1A3F4D7597B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BB30020202020202020101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DCDEDFDCDCDFDBD9DADAE4F6D0BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C69F0000000000000072C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCB7700000000000000A2C9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABAB3D00000000000000B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C33202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0C1C3C0C1C0C0BFC0C0BFC9DEBBAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B38C0000000000000064ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBD6C0000000000000093B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B53F00000000000000B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADB3902020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C8CBCBCED1D0CFCBCEC9D6EBC6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B18D0000000000000064B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C57200000000000000A5D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B84000000000000000B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B82D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E1E2DFDEDBDAD9D9D6D6E1F6D0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBC98000000000000006CB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C16D0000000000000098C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C64700000000000000C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B62E01020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DADADCDBDADAD9DEDEE1E9F9D7C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C19C0000000000000076C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C97600000000000000A3CBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B84000000000000000B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB930020101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E4E4E2DEDFDCDBDCDEDFEAF9D7C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C69F000000000000006DC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAA600000000000000089ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F3500000000000000A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BC2F01010101020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED6D9D9D9D9D9D5D7D7D3E1F3CEC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3900000000000000068B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1610000000000000088B0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBC4300000000000000B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C83302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0D0CBCED3D3CFD0D0D1DBEEC6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B28D0000000000000064B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3670000000000000082A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B03B00000000000000B0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9A7908F8F8F929494AEC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B52D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EAECECEFF1F1EFF2F2F2F7FFE2DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFB20000000000000081DFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0610000000000000090B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACAC3D00000000000000B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0650000000000000067B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C33202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C1C4C4C1BFC3C3C6C6C6D0E4BFACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0AC840000000000000061ACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCA7500000000000000AAD3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBD4300000000000000BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9750000000000000072C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1C0C0C1C3C5C5C1C0C0C3C9DFBCACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAAB840000000000000064ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBF6D0000000000000096BDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C94800000000000000D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C172000000000000006FC1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E33E02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDB6BBBCB9B6B9B9BDC0C1CAE1BFACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB994000000000000006DBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C976000000000000009CC1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D34D00000000000000C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B96A000000000000006FBFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDE3B02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DFE2E2DFE2E2E1E2E3E1ECF9D7C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CAA20000000000000072C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACAC610000000000000087ABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBD4300000000000000BDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C070000000000000006DBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D4D4D0D5D5D1D3D1D3DEF3CAB8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C67200000000000000A3CED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D04D00000000000000C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E580000000000000058A2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBB2E01010102020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9DBDCD9DBDBDADBDBDAE4F7D4C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2650000000000000083A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B94000000000000000B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B869000000000000006CBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD5D5D7D5D7D9D9D9D6D6E1F3CBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA85F0000000000000084A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B54100000000000000B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8740000000000000075C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CB3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7D9D7D1D3D3D0CFD0D0D9ECC9B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8680000000000000090B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0AC3D00000000000000B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BC6B000000000000006CBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDA3A02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECCFCECED0D1CFD0D1D1D1DCF3CBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CA841F1F2020202121AED0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0541A191A1A1B1B1AB0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA26B1817171717171768A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CE3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4DEDFDCDBD9D9DADEDEDEE9F8D7C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C83302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DFDEDED9DAD7D9DAD7D7E1F3CFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECE3602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2C3C4C5C4C6C6C6C6C8CAD6EBC6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B92F01010101010101010202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D9DADBDADBDCDAD9DBDBE4F7D4C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBD30020202020101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D9D7D7D3D1D0CECBCBCEDCF1CBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0AB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8D0D0CECBD1D4D3D3D3D3DBEFC9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B62F020202020202020202010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEBDC1C3C4C9C6C6C6C6CAD5E9C9B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D3D0CECFCFCBCECECED9ECC9B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C93402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEBDBFBFB9B9B6B2B2B6BBC0D1B09F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C332020202020201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7D7D7D7D7D7D7D7D6D9E3F4D0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAA29010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D1CFCBCECBC9C9CAC8D1E6C1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAA2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB9BBB9B9B9B9BBBFBFBDCAE1B9A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFC3C0BFC0C1C1C6C6C9D3E7C3B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E33E02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBCECBCBCACACACAC9C5D3EAC5B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9D9D7D6D7D7D9D9DADAE4F4D0C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C43302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EAEAE7E9ECEAE9ECEEEEF6FFDCD0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B62F010101010202010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9D1D5D5D5D5D7D7DBDBDAE4F4D0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C43202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED9DADCDEDFDFDADBDBDAE4F7D1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A72A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6CACECBCBC9C9CBD0D1DCF4CFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA82B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E4E2E3E1E4E2E1DFDFDBE4F6D3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B52E01010101010102020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DCDBDBDADBDBD7D7D7DBE1F6D3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACAB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C8C9C9C8CBC9C9CBCECED7EAC6B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA82A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CBCBCACACAC6CAC6C8C8D6E7C3B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACAB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D7D3D6D7D7D6DAD7D7E1F4D1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B62E01010102020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DADEDEDCDADEDFE1E3E3F1FBDCCED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6AB6945222222222247639ED0D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD63802020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C8C6C5C5C6C9C8C6C3C6D1EAC6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A70000000000000000000000023F99A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B930020201020201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E7EAE7E9E7E4E4E4E6E6F2FDDFD0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACE00000000000000000000000000047CC6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B12C010101010101010101010299FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D6D9DBDAD9DAD9DCDEDBE6F7D1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBD00000000000000000000000000000070C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBCBCBCAC6CACACAC8CAD5E9C6B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B50000000000000000000000000000000081B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACA3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2C3C5C6C3C4C4C0C5C8C6D0E3C0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC00000000000000000000000000000000008B1B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CFCECFCFD4D4D3D7D9D4DFF6D1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBB000000000000000000000000000000000043BCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C33302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED1D7D7D7D4D3D1D3D3D3E1F3CEC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A700000000000000000000000000000000000086A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C43202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CECFCFCECFD1CECBCED0DAF2D0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C0BCBCC0C0BCC0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B21547729290A5AC908C5208000000000000003DC3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DBE1E1DFE1E2E3E3E2DFEBF9D7C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCAB23000000000000009CBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CB3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD7D9D7D9D7D3D0D3D1D1DEEFC9B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9AB0F0000000000003DC1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C1C5C5C5C4C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C63302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD1D4D4CFD0D0CFD0CED0DBF3CFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5810000000000000097B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C8CBCBCBCBCECFCBCACBD6E9C6B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B53000000000000035ACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A82A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBCECFCFCECECECBCACBC9D3E9C5B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5A500000000000004B6C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D03602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CBCBCECBC9C6C5C4C5C4D0E7C3B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C32500000000000057C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D73802020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E9EAE6E9EAEAEAECEEF1F8FFE3DBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A575000000000000069CA1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B12D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6C6C6C6C6C5C6C5C3CBE2BFACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9150000000000006DB6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB92E01010101020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9DBDCD9DBDBDADBDBDAE4F7D4C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDC8100000000000024DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CBCED1D0D0D3D5D5D6D6E4F6D3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0B60900000000000089B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB82D010102020101010101010299FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9DCDCDCE1E3E4E2E3DFE7F7D4C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B14D00000000000038B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C13302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD7D5D4D1CFD3CECFCECBD9EBC3B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFB58F6445251E1F10091F1E1E35456984B5C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3B17C6445251D1D1D1D1D455E74A5BBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A588644E3B1F1818181824394E7296A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8A278573F291A1A1A1C1C3A415B749CBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9B1B1C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B67200000000000003A5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC13202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DCDEDBDADBD9D9DCDEDFEAF8D7C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B59B582100000000000000000000000000000000000E3E7CB3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A57A380C00000000000000000000000000000C366F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABA26D2C080000000000000000000000000000235EA2B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1727272757575779BCECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6974D0A0000000000000000000000000000000A3C7CC4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBAC5B200000000000001E2D4590C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9240000000000000063BBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B82E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C6C6C9CBCED0D0D1D0CBD3EAC6B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1772500000000000000000000000000000000000000000000000851A8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B16A1500000000000000000000000000000000000000000858A2A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B292430300000000000000000000000000000000000000003690ACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACAB000000000000003BABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACA25C08000000000000000000000000000000000000000000003086B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6AE4700000000000000000000000043BBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1A5000000000000000016BBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBD2F010101010201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DADEE1DFDEDBDADBDBDBE3F4D0C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B66F15000000000000000000000000000000000000000000000000000000034EB9BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C58409000000000000000000000000000000000000000000000000046DCAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3B94B000000000000000000000000000000000000000000000000004CB6C1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C30000000000000047C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CB6E04000000000000000000000000000000000000000000000000000026A7C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C1260000000000000000000000000045C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8480000000000000000008CB8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACAC2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBD0D4D3D7D3D1D1D3D3DFF2CFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5971B000000000000000000000000000000000000000000000000000000000000000E85B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDA32A00000000000000000000000000000000000000000000000000000000169CBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC88D0900000000000000000000000000000000000000000000000000000011A2CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C50000000000000043B9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1A51D00000000000000000000000000000000000000000000000000000000000057C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCB5A00000000000000000000000000004BCECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C10900000000000000000035C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CED0CBCBCFCFCECFD0D1DAECC9B9B9BCC0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C0BCBCC0C0BCC0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C99904000000000000000000000000000000000000000000000000000000000000000000006FC1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBF8F0F000000000000000000000000000000000000000000000000000000000000047AC5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8630000000000000000000000000000000000000000000000000000000000000475CECACECECED0CED0D0D0D3D3D1D1D0D0D0D0000000000000004AD0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C18003000000000000000000000000000000000000000000000000000000000000000024B5C0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDA500000000000000000000000000000041B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BB740000000000000000000000B6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C83302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C9C9C5C6C6C3C1C1C4CEE3C0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBD860000000000000000000000000000000000000000000000000000000000000000000000000065B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB064000000000000000000000000000000000000000000000000000000000000000000004ABCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBC4300000000000000000000000000000000000000000000000000000000000000000072C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1000000000000003EB0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1AC6100000000000000000000000000000000000000000000000000000000000000000000000E96ABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACAC5300000000000000000000000000000040B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBB1D00000000000000000000005FC1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D43702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4CACACACACACECBD1D0D0DCF2CEC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBC9D0300000000000000000000000000000000091D1D1E1D1E0000000000000000000000000000000083C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C06D000000000000000000000000000000031C1C1C1C080000000000000000000000000000003DB0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A53900000000000000000000000000000007171717170200000000000000000000000000005AA2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3000000000000003FB5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B96900000000000000000000000000000000161D1D1D16000000000000000000000000000000001FC0C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C41E00000000000000000000000000000054BCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B69000000000000000000000000008B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C63402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB9B8BBBDC1C5C3C6C6CAD5EAC3B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B91C0000000000000000000000001D5F80A2C1BDBFBFBFC1C1C1B1986433090000000000000000000003ABC4C8C5C5C5C4C4C5C6C3C5C5C5C5C5930300000000000000000000001F6492C4CBCBC9CBCAC9C19B642000000000000000000000000064CBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9740000000000000000000000002F6C9BCBCBCBCBC9CECBBB8D57100000000000000000000003A2C1C1BDBCBBBBB9B5B5B5B8B8B8B8B60000000000000040B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0840000000000000000000000001B5A81ABB8B9B6B8B6B2B5B188612A00000000000000000000000026A5A3A7A7A8ABACACACACACABACB0B1B1ACABABAC0000000000000000000837466461616493B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACAC3D0000000000000000000000000070ACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B32D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E1E1E1E4E7E7E9EBE9E7F3FDDCCECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B56D00000000000000000000085DA4B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABAB651F00000000000000000030A19E9E9E9F9FA3A29F9FA2A5A5A2890200000000000000000000307C9F9C9B9B9F9B9F9E9EA2A3A7A7A78C3400000000000000000000006DAAAAACACB1B3B1B2B1B1B5B5B3B8B6B68D0000000000000000000000489CBBBBB8BBBDBDBDBDC1BFC1C1C5C57A1100000000000000000018C6CBCBCED0D4D0D1D0D0D0D0D3D3D1000000000000004DD6D6D4D3D0D0CED0D0D3D0D3D3D3D4BC04000000000000000000044AACD0D1D0D0D0D4D1D3D3D6D4D1D1D4D0C3670A0000000000000000000075C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B69200000000000000005ABCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0B5030000000000000000000000000024BCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B92F01020102020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C1C3C5C0C1C5C0C0BDC0C6DCB5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA71400000000000000000353A8B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B87B08000000000000000096BDC1BFC1C1C5C5C5C9CACACECA2000000000000000000018A1D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6AB2100000000000000000004BBD4D4D4D4D4D3D4D4D4D4D4D3D0CEC61800000000000000000019A7D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C13E0000000000000000005CB9BDB9B9B8B6B9B6B2B6B6B6B6B60000000000000043C0BDBFBFBBBBBBBBBBB9B9BBBFBFBF2C000000000000000000239BBBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9AA4100000000000000000003A5B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5900000000000000023B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBD6D0000000000000040000000000000009DBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5CBCED0D0D1CFCAC9CACAD5E7C6B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C494000000000000000010A2BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6A20F000000000000003EB0B1B0B1B2B2B1B2B2B2B5B85700000000000000000029B1B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A79F3900000000000000000026ACB0B1B1ACABABACABABABACACB14D00000000000000000021AAACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACAC3D0000000000000000039DABABACACACACA8A8ACABABACB0000000000000003EB2B6B6B5B5B8B5B1B5B5B1B1B5B1690000000000000000003DACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B37503000000000000000038B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6770000000000000061B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C11700000000000009B60F0000000000004DC1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B32D010201010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBC9CACACAC9C5C9C6C8CEE2C1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBF540000000000000003A7BFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBC940000000000000008B9BBB8B5B8B8BBBBB9B5B3960300000000000000003FB8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BB4100000000000000000074BFBCBFBFBFBFBFBDBDBFBCBCAA03000000000000000023B5BFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C02D00000000000000005BC9C6C6C9C9C9C9CBCECECAC9C90000000000000049CAC9C9CBC9C9C8C8C4C5C6C4C1BB10000000000000000046C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B98803000000000000000097B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3670000000000000067B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C696000000000000004EC15E00000000000009BDC4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B52D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EBECF1EFF1F1F2F2F3F3F9FFE2DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CE180000000000000076C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6300000000000000096B1B1ACACB1ACACB1ACAB3400000000000000001E9FA5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA73A00000000000000000DA2A7A7A7A7A7A5A3A5A5A7A34000000000000000000890A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAA2140000000000000008ACB0ACB0B0B0B1B1B0B0B0ACB1000000000000003BABACACB1B2B2B5B5B8B8B8B3B361000000000000000023B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBB8803000000000000003EB2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5650000000000000067B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A733000000000000007B9E89000000000000005DA29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B22C01010101010101010201019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBCFCFCECED0CFCFD3D3DEEFCABCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3D9000000000000001ADAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECE810000000000000077CACAC8C8C8C5C9C5C6A5000000000000000009B1C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6AC1A00000000000000005DB1B2B6B2B2B2B2B6B9B6AE0800000000000000006DB1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A37A00000000000000006DA7AAA8AAAAAAA7A5A39F9FA300000000000000379C9B9C9E9E9C9C9C9E9E9E9E9E12000000000000000288A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A76D0000000000000003A5ACB0B2B2B2B2B0B0B0B0B0B0B1B3B367000000000000005DA5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1A4030000000000001CBCBCB92A0000000000001CB5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B62D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2C6C6C6C6C4C4C3C4C4C4D0E9C5B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBC8D000000000000005BC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6900000000000000055C1C3C1C3C3C5C9CACA5100000000000000008BCECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3A5030000000000000017C3C4C4C6C6C5C5C4C1C181000000000000000025BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B63F000000000000002FB1B1ACACACACB1B5B8B8B9B80000000000000040B3B3B1B1B1B1B1ACABABABAB7E000000000000000046B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBC330000000000000072B9B9BCBCB9B8B6B5B5B6B9BCBCBCBC6B000000000000006CB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3670000000000000061B5B5B5750000000000000084B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABAB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDAB9B9BBB6BBBFC0C5C4C6D0EAC6B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BD6D0000000000000088B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0970000000000000046C4C8C5C5C5C4C4C5BF090000000000000026C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED05300000000000000009BC9C9C9CACAC9C8C8C938000000000000000082C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5AB0000000000000003C1BDBCBBBBB9B5B5B5B8B8B80000000000000040B6B6B9B8B6B9B9B6B8B8B9B84F000000000000000093B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0AC90000000000000002BA7A7A8ABACACACACACABACB0B1B1AC610000000000000064B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB014000000000000039DACB1B1A80800000000000035ACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B12D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFC1C3C5C6C9C8C6C8C8D0E1BDB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B86100000000000000B1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9750000000000000048C9C9C9C9C9CBCED08D0000000000000000ABE1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DED0040000000000000050DBDADBD9D9D9DADAD60A0000000000000013DBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C63F000000000000008BC1C1C0C0C0BDBDBDBDBDBD0000000000000045C1C1C1C1C4C4C3C1C1C4C4C4100000000000000026C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CB3000000000000004C9D3D3D3D0D0D0CED0D0D0CECBCBCB770000000000000078D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D096000000000000003DD9D7DBDBDE5100000000000004D3E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E43D02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD7D9D9D9D5D5D6D4D1CED9ECC6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C89672747472727272C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBF160000000000000043BDB9B9B9B6B9B9B5410000000000000015B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B23F0000000000000008B2B2B1B2B5B6B6B690000000000000000052BCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBF870000000000000061C9C8C8C6C5C5C6C4C6C6C80000000000000045C3C3C3C3C3C1BFC0BDBDC0AB00000000000000006DCAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BD6D000000000000006DBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C535000000000000008DC4C6C6C9C9A3000000000000006CCBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCB3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBC9CAC8CAC9CBCBCECBD6EAC6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACAB3B000000000000000047A5A3A3A3A3A3A3A30C0000000000000048999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A786000000000000000094B5B3B3B3B1B1B36700000000000000007EB5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3BD040000000000002DC4C4C6C6C8C9CECECBCBC90000000000000045C1BFBCBCBCBCB9BDBBBBBF7D0000000000000000A5BDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0640000000000000065B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8B90000000000000009C3C3C3C1BDBCBC1D00000000000010C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C83402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0C0C5C4C3C4C1C1C3C4C4C9DCB9A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8B5370000000000000000007DC9CACACBC9C9C6B60000000000000000A5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBF09000000000000006DBDBDBDC0BFBFBC440000000000000000BDC5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACE0000000000000048CACAC9C8C8C9C9C8C8C4C65A0000000000000009C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8670000000000000067B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B658000000000000004FB5B2B2B0ACACAB5A0000000000000075A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1AC2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9D7DAD9D7D7D6D4D4D4DFF3CEBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A57A3902000000000000000000009BA8ABA7A7A5A5A56D0000000000000008A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA733000000000000003BAAAAAAAAABB0B01B000000000000001AB1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8000000000000003FB3B8B8B9BCBBBBB8B8B3B640000000000000002FB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A15A000000000000005A9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B070000000000000093A8ABA7A7ABA7AB9D030000000000002EACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCE3602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DBDCDAD9DADBD9D9D9D9E3F4D0C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDA7753A080000000000000000000000002ABBBBB8BBB9BCBCB963000000000000002CC1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B861000000000000001CB9B9B8B9B9BBBD15000000000000003DC1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D10000000000000053E1E1DFE2E2E2E2E3E1DEE1230000000000000063DCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0770000000000000076C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBD7E0000000000000025C1C1C4C4C3C1C1C4C43600000000000000ACC6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCB3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DADBDBDADBDBDAD7D9D6DEF2CEBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFA06F3D100000000000000000000000000000000092BCBBBBB9B9B9B9B9410000000000000045BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6930000000000000010C4C4C4C6C6C6C3000000000000000058C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6000000000000004ED3D4D4D4D4D4D4D4D4D6D6200000000000000081DBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1840000000000000083E1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1300000000000000078D1D1D3D0D3D0CECECE93000000000000005CCACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD6D3D1D1D1D1D1CFCEC9D3ECCAB6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3B084562804000000000000000000000000000000000000005ED1D4D7D7D9D9D7DBDB340000000000000086E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1B50000000000000000E6E3E3E3E6E6E4000000000000000088E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BF000000000000003FB1ACACABABABACACB0B0B000000000000000005A7B7D7D7B7B7C7E7E7E7E7C7C7B7B7B787B7B7B787A7A7A7D7B7C7E808383838386868784838383808188A7A7A3A3A3A3A3A7A7A7A7A8A8A85F0000000000000064B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBA20000000000000003BBC1C3C3C6C4C1C4C4C3C30F00000000000009BBC1C4C1C5C5C5C4C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C6C8C8CACA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C5C6C4C5C6C5C4C6C9C9D3E9C5B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6C5905A2B0000000000000000000000000000000000000000000000004AC9C9C6C6C6C6C6C6C8C51E000000000000006DBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C60000000000000000C0BDBDBDC0C1C1000000000000000070C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECE000000000000004CD1CECED0D0D0D0D0D0D0D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024E1E1E2E4E3E3E4E6EAE6E6E3E3E3880000000000000088E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDA63000000000000004ACBC9C8C8C6C5C5C5C3C1C1550000000000000077BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9F28010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C5C6C6C6C6C4C0C0C0BDC3DAB6A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6A15A1C0000000000000000000000000000000000000000000000000000005AB9BBBBB8B9B9B9B9B9B9BC1C000000000000007DBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C00000000000000000A8C3C6C9CBCBC9000000000000000077CAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C10000000000000041B9B9B8B6B8B8B8B8B8B8B300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001DC4C6C4C6C6C4C4C3C4C4C8C4C3C16E0000000000000072C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5BD09000000000000008DBFC0C0C0C0BDBDBDC0C0BCA50000000000000023B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E26010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E4E1E4E4E6E9E4E4E6E3ECFCDCD4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC17D2800000000000000000000000000000000000000000000000000000000249EC0C0C1C0C1C3C3C3C0C0C1BF1C0000000000000090B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3000000000000000096BDBCBDBDBFBC000000000000000096C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BD0000000000000043C0C0BCBCBBBBB9B9B9B9B8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018A1A19E9E9E9E9F9E9A999997979754000000000000005AA2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B06D000000000000000EB3B1B1B3B3B5B6B5B5B8B9B9B629000000000000009BBCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBC3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C9C6C4C3C4C4C5C3C4C4CBDEBFB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9BF6909000000000000000000000000000000000000000000000000000000003C90C1C1C1C1BFBFBFBFBFC1BDC1C1C11D000000000000009BC0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9000000000000000090B6B6B9B9BCBC000000000000000078C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CE000000000000004AC9C9C6C6C6C8C9C9CAC8C800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001AB1B3B5B3B6B3B1B1ACACB1ACACB161000000000000005BA1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA71F000000000000004EA5A5A7A5A5A5A7AAA7A7A7A7A765000000000000003AA3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0AC2C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C4C5C6C8C9C9C8C9C9CED3EAC9B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D498120000000000000000000000000000000000000000000000000000002065BCCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C11D000000000000006DBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C30000000000000000B9C1C1C5C5C3C3000000000000000072C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1000000000000004CD0D0D0D0D0D0D1D4D7D7D9220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036E3E4E6EAE6E6E3E3E3E6E6E4E4E4880000000000000088E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAB50000000000000000B9C6C5C5C5C3C1C1C1C1BFC0C3C4BD0300000000000003AEB5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A72A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBCED1D0CECFCBCFCBCED5EAC9B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACA5A00000000000000000000000000000000000000000000000000002664A7C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C51E0000000000000070C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3A50000000000000000ACACACACB1B5B80F0000000000000065B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B80000000000000041B9B9B9B9B9B9B9BCBCB9B81B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041B9B9B8B5B5B5B2B2B1B1B1B3B3B3640000000000000061B0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1470000000000000029B5B2B0B0B0ACA8A8A8A8ABACACACAB3D000000000000005FA8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BB3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEBDBDC1C0BDBDBBBCBDBDC9DBB8AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B55F0000000000000000000000000000000000000000000000224775AEB9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C144000000000000005BBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACAA20000000000000000CACACACBCACACA1F0000000000000057C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBC0000000000000041B9B9B9B9B9B9B6B6B3B3B330000000000000001419191A1B1A1C1C1C1C1A1A1A1A1B1A1A1B1A1A1B1B1B1A1A1A19191919191A191914000000000000003FB5B5B5B2B2B1B0ACB1B1B1B1B3B2650000000000000068BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6AC08000000000000007CC0C0BDBBBBBBBBB9B9B9B9B9BBB8BB960000000000000016C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACAC2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDADFE1E1DFDFE1E1E2E2EFFCDCD0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B59403000000000000000000000000000000000000142E517DA2ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8470000000000000036B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C382000000000000001EC4C5C8C8C5C6C940000000000000004ACECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADB000000000000004ED6D3D6D3D1D1D1D0CECECE4A000000000000006BC9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BB780000000000000069BCBCBFC1C1C1BFC0BDBDC0C1C1C16F0000000000000072C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBC6D0000000000000009BCC3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1160000000000000090C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B93002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CAC9C9CACACACACACBD0D7EBC9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BD3A00000000000000000000000000000833588CB2BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B967000000000000001CB8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C156000000000000002DC3C0BDBDC1C1C155000000000000001FC9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDA0000000000000053E1E1DEE1E1DEDEE1DCDBDB810000000000000047DAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCB6F000000000000007BC6C6C8C5C5C3C3C1C1C0C0C0BDBD6D000000000000006EC0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C11D000000000000004EC3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3670000000000000040CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D13702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD9DBDBDCDADEDCDFE2E2ECF9D9C9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABA5030000000000000000000000285A8FB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABAB880000000000000000A5B0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB026000000000000004DB2B3B3B1B1B0B1750000000000000000ACB8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBD0000000000000041BDC0C0C0C0C1C1C5C5C3C3990000000000000016C1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBB3A000000000000009BBCBCBCB9BBBDC1C1C0C1C3C1C3C16D0000000000000067B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B890000000000000000093B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1B30000000000000000B3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E23D02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7B6B5B2B2B5B9B9B5B3B3BBD1ACA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6770000000000000000000864ACBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBF00000000000000007DC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC1000000000000000088CAC9C9CBC9C9C8B000000000000000008BC3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8000000000000003FB5B3B3B2B2B1B2B3B3B3B5B10000000000000000A3BFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C31600000000000000C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8720000000000000072C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBB41000000000000001AB5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACAC2F0000000000000053ABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA82A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DCE1E3E4E6E2E4E4E4E1ECF9DBCACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0AC55000000000000000038AEB5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A51E0000000000000030A3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA26300000000000000009DA7ABABABABAAA7A70D000000000000003EB1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC11D1E1E1E1E1E1F64CACECACECED0D1CECECECB000000000000004BD0D0D3D3D1D4D3D0D3D6D3D32A0000000000000067D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6BB0000000000000028CED0D0CBCECBCECBCBC9C9C5C4C3C36E000000000000006DB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCB5030000000000000063BBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B983000000000000000FBCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B930020202020202020102010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5CAC6C6CAC9C9C5C6C6C5D0E2BCABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D04D0000000000000021C9D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DB6D0000000000000004C6CECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBF240000000000000023B9B9B8BBB8B8B8B9B94A0000000000000009B9BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB989000000000000005BBDBBBBBCBFBCBCBDC0C3C30000000000000045C1BFBFBFBFBFC1BDC1C1C1C160000000000000000FBDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B667000000000000005AB9B9B6B6B6B9B9BCBCBBBDC0C0C0C0700000000000000075C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C86C0000000000000004BBCACECACACACED0D0D3D4D1D0D1D0D0CECECED0D10A0000000000000082C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B92E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBCECBC9C8CBCFCACAC9CAD3E9C6B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD04A0000000000000097D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3BF00000000000000007ADCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3B0000000000000000075E4E4E4E4E3E3E4E2E2A500000000000000008BDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C55F0000000000000078C4C1C1BFBCBCBCB9B9B6B5000000000000003DACB0B0B0B0ACA8A7A3A3A3A184000000000000000061A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7180000000000000077A3A7A7A7A7A8A8A8A7AAAAAAAAAAAB610000000000000064B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9150000000000000034C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C158000000000000002DC1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C6C8C8CACAC9CBCBCBCECECA3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFD0CECBCECAC8C6C6C6D0E3C0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBD4300000000000000C1C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C82600000000000010C8C8C6C6C9C6C8C9C9C9C91F000000000000000ABCCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CB280000000000000000BDCBCBC9C6C4C1C1C1C1C1100000000000000015B2B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0160000000000000099B6B9B9B8B9B9B9B9BBBBB90000000000000040B9B5B9B9B8B8B5B6B6B9B8B6B61B0000000000000015ABB6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C18F000000000000000FBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BF6D000000000000006DBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C39600000000000000008DC5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5AC0000000000000000A5C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D43702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D5D7D9D7D9DBD9DBDEE7F8D4C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C54700000000000000C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC91800000000000039CACECECBCBCACAC9C9C9CA7E000000000000000047C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C67200000000000000003DC1C1C1C1BDBCBBBBB9B5B558000000000000000057B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2850000000000000003B9B9B8B9B6B8B6B2B5B8B8B9000000000000003DABABABA7A7A7A5A3A7A7A8ABAC6100000000000000004BABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A719000000000000004CB1B1ACACB0B1ACACACB1B1B1B2B1ACAB610000000000000061ABACB0B0ACABABABABACB1B2B6B6B5B5B8380000000000000008ACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1210000000000000047B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBF3002020202020102020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB6B8B8B6B9B9B9BDC0C0C9DFBBAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B64E0000000000000097B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACEAA0000000000000064CBCED0D4D0D1D0D0D0D0D3CA0A000000000000000090D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0AC040000000000000000A1D6D4D1D1D4D0D3D0CECECEC00400000000000000049CC4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9230000000000000033BFBFBBBBBBBBBBB9B9BBBFBF0000000000000045BCB9B9B9B9BBBBBBBBBCB9B6B6B108000000000000000078B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B86100000000000000009BB9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B969000000000000006BBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6AA030000000000000051BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1700000000000000009C1C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DBDADCDBE1E1E1E2E1E3ECFBDACBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B16D000000000000005FB3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B83A00000000000000A2B8B8B9BCB9B9B9B6B6B9BCBB6900000000000000000389BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFA81000000000000000003CBDC0BDBDC0BDBBBCBCBCBCBCBC4900000000000000000FA1BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBC5C00000000000000007AB6B6B3B5B3B3B5B5B8B8B6B6000000000000003FB5B8B9B9B9B9B8B9B9BBBDBBB8B86100000000000000000390C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C997040000000000000040C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDE840000000000000086E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1700000000000000000C5DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D0040000000000000088D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C03002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEACFCBCFD1D3D0CFCFD1D1D9EBC6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B59D000000000000000EA7B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0610000000000000015B5B5B5B5B5B5B3B3B1B2B1B1B0B01400000000000000000381AAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5A10F0000000000000000039DC0BFBFBFBFBFC1C0C0BCC0BCBCAC0800000000000000000E9CB5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACAC81030000000000000008B2BCBCBCBCB9BCBCBCBCB9BCBC0000000000000045BFC1BFBFBCBCBCBCBCBBBDBBB8B5AC0E00000000000000000381BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D09C040000000000000000AACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5700000000000000070C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0100000000000000023B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B33F000000000000001AB1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B22D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E3E6E9EAEAEBE9EAE7EAF4FFDFD6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C81F0000000000000028C9CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBB6400000000000000005AB9B9B9B8B8B6B6B6B6B3B1B3B5B390000000000000000000036FA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5740800000000000000000050A8A8ABA7A7A5A5A5A7A5A5A5A7AAA76D000000000000000000026BA7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA76703000000000000000041A5A7AAAAAAAAAAABB0B0B1B0B0000000000000003EB0B0B0ACB1B2B1B1B0B0B0B0ABABAC780000000000000000000050B2BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B96803000000000000000048B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0AC640000000000000067B6B6B5B5B2B1B1B1B3B1B3B5B5B3B27B000000000000000067B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E75000000000000000081A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACAC2C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED9D7D9D9D5D3D3D5D6D6E1F3CEBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBB6400000000000000001FA7C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFA034000000000000000004B9C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8560000000000000000000034A4C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9BB490000000000000000000026C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B932000000000000000000002590C1C1C1C1BDBFBFBFC1C1C1C0C0BDBF9E2400000000000000000003B3C4C8C5C5C5C4C4C5C6C3C5C5C50000000000000047C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCA51000000000000000000001178C6CACECECBCBCACAC9C9C9CACAC9C8C8972600000000000000000011C3C9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9720000000000000070C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5300000000000000003AEB6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2150000000000000041B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACAB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1C1C5C4C1C4C1C1C3C5C9D3E4C3B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCD514000000000000000000479EDBDBDBDADBD9D9D9DADAD6D4D4C48E3D0000000000000000000058D6D3D0D1D1D1D1D0D0D0CECACACBCBCECB2F00000000000000000000003E8BC1C1C0C0C0BDBDBDBDBDBDBD9045030000000000000000000010B2C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5BC1E00000000000000000000001E619BC3C3C3C3C3C3C1C1C49E6B20000000000000000000000072D0D0D0CED0D0D0CECBCBCBCBCBD0000000000000004CD3D3D3D0D3D1D0CECED0D0D0D1D1D4D1C92900000000000000000000000A4E90C8D9D7DBDBDEDBDEDED9AB721C0000000000000000000000A7DBDBDBDCDEDEDEDEDEDEA7838483838383838348000000000000004A88888B8888878787C4E6E4E4E4E4D3000000000000000056E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9630000000000000003B1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A228010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D7D4D7D3D4D1D0D1D1D1DBF3CBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B072000000000000000000000003213E5A6161616467644536150000000000000000000000000EA7ACA8A8A8A8ABACACACABACACACACABABABA314000000000000000000000000082C516188888C8D6F5830080000000000000000000000000392B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDA71000000000000000000000000000001E2546463D1E1E000000000000000000000000000030CECECED0D0D3D3D3D0D1D0D0D1D1D0000000000000004ACECBCACACBCED0CECED0D1D4D3D4D3D3D0C31200000000000000000000000000001323464D4D4D211900000000000000000000000000005AC9C9C6C8C9C8C8C4C4C1C445000000000000000000000000000000000000000000000000006ABCBBBBB9BC53000000000000000090C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9AC000000000000000064BCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BF3202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CECFCFD1D4D4D1D3D3D7DFF3D0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDC5A00000000000000000000000000000000000000000000000000000000000000000000009CD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1C929000000000000000000000000000000000000000000000000000000000000000000001094C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8A20F0000000000000000000000000000000000000000000000000000000000000000000E9CB2B2B1B1B1B1B1ACACACACACACACAC0000000000000039A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7900D0000000000000000000000000000000000000000000000000000000000000000000038A5A5A7A5A5A5A5A7AAAAA8AC3D000000000000000000000000000000000000000000000000005EA8ACACACAC08000000000000000EB0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACAC2E0000000000000015B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB930020101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E7E4E4E4E2E2E4E7EBE7F3FCDCD0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C94A0000000000000000000000000000000000000000000000000000000000000000006EC1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8AC2200000000000000000000000000000000000000000000000000000000000000000FA3BFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4AC170000000000000000000000000000000000000000000000000000000000000010ACC5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C00000000000000041BBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B19B19000000000000000000000000000000000000000000000000000000000000000039A3A3A3A1A19E9E9E9E9F9E9A9934000000000000000000000000000000000000000000000000005DA5A7A3A76F000000000000000056B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBD7C000000000000000086C0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBB3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFCBC9CBCBD0CFCECAC9D3EBC9BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBD4B0000000000000000000000000000000000000000000000000000000000000361ACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A33F000000000000000000000000000000000000000000000000000000000000249FA5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5AC30000000000000000000000000000000000000000000000000000000000016A5BDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C60000000000000047C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCB53A00000000000000000000000000000000000000000000000000000000000057B6B6B8B8B9BBBBBBBCBCB9B9B5B8400000000000000000000000000000000000000000000000000064B1B1B2B2280000000000000000AAB9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1090000000000000035C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFC0C1C1C0BDBDC0C0C0C1CEE3BFABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4900A0000000000000000000000000000000000000000000000000000001AB3DCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6981200000000000000000000000000000000000000000000000000000977CBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBD7E09000000000000000000000000000000000000000000000000000047C1C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C30000000000000045C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D08C1100000000000000000000000000000000000000000000000000001297D4D1D1D1CECED0D0D0D0D0D0D0D0D14E0000000000000000000000000000000000000000000000000081DBDBDBC1000000000000000034E1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3670000000000000000D4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C130020202010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CAC9C9CBCFD3D0D1D0D0DBF3CEBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFB14D0300000000000000000000000000000000000000000000001E7BC9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3C9700A00000000000000000000000000000000000000000000045AC9DADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C15A0900000000000000000000000000000000000000000000158CBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C10000000000000045C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCB5630800000000000000000000000000000000000000000000034DB6BFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C144000000000000000000000000000000000000000000000000006EC3C3C14C00000000000000007AB9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5A500000000000000005AC5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C83402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFD3D7D6D5D7D9D7DAD7DEF2CEBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0BF64110000000000000000000000000000000000000A389BD0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1D77B25000000000000000000000000000000000000126FCEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3DB7C240000000000000000000000000000000000002B8CDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C11D1D1D1E1E1E1E5FBFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A39D5C2400000000000000000000000000000000000007448D9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A75018181819191818180C000000000000000D191919191919191972B1ACAC26191A1A1A1A1A1A23B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3341E1D1D1D1D1E1E2DC1C5C5C5C4C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C93402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6CACBCECECBCBD1D1DCF2CEBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3AB69300A00000000000000000000092F5A8FC9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCA363320F0000000000000000000009345F99C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1A76E3C1600000000000000000000092C5FA8C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDB1764516000000000000000000000026588DC5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0780000000000000077CECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A52A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1C3C5C5C4C3C3C3C5C3C1CBE4C1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9BBA2907677778BA7AAC6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBAEB07E7E7E80AEABCED4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0A796866D6D6D7596A7C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3BBA8967878778BA5B8CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CE770000000000000078D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCB3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D9DAD7D9DAD7D6D7D4D4DFF3CFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A35A000000000000005A9F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCB3602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEBCBDBDB9BBBBBDC1C1C3D0E9C6B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A75D0000000000000061A7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B22C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D7D7D7D7D7D7DADEDFEBF9D7C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DF81000000000000007CD4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B22D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDBBBCC0BBBCBFBDBCBBBBC3DAB8ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B968000000000000006AB9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B32D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED6D5D5D7D7DADCDFDEDBE7F7D3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBB6D0000000000000068B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAA2A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDBBBCBCBFBCBCBDBFBDBBC4D7B6A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B969000000000000006DB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B12D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7D7D7D5D7D7D5D5D6D9E3F3D0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C572000000000000006FC0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9F28010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED6D9D9D9D9D9D5D7D7D3E1F3CEC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0AA454547464647487CC8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B968000000000000006DC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C83302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C5C6C4C1C5C9C4C5C5C5D1E4C5B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBA20000000000000047C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3670000000000000069B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DEDCDCD9D9DBDCDEDEDEE9F8D4C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C89C0000000000000047C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DB810000000000000081DBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C83302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D5D9DAD9D5D5D5DAD6E4F7D3C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B38F000000000000003DB0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC872000000000000006FBFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D4D4D1D3D3D5D5D6D9E1F3D0C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEB30000000000000054DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBC6E000000000000006CBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9E28010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFBCBCBBB9B8B9BBBDC0CBE1BDACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBA50000000000000047C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4A575777777767676ABCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDF3C02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C8C9C9C6C6C9CBCBCED1D9F1CBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A380000000000000003BABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B12D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EFF1F1EFF2F2F1EFEFEFF8FFE7DFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACAC88000000000000003BAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C93402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DFE1E1DFE2E3E3E1DFE1ECF8D7C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6900000000000000043BDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCA3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CACACECBCECFCECFD0D0D9EBC6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B18D0000000000000040B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BC3002020202020101010101019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0CFD1D0D1D1CED1D1D6E4F6D5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0BD7777777778787BA1D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CED0D3D1D3D3CECFD0D0D9EEC9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD03702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DFE1DCDCE1DEDCDADBD9E4F7D0C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECE3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBCBCBCBD0CBC9CACBC9D5EEC9B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AA2A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB5B2B2B1B2B1B5B8BDB9BFD7B19F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A729010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7D7D7D7D7D7D7D5D9D9E1F4D0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA729010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDAB9B9BBB9B9B9B9BCBFBFC6E1BDA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAAC2C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD3D7D7D6D7D7D6D9DBDBE4F6D1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A729010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBBBBFBFBDBFBFBFC4C4C6CEE3BDB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD5D5D7D3D0CECBCBCBCED7ECC9B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC93302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6B2B1B5B6BCB8B5B8B6B3BDD1AC9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAAC2C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DFE1DFDCDFDEDFE2E2E2EBF8DAC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECE3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBCECECACAC9C8C9C9C9D1E7C1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC93302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7C8CBC9C8C9C9C8C9CECED7ECCBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C130020202020201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9D1D3D3D1D3D3CFCECAC8D5EAC5B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBB2F01020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFD3D3CFD3D5D5D5D6D9E3F7D5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B93002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D5D4D3D4D3D1D3D6D6E1F6D0BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E26010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD3D3D3D1D7D9D9DEDBDBE6F7D3C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C63302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEB9B6B9B9BBB8B9BFC1C5CEE6C1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B22C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5B2AEB2B1B1B5B6BBBBBBC6DCBCA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B32D010101010102010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFC0C3C6C5C9C9C6C6C8C5CAE1C0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E23E02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CECFCFCED0CBCFD3D3D4DCF3D0C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A729010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E7E9E7E4E4E4E3E1DEDEEAF8D7C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBD3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CBC9C9CBCFCECBD0D4D4E1F3CEBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B82E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBCAC9C8CACACACACBCBDAECC6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D13702020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C9C9C9C9CBCBCACBD0DAECC9B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C1C5C5C5C4C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C6C8C8CACAC9CBCBCBCECECACECECACBCBCBC9C6C93402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C5C6C4C5C6C5C4C6C9C9D3E9C5B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9F28010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C6C6C5C6C9C5C9CACAD3E7C0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACAB2A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED3D5D5D5D9DBD9D5D6D6E4F4D3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DADBD9D9DBD7D7D4D4D4E1F6D3C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AA2A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E4E6E2E4E4E3DFE1E2E6ECF9D9CED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBF3002020202010201010101019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEBCB9B6B6B3B3B6B9BBBDC1D7B3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1C1C3C0C1C5C5C6C6C6C5D0E6C3B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B22D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DEDBDAD9D9D5D5D5D9D6DFF3CABDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B93002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1C3C6C6C5C5C5C1C3C3C3D0E9C1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB12D01010101010101010102029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DBDADADADBDBDBDBDADBE4F7D3C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBD30020202020201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9DEE1DCDBD7D7DADBDBE9F8D4C9C6C4C3C3C5C4C4C4C1C1C1C1C0C0C0C0BFBFBDC0C0C0BFBCB9B9BBB8B9B9B9B9B9B9BCB9B8B8B9B9BCC0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C0BCBCC0C0BCC0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B5B6B5B8B8B9B5B5B6B9B9BBBBB9B9B9B6B3B1B1B1B1B0B0ACACB0B1B1B1B1ACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5A8ABACACACACACACACACACACACACB1ACB0B2B5B5B5B8B8BBBBB8B8BBBBB9BCBCBFC0C0C0C0C1BFBFBFBFBFBFBFC1C3C5C5C5C5C5C8C8C8C4C8C9C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACAC9C9C6C6C3C3C5C8C8C8C8C8C8C6C6C3C6C8C8C9CBCBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBD3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D5D7D6D7D7D1D4D4D4E1F4D0C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDC3A02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D3D3CECFCFCECECECED6EBC5B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D03602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D4D7D3D5D4D3D1D6D6DEF3CEBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBB3002020201010101020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6C9C9C9C9C9CECBCECED1DCF2CEBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB82D010101010101010202010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9D5D5D6D4D0CBCECECBD7ECC9B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECB3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0DCDEDFE1E1E1DFE1DFDFEBF9D9CACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE13B02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6C9CBCACECAC6CBCED9EFC9B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E43D02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDADBDBDBDFDFDEDCDBDBE1F3CFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8979090898D8C8DACB3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B69B89696868686F90A5B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F8D7C7B7B7E808290A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D03802020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0D1D1CFD3D0CBC9CACAD7ECC9B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBC9C64331600000000000000000008235281B3BDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBB9654250000000000000000000003255782BCC3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9885428200A2020539CD0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CEC59275514A4A4B7780A5C9D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9B684511F04000000000000000000163B6DA7BCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C432020202020202020202020199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DCDCDFDFE1E1DFDEDEDBE4F7D3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABAB190000000000001AB0B0B0B2B3B3B2B5B5B5B2B2B1B0000000000000003FB2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B58F000000000000006DC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBD0000000000000045C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3A2580E0000000000000000000000000000000000032F81ACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8610000000000000088ABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B38F000000000000003FB3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBB6D000000000000006FC1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C94800000000000000CECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D184200000000000000000000000000000000000043A84CAD4D4D6D6DADADADADBDBDBA71B0000000000000000007AD1D0CECECECEC9C8C6C9C9C9C9C9C9C9B64704000000000000000000001DBFBFBFBFBCBCB9BBBBBB6C0000000000000090B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C481350000000000000000000000000000000000001D64B5BBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBF97000000000000006FC4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4460000000000000094B9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C93302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CFD1D4D0D1D3D5D9DAD6E1F3D0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C51E0000000000001FC9C5C8C8C8C9CED0D0CBCECECEC9000000000000004CD0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9A30000000000000078CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C40000000000000043BBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1974303000000000000000000000000000000000000000000001F6EABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AA5F0000000000000081A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAA86000000000000003AA5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0AC640000000000000061ABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B23F00000000000000B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBB9C1C00000000000000000000000000000000000000000000084FA5B2B1B1B1B3B1B3B587030000000000000000000067B1B1B1B1B2B2B0ACABABA7A5A7A7A77C0D0000000000000000000000001E9F9FA2A5A5A29F9F9E9F58000000000000007C9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7AB6714000000000000000000000000000000000000000000000847ABB2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C59C0000000000000077D0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D64E00000000000000A7D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C53202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D1D1D0D3D3D1D3D0D0DAEBCAB9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C11D0000000000001EC1C1C5C3C3C5C9C8C8C6C5C5C6C40000000000000047C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9A20000000000000072C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BD0000000000000040B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBF640300000000000000000000000000000000000000000000000000002DABC6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C97500000000000000A5CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C99F0000000000000047C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C16F000000000000006BBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B64000000000000000B1B0B1B2B2B1B2B2B2B5B8B6B9B6B280030000000000000000000000000000000000000000000000000008569DA7A7A8ABACA508000000000000000000000061ABABACACB1B1B3B3B2B2B2B1ACAC9203000000000000000000000000003DACB0B1B1B1ACACB0B1AC610000000000000087ABACACACACA8A8ACABABACB0B0ACABABABABACB1B2971B0000000000000000000000000000000000000000000000000000086BB2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B38F0000000000000067B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9430000000000000096BDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBC3002020102020202020102029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD1D4D5D5D5D5D1D3D3D6E1F2CEBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3180000000000001AB0B1B1B5B5B5B2B5B3B3B3B1B1B30000000000000041B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C39E0000000000000074C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C90000000000000043BCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6A22300000000000000000000000000000000000000000000000000000000000378B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2650000000000000090B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C99E0000000000000043BCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8740000000000000070C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C94900000000000000CAC8C9C6C9C5C5C5C8C5C5C1C1C36F00000000000000000000000000000000000000000000000000000000001090C0C0BDBF6400000000000000000000000072C8C5C5C5C4C4C5C6C3C5C5C5C5C51E00000000000000000000000000004ACBCBCBC9CBCAC9C9CAC97700000000000000A5CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C86900000000000000000000000000000000000000000000000000000000000036BDC5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5900000000000000067B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8400000000000000090B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EAECECECF2F2ECEBECECF4FFDFD4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D42200000000000022D4D1D1D1D1D1D1D1D1D1D1D0D0D1000000000000004ACECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C09B000000000000006BBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6000000000000003BB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1840E000000000000000000000000000000000000000000000000000000000000000040A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9F5A000000000000007A9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A783000000000000003AA7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2640000000000000067B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABAC3E00000000000000B2B3B1B2B5B2B2B6B8B8B8B9BC8D030000000000000000000000000000000000000000000000000000000000000052B1B9B82A0000000000000000000000006CBBBBB8B8B5B8BBBBBDBDBDBDC0960000000000000000000000000000003FB2B0ACACB0B0B0B0ACAC610000000000000086AAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0AB3000000000000000000000000000000000000000000000000000000000000000000D94ACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BC94000000000000006DBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B63F000000000000008FB5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB82D010101010102010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEDADBD9D9D7D5D5D4D3D4DBF3CFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B91C0000000000001CB8BBBBBDBFC1C1C1C1C3C0C0C3C30000000000000043C1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9A20000000000000080DBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDE0000000000000051E1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDAA704000000000000000000000000000000000000000000000000000000000000000000004ACBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C16E0000000000000096BDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1990000000000000046C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6750000000000000077D0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED04C00000000000000D0CECED0D0D0D1D1D4D1D1D1C61100000000000000000000000000000000000000000000000000000000000000000023C5DC0400000000000000000000000084DEDEDEDEDEDFDFDFDFE1E1E2E45400000000000000000000000000000054E3E4E2E2E4E2E4E4E4E48600000000000000AEDCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C026000000000000000000000000000000000000000000000000000000000000000000000E99B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A27E00000000000000589E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3380000000000000084A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C13202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DFE1DFDCDFDEDFE2E2E2EBF8DAC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC11D0000000000001DBFC1C1C4C6C4C6C6C4C4C3C4C4C80000000000000045C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C199000000000000006EC0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8000000000000003FB5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A87D02000000000000000000000000082B3F5B5C635C5B4C371200000000000000000000000000359B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A75B000000000000008CB0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B58F0000000000000043BCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5740000000000000076CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBF4400000000000000BDBDBDBDB9B9B9B6B9B9B5B949000000000000000000000033739CBCB9B9B5B8B89E875F380E00000000000000000000088700000000000000005D8C938D6D93B2B5B6B6B6B6B6B6B9B9BDBBBB1C00000000000000000000000000000047C6C9C6C3C3C3C3C3C1BD6B000000000000009BC5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8260000000000000000000000000024436570727A7472472E0400000000000000000000000004B1C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C19B000000000000006AB9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBD430000000000000096BDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECE3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBCECBC9C8CBCFCACAC9CAD3E9C6B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DF2400000000000024DEDEDFDBDBDBDCDCDADCE1E1DFDC0000000000000053DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBB1000000000000007AD1D1D0D0D0CECACACBCBCECBCBC9C9C6C60000000000000046C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1A81000000000000000000000034D9BC3C1C1C1C5C6C6C9C5C5C3B36516000000000000000000000056C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C97700000000000000A7D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3A7000000000000004CD4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDB830000000000000087E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDE5100000000000000E2E4E3E3E4E6EAE6E6E3E3D30400000000000000000054D4E2E4E4E4E4E2E2DFDCDADADADADABB64130000000000000000000000000000000057C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBC0000000000000000085287ACACB0B0B0B0ACA8A7A3A3A3A1A19EA15A000000000000007C9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA23900000000000000000000001E6B9FA7A7A3A3A3A3A3A7A7A7A7753400000000000000000000000E9FACACB1B0B0B2B5B5B9B9B9B6B9BBBD940000000000000069B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C1C547000000000000009BBFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C6C8C8CACAC9CBCBCBCECECA3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CBD1D0CBCED1D3D4D3D3DEF1CAB9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B61B0000000000001CB8B6B6B9B9B8B8B8B8B5B5B5B8B90000000000000043BBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1980000000000000075C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9000000000000004FDBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBD3230000000000000000000065D0E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD988130000000000000000000093DBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D07800000000000000A3CBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBD960000000000000045C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C370000000000000006EC1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCB4B00000000000000CED0D0D0CECBCBCBCBCBD06E0000000000000000007BD0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D08118000000000000000000000000000081DEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBB00000000000000004C4DBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E38800000000000000BBE6E4E4E4E4E3E3E4E2E2E4E2E4E4E4920000000000000000000023A8DBDBDADADADAD7D7D4D1D0CBCBC9C8C8A5350000000000000000000026C4C1C1BFBCBCBCB9B9B6B5B2B1ACAC870000000000000064ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C350000000000000083A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B92E010202020202020202020199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDBDCDBDAD7D7D5D5D6D9E3F6D0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAA1900000000000018A39F9F9F9F9FA19C9B9C9E9E9C9C0000000000000039A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A781000000000000005EA3A3A7A8ACACACACACB0B2B2B2B2B0B0B0000000000000003EACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1AC4B0000000000000000000E93B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B138000000000000000000089CB2B3B8B8B6B6B6B6B6B9B9BBB9BBBB69000000000000008FB9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B890000000000000003FB3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAA600000000000000061ACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB03D00000000000000AAAAA8A7A7A7A7AAAAAAAC20000000000000000064B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0B95B0300000000000000000000000067B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B58C0000000000000038B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC070000000000000009BBFBFBCBCBCBCBCBBBDBBB8B5B5B5A1030000000000000000005ABFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0940400000000000000000064CAC9C8C8C9C8C8C6C9C9C9C9C9C89F0000000000000072C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B33F0000000000000094BDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B12B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DCDEDEDCDEDCDBD9DEDEE9F8DACBCECBCBCECECBC9CBCECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C5C5C5C5C5C1C1C0BDBCBCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C11E0000000000001EC0C1C1C0C0C0C1C1BFC0BDBDBFBF0000000000000044BDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C59B000000000000006FC3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C60000000000000047C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECAA200000000000000000028CAD3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0770000000000000000002CC1C1C0BDC0C1C1BFBDBBB9B9B9B9B96D0000000000000097C0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9920000000000000041BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2650000000000000069B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C14400000000000000BBBBB9B9B9B9B9B9BDBDBF00000000000000002ABBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6A410000000000000000000000070C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C59C0000000000000072C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D17C00000000000000A7D0D3D1D1D1D4D1D4D3D4D4D6D6D73400000000000000000498D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFC513000000000000000004BDE1DFDEDEDEE1E1DFDFDCDCDCDCB30000000000000084E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E15300000000000000AED6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C63302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF4F7F7F6F7F8F9F9F9F9FDFFEAE2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBC1D0000000000001DBDBBBBB9BBBBB9B6B6B3B3B1B0B0000000000000003FB6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAA860000000000000058A2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A700000000000000389F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C1D00000000000000001E9FA5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA75E0000000000000000007BA3A3A7A8ACACACACACB0B2B2B2B264000000000000008DB3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABAC8C000000000000003FB3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5680000000000000068B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BC4100000000000000B5B8BBBBBDBDBDBDC0BD9300000000000000007DB5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAA21F0000000000000000000064B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1890000000000000061ABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1610000000000000094BBBBB9BCBCBCBDC0BFBFC0BFBF7D0000000000000000008CBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8A20F000000000000000030B1B3B5B6B2B6B9B9BCBCBCBCB9940000000000000070C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B53F000000000000009BC1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C43202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6CBCBCBCBD1D1CBCFCED0D6ECC6B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAA190000000000001AACACB0B0ABABACB0B2B5B5B5B5B5000000000000003DB0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACAC89000000000000006CB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C00000000000000043BDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B58700000000000000000897ACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C34E00000000000000001DBCBCBCBCBCBBBDBBB8B5B5B5B8B8680000000000000094BBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACEA20000000000000049C9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5720000000000000072C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B94100000000000000B9B9B9B9B6B6B3B3B3B3860000000000000003ACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABA31900000000000000000067B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B28D000000000000006BBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5670000000000000096C0C0BDBBBBBBBBB9B9B9B9B9BB15000000000000000065C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B19303000000000000000081B0B1ACB0B0ACAAACB0B1B1B18C0000000000000064B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACAC3D0000000000000084ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BC2F02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5DFE3E2DFDCDCDBDADBDBE6F6D3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACAC190000000000001AACABABACABABABACACB1B1B3B3B2000000000000003EACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B28C000000000000005FA8ACABABACB0B0ACABABABABACB1B2B6B6000000000000003EB1B5B1ACACACB0ACACB1B0ACB0ACACACB12800000000000000007CB0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B11A000000000000000089B6B3B5B9B8B8B9BCB9B9B9B6B6690000000000000096BDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBD970000000000000045C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBC69000000000000006BB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B83F00000000000000B3B3B5B5B8B8B6B6B9B968000000000000001CB9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5AB0300000000000000006DC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9A10000000000000078D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DE8600000000000000B2DADCE1E1DFDCDCDCE1E1E1DEA1000000000000000034DBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D07A000000000000000038CBCBCECBCBC9C9C6C6C6C6C69E000000000000006EC0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C145000000000000009EC9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D03602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E6E7EAEAE9E6E7E7E7E4EFFBDCD1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A51800000000000018A5A5A8ABABABABAAAAA7A7A7A7A8000000000000003AA5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5830000000000000060AAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAA000000000000003DACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B099000000000000000030B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B890000000000000000032B9BCBBBBB8B8B3B6B6B6B5B1B564000000000000008CB1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B58C000000000000003FB2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A25A00000000000000589F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A73B00000000000000ABABABAAA7A7AAAAACAC64000000000000001AB8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C161000000000000000077D0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3A7000000000000007CD6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D47B00000000000000A3CED0D1D0D0D0D4D1D3D3D6D4300000000000000004B6D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2230000000000000000A2BCBCBCC0BDBFBFBBBBBBBB94000000000000006FBFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9410000000000000094BBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB93002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8B5B5B6B9B9BBBCC1BDBDC6DAB2A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBC1D0000000000001DBFBCBFBFBCBCBCBDBDBDBDB9B9B90000000000000041B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBC940000000000000067B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B60000000000000041BBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C85700000000000000009EBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C53F0000000000000000B1BDBDC0C3C5C5C8C4C8C8C9CA7500000000000000A2CACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBD940000000000000043BFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBD6D000000000000006DC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C64700000000000000CBCBCBC9CBCAC9C9CAC99B0000000000000018CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAB9000000000000000077CBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C19B000000000000006BBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B66A0000000000000092B8B5B1B1B0B1B0B1B2B2B1A4000000000000000047B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A77B000000000000000053B0B1B1ACABABACABABABAC880000000000000064ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACAC3D0000000000000087ACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B32C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E9EAE9E7E7E7E6E7E4E7F1FCDCD0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B51B0000000000001AB6B2B2B2B6B2B2B2B6B9B9B8B5B50000000000000044C0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B993000000000000006FBFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBF0000000000000045C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5160000000000000035C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1B2000000000000000081D0D0D0D0D0D0D0D3D1D1D1D47A00000000000000B0DBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBB00000000000000051DCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1830000000000000084E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E35400000000000000D4D7DAD6D4D7D7D7D7D4A70000000000000000C9D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C62E000000000000006EC0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9960000000000000067B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B267000000000000008DB2B1B1B1B1B1ACACACACAC61000000000000000090A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA31F00000000000000179B9C9E9E9C9C9C9E9E9E9E7B000000000000005DA5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A73A0000000000000088ACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C8CBC9C9CBCBCBCBCACAD5EAC1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBF1D0000000000001CBCBCB9B9B9BCBCBCB9BBBDC1C1C00000000000000043BCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B58F000000000000006ABBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C00000000000000045BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9B100000000000000008FC9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDE2C0000000000000040E1DFDCDCDCE1E1E1DEE1E1DE8300000000000000AEDBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3A7000000000000004ACACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C06D000000000000006EBDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C54700000000000000C1C1C0BDBDBDC0C1C1C1C5000000000000000077C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCB4A000000000000007AD1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1A70000000000000078D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E38600000000000000B2DFDCDBDBDBDBDCDEDEDEDE3F0000000000000034DEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E29B0000000000000000C0DADADADCDCDCDBDBDADAAE0000000000000077C9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B13D0000000000000089B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A729010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED7DADAD9DEDEDBE1DEDBE4F6D5C4C4C4C1C1C1C1C0C0C0C0BFBFBDC0C0C0BFBCB9B9BBB8B9B9B9B9B9B9BCB9B8B8B9B9BCC0C0C1C1C3C3C3C5C5C5C4C1C1C1C0C0C0BFBFC1C0C0BCBCC0C0BCC0C0C1BFC1C0BCB9B8B8B3B3B3B8B9B9B8B8B6B2B2B1B1B1B5B5B2B5B5B5B51B0000000000001BB9B9BBBBB9B9B9B6B3B1B1B1B1B0000000000000003EACB1ACACACACAAACB1B1ACAAA8A8A7A7A3A2A2A3A3A7A3A7A7A5A3A5A5840000000000000061ACACACACACB1ACB0B2B5B5B5B8B8BBBBB80000000000000045C0C0C0C1BFBFBFBFBFBFBFC1C3C5C57A0000000000000004C9CBCBD0CBD0CED0CECBC9CACACBCBC9CECECACACECAC8C8C8CAC9C9C9C6C9CACA6B0000000000000009C8C8C8C8C6C6C3C6C8C8C9CB7700000000000000A3CECACACAC9C9C5C5C4C6C6C4C4C4C8C8C9C8C9C9C8C5C5C5C59C0000000000000043BCBFBFBFC1C1C1C1C1C1C4C6C9C9C9C9C6C9C9C9C9C6C4C1C3720000000000000076CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C14500000000000000BFC0BDBDBFBFBFBDC0C0C0240000000000000016BBC1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0450000000000000074C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C99E0000000000000078D0D1D0D0CECBCBCBCECACACECACECECED0CED07800000000000000A7D0CED0D0D0D0D0CBCED0D30A0000000000000077C9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0B9030000000000000076BFBCC0C0BDBDBCBDBDBD93000000000000006AB9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B23F0000000000000092B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDBBC0BCBBBFBFBBBBBBBBC4DBBCA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B21A0000000000001BB9B9BBB9BBBBB9B9B8B9B9B9B5B50000000000000041BBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B58C0000000000000064B0ACACACABACABABABABABAAAAAAAAAAA8000000000000003DB0ABABACB0B2B5B5B5B5B5B5B3B3B146000000000000002FACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBA20000000000000000A7BFBFBFBFC1C0C0BCC0BCBC6C0000000000000094B9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACAC8C0000000000000041B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBF6B0000000000000068B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CA4900000000000000D0D0D0CECACECACACACBCA64000000000000000047C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4450000000000000070C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBD960000000000000069B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB167000000000000008FB6B2B2B6B3B3B1B1B1B19B000000000000000097B0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BB2B0000000000000049B9B9B9B9B9BCBCB9B8B68F000000000000006BBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8480000000000000097BFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B32C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D3D5D1CFCECBCBCBC8D6EBC6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BB1C0000000000001DBFBFC0BFBFBFBFBFC1C0C0BCC0BC0000000000000043BDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B18C000000000000006BBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C50000000000000043BCBCBCBBBDBBB8B5B5B5B8B8B8B9B6230000000000000065C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8090000000000000087C8C8C5C3C5C3C1C4C4C4C170000000000000009CC5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBC930000000000000041B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8680000000000000065B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B33F00000000000000B0ACB1B1B1B1B3B2B2B2B2A70300000000000000002BA5BDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C043000000000000006AB9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C99E000000000000006DBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1640000000000000088AAACB0B1B1B1B1B1ACAC69000000000000000EB3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A852000000000000001FA5A7A7AAACACACB1B3B58F0000000000000067B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC145000000000000009CC1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D03602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBCBCFCED1D0CFCED1D1DFF4D1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC11E0000000000001DC3C3C1BFBBB9B6B6B6B9B9B9B9B90000000000000041B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9A10000000000000077D0D0CBCECECEC9CACACECACACACED0D0D3000000000000004ACED0D1CECECECBC9C9C6C6C6C8C9C9110000000000000097D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B82A000000000000005FB6B3B1B3B5B3B6B3B1B1AC610000000000000087A8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAA86000000000000003AA7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A35E000000000000005DA7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAA3B00000000000000B0ACB0B0B0B1B1B0B0B0ACB14600000000000000000003468DB2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B63F0000000000000067B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B68F0000000000000067B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B567000000000000008FB1B2B2B3B1B1B1B1B2B25C0000000000000026A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F6F000000000000000C9EA2A3A7A7A7A8A8ABA783000000000000005EA7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8400000000000000096BDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CE3602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1C1C0C0BFC0BDBCBDC0BDC6DCB9A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D32100000000000021D0D3D0D1D1D3D0D0CECECBCACACB000000000000004DD4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1A70000000000000072C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C40000000000000044BCBCB9BBBBBBBBBBB9B9B9B8BBB8B800000000000000009CBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BC430000000000000041BBBCBFBCBCBDC0C3C3C0C16D0000000000000097BFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC19B0000000000000045C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B969000000000000006CBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C94800000000000000CED0D0CBCECECEC9CACACECAC311000000000000000000000011538CB9CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D14C0000000000000076C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBF980000000000000069B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1AC610000000000000087A8A8A5A3A3A1A1A3A5A53A0000000000000039A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5880000000000000000A8A8A7A7A5A5A7A7A8AB88000000000000005FA7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B03D0000000000000089B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B930020201010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD3D4D5D6D7D7D9DCDBDEEAF7D5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C51F00000000000020CECECED1D3D1D3D4D4D1D3D3D1D4000000000000004CD0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4AB0000000000000080DBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDB0000000000000051DEE1E1DFDFDCDCDCDCDFE1DFDCDCBD0000000000000000E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D475000000000000004CD1D1D1D1D1D1D0D0D1D1D37800000000000000A7D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0980000000000000043BCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACAB610000000000000065B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACAC3B00000000000000A19EA2A2A3A3A3A3A5A5A3A3A177020000000000000000000000000000021838455A677C89A19C9B9C9E9E9C9C9C9E9E9E36000000000000005EA5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA783000000000000005FABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B265000000000000008DB3B3B1ACACAAA8A7A7A5390000000000000061ACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B800000000000000009EB5B5B2B2B3B8B8B6B690000000000000006CB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBD450000000000000090B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B52D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E4E4E2E1E2E3E1E1E6E2EFFBDBD0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B91C0000000000001CBCB9B6B9B5B9B9B8B8B5B6B6B9B8000000000000003FB6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C59B0000000000000067B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBF0000000000000045C0C0BFBFBBBBBBBFBFBFBCBCBCBB960000000000000000C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8720000000000000026CBCECECED1D3D1D3D4D4D17B00000000000000A7D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4AA000000000000004DD4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDB810000000000000084E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E45400000000000000E1E1DEDFDEDFDEE1E1E3E3E1DFDBA504000000000000000000000000000000000000000000000A20445F84B0D3D0CECECE4A0000000000000077CACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C098000000000000006DBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6670000000000000089B1B1B1B2B6B2B2B2B2B61C0000000000000065B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3000000000000000086AAA7A5A39F9FA3A5A37C00000000000000589E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A83A0000000000000086A7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEACFD3D0CBC9C9C9CBCECEDAEBC6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BD1D0000000000001DBDB9B9B9B9B9B9B9B6B6B3B3B3B3000000000000003DACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABAB860000000000000064B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B30000000000000041B9B8BBBCBCBCBCBCBDB9B9B9B9B9920000000000000000B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C172000000000000001EC1BFBFBCB9B9B9B8B5B5B565000000000000008CB5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B38C000000000000003EB2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABAB61000000000000005FA8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B23F00000000000000B1B1B3B3B5B2B2B5B8B8B9BCB9BBBB8D0F000000000000000000000000000000000000000000000000000000042D61A7C9480000000000000077CED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3A70000000000000077D0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADA8000000000000000AEDBD9D6D3D6D3D1D1D1D0200000000000000075C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8000000000000000094B9BCBCBFC1C1C1BFC096000000000000006FC4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBB430000000000000098C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C332020202020202020101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D9DADADBDCDCD9D9DADEE7F7D4C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD72300000000000024DEDEDEE1E1DFDFDCDCDCDCDFE1DF0000000000000053E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBAE000000000000007CD7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0000000000000004ACECECED0D0D4D0D0CECECACAC8C89F0000000000000010C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B364000000000000001AB1B2B6B2B2B2B2B6B9B6B665000000000000008CB1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3800000000000000039A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C5800000000000000589EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7AB3A00000000000000A7A7ABA7A7A7A7A7A3A3A7A8ACACACAC9D35000000000000000000000000000000000000000000000000000000000000191A0000000000000064B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9940000000000000067B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6670000000000000092B8B9B9B9B5B5B5B9B9B91D0000000000000068B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0AC0E0000000000000087AAAAAAAAAAA8A8ABA8870000000000000061B0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAA3B0000000000000088ACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B52D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED3D4D7D7DADAD9D9D9D6E1F6D3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C61F0000000000001FCBCBD0D1D1D0D0D0D0CECACAC9C80000000000000047C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B18D0000000000000061B1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A50000000000000039A5A5A8ABABABABAAAAA7A7A7A7A8840000000000000000A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0AB5F0000000000000019A7A7A7A5A7AAAAAAAAAAAB640000000000000089B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5900000000000000043BBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3670000000000000068B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B53F00000000000000B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B28521000000000000000000000000000000000000000000000000000000000000000000000000005CA2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7820000000000000061ABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B368000000000000008DB2B5B8B8BBB8B8BBBBBB1C000000000000006FC1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D60000000000000000A7CED0D0D3D0D3D3D3D4AA000000000000007CD4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCE4A000000000000009BC3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBF3202020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7C8C9CBCECACAC8C9C9C9D5EAC9B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E22400000000000023DFDBDBDBDCDCDADCE1E1DFDCDCDC0000000000000051E1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCB0000000000000007AD0D0D0CECACACBCBCECBCBC9C9C6C6C6C60000000000000045C1C0C0C0BDBDBDBDBDBDBDC0C0BD980000000000000000C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5700000000000000035C4C6C9CBCECEC9C9C9CBCB7800000000000000A5D0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0A3000000000000004CD1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDE860000000000000083DCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDE5300000000000000E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2B65F140000000000000000000000000000000000000000000000000000000000000000000072C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9920000000000000061ABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E58000000000000007B9E9E9B9E9E9E9B9C9C9C24000000000000005FAAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1AC00000000000000008FB9B9B9B6B9BBBDBCBD96000000000000006CBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C1C5C5C545000000000000009BC5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C6C8C8CACAC9CBCBCBCECECACECE3402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECCFD4D4D6D7D3D6D7D9D4DEF3CEBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BB1C0000000000001EC0C0C3C3C3C5C5C3C3C0BDBDC1C1000000000000002EC5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBB20000000000000086E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E10000000000000051E1E1DEDEE1DCDBDBDBDBDBDADBD9C80000000000000000CED4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6570000000000000045C1C0C0C0BDBDBDBDBDBDBD6E0000000000000099C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3990000000000000045C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0780000000000000078D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CE4A00000000000000D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBBB78402400000000000000000000000000000000000000000000000000000000000083DEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3B60000000000000087E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADC8100000000000000ACD7D4D1D0CBCBC9C8C8C647000000000000005CC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A19B00000000000000009BA29F9F9E9E9E9B9E9E7B000000000000005AA3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A83A0000000000000089B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDB6B8B8B6B8B9B9B9BDC0C9DFBCAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B01A0000000000001AB2B5B5B8B8B8B3B3B8B9BCBCBBB8000000000000001BB9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B68F0000000000000067B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1000000000000003FB2B5B5B1B2B2B3B1B1B1B1B2B2B0AC000000000000000083A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F350000000000000045A3A7A7A7A8A8ABA7A7ABA7610000000000000086ACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BB900000000000000043BDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED07C000000000000007BD1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D44E00000000000000D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBB5A381775B482E1E09000000000000000000000000000000000000000067B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBB94000000000000006FBFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B96B0000000000000092B9B9B9B9BBB8B5B8B8BB4A0000000000000040B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9920000000000000000BFBFBFBFBFBDBDBFBCBC920000000000000051B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C445000000000000009EC9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BD3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0D4D4D3D7D7D7D7D9D9E4F7D7C9C9C9C6C9C9C9C9C6C4C1C3C5C9C5C5C3C5C5C8C9CACAC9C9C6C9CBCBCBCAC9C9C8C6C6C4C1C1C1C1C1C1C1C1C1C0C1C1C0C0C0C1C1BFC0BDBDBFBFBFBDC0C0C0BFBFBFBDBDBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C51E0000000000001DC0C1C4C1C3C5C3C4C6C8C8C8C5C80000000000000017C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACEA3000000000000007BD1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0000000000000004AC9C6C4C1C1C1C1C1C1C0BDC0C1C1BF1D0000000000000076BFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B81C000000000000006DBDB9B9BCB9B6B9B5B9B9B8680000000000000090B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1990000000000000026C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BF6D0000000000000045C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C44700000000000000C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECEB1A87A724D291200000000000000000000000078D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4AA000000000000007CD4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDF8300000000000000B0DBDCE1E1DFDEDEDEE1E1830000000000000024DCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E38F0000000000000022DAD6D4D7D7D7D7D4D1D1A7000000000000004BD0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6460000000000000098C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B62D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED9D7D7D9DADEDCDEDEDEE7F7D5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A11700000000000016999997979796979B9B9E9E9E9EA10000000000000000A2A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5900000000000000067B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBD0000000000000045C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6360000000000000057C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9000000000000000089B5B6B6B6B8B8B9BBBBBBBC6B000000000000006FB5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B18D000000000000000FB6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6750000000000000033BCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C54700000000000000C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5BD8A1E00000000000000000069B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBF97000000000000006DBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C472000000000000009CC3C3C6C6C6C6C4C6C6C9990000000000000004C9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9500000000000000036C9CAC9C8C5C5C5C6C6C9A20000000000000028C9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8400000000000000090B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B22C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C4C3C1C0C0BFBCBDBDC3D7B6A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B51B0000000000001AACACB0ACACB1B0ACB0ACACACB1B300000000000000008CB0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B18D0000000000000067B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBB0000000000000043BBB9B9BBBDBDBBBDC0C0C0C0C1C1C561000000000000001DBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBC810000000000000000B1B9B9BCBCBCB9BBBDC1C1C06F0000000000000053BCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8900000000000000000B1B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5700000000000000016C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C94800000000000000DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDA3E00000000000000007CD4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1A70000000000000077CBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C16E0000000000000096BDC0C0BDC0C0BFC1C1C1B9000000000000000093C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3160000000000000065CEC9C9C9CBCBD0D0D3D3A80000000000000004CBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D44C00000000000000A7D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDE3B02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CBD1D1CED1D1D0D0D1D3DBF1CEBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C31E0000000000001FC8C5C5C5C3C4C6C6C9C9C9C9C5C8000000000000000065CEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9750000000000000074C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C50000000000000047C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9810000000000000000A7B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3470000000000000014ABABABAAAAA7A7A7A7A8A8AB5F0000000000000013A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A581000000000000000076AAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0AC640000000000000000A2ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B84100000000000000B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2A2030000000000000064B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B18C0000000000000061A7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA35A000000000000007C9E9F9EA2A3A7A3A2A3A29F1200000000000000449EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B59D00000000000000007DB2B5B8B8BBB8B8BBBBBB9000000000000000009BC5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D34C00000000000000ABD6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECE3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED9DADAD9D7D7D9DCDEDAE4F6D3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C91F0000000000001FC8C8C4C4C1C4C4C1C1C1BFBFBFBF000000000000000024B9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C16F0000000000000072C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBC0000000000000044BCBCBDC0C3C3C0C1BFC0C0C1C1C1C1B6030000000000000067C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C109000000000000004EB6B6B9B9B9B9B9B9B9B9B9B667000000000000000098C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9A100000000000000005BCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED04C000000000000000082C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C92600000000000000C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A130000000000000005CA3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8AB83000000000000005DA7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A85F0000000000000083A8ABACB0ABA7AAAAAAABA741000000000000000DAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABAB4B0000000000000003B1B3B3B8B9BCBCBBB8BBBB92000000000000000057B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B530000000000000008CB1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A328010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C9C9C9CECECBCED1D1DCF3CEBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B91A0000000000001AB2B5B8B9BBBCBCB9B6B3B5B5B5B20000000000000000009CB2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C63F0000000000000070C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C30000000000000047C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3350000000000000016C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C57A000000000000000086BDBCB9B9B9B9B8B8B9BCBFBC6B000000000000000034BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C39C000000000000000009C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCB40000000000000000038CECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C91000000000000000C6C9CAC9C8C5C5C5C6C6C9C9CBCB4A4A4A484A4A4896C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8680000000000000067B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B18D0000000000000067B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5670000000000000087A7A7A7A5A3A7A7A8ABACAC78000000000000000077ABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8A308000000000000002FB0B1ACACACB1B1B1B2B1AC8700000000000000000DABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACAC0E0000000000000088ACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B52E010101010101020201010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0DBDCDEDFE3E4E1E2DFDEE7F7D7C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B61B0000000000001CBBBCBDC1C3C6C4C4C4C6C6C8C8C80000000000000000004EC1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5170000000000000070C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C90000000000000048C9CACACBC9C9C6C6C8CAC8C9C6C9C5C57A000000000000000075BDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0160000000000000009BCBFBDBDBDC1C3C4C8C5C5C5C4720000000000000000008BC6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAA200000000000000000081CACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C81E000000000000000004B6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1BB0000000000000000BBBBB9B5B5B5B8B8B8B8B6B3B3B60F0000000000004EB9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6690000000000000065B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7810000000000000061ACACABACB0B1B1ACABABACABABABACACB1B1B367000000000000008CB1ACAAAAAAA7A7A7AAABA8AB080000000000000020B0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABAB5A000000000000000075B5B5B1B1B5B1ACACACB0AC880000000000000000006EB1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8A10000000000000000A2B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C53302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DADBDBDBDCE1DFE2E3E3ECFBD7CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABAB1900000000000018A8ABACACACACACABACB0B1B1ACAB0000000000000000000396B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1A2000000000000000074B1B1B2B1ACABABACACACACA8A8ACABABAC000000000000003DB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACA508000000000000000DA5ACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B85800000000000000004CB0B1B3B8B8B8B8B9BBB8B5B6B667000000000000000000089EB9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C09800000000000000000016BDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBB030000000000000000004CBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C08A0000000000000000BCBDB9B8B3B3B8B9B6B6B3B5B3B31A00000000000032B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C16F0000000000000072C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9A10000000000000074C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDE8400000000000000B6E3E1DEE1DEDEDFDBDBDBDCDC6300000000000000008FE1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7C90A000000000000000ACAD0D1D1D1D1D0D0D0CECACAA300000000000000000017C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1800000000000000000C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CB3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEACFCFCBCACED1CFD0D0D0DAEFCAB9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D12100000000000020D0D0D0D0D0D3D1D1D1D4D1D4D3D40000000000000000000031D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDC7A0000000000000000B0DBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDF0000000000000053E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E15D00000000000000005FE3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1B9040000000000000000BFCECECED0D0D4D0D0CECECACAC8740000000000000000000017AAC1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BD96000000000000000000005DB0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B27D000000000000000000000397ACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A539000000000000000DA7AAA8AAAAAAA7A5A39F9FA3A5A33000000000000002979E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8AC5A000000000000007CA7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7840000000000000065B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A75D0000000000000089ABACB1ACACACABACB1B1B2B29B0000000000000000089CB6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B332000000000000000052B9BBBBB9B9B8B9B9B9B5B5B5920000000000000000000058B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1280000000000000008ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACAC2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1DAD9DADBDCDFDEDFDFDBE9F8D7C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B61B0000000000001AB1B1ACACB1ACACB1ACABA8ABA8A8000000000000000000000047A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A59F080000000000000000A2A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7000000000000003DB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AA9C03000000000000000070B0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2AB1500000000000000004ABCBBB8BBBBB9B6B2B2B5B6B9B6B26700000000000000000000000E9DB8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB18D00000000000000000000038DB1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B34600000000000000000000001FA7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA29F08000000000000001EA7A3A2A3A29F9F9F9C9B9B9F9B9F4B0000000000000065ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B830000000000000008DB5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC19B0000000000000075CECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D37B00000000000000A8D6D6D6D4D3D0D0CED0D0D3D0D34400000000000000002AD4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECE65000000000000000004B9C5C4C3C3C0C0C0C1C0BFBDB996000000000000000000000089B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFA2000000000000000023B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B62D01010101010101010101029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CBD0D3D1D4D1D3D7D7D6E1F6D1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8AB1900000000000019A5A7A7AAACACACB1B3B5B5B6B9BC00000000000000000000000064B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C145000000000000000016C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9000000000000004ACECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D15F0000000000000000049CCECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBD42B000000000000000004C1D1D0CECECECEC9C8C6C9C9C9C9C9760000000000000000000000000980BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB890000000000000000000000010A8BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9B90400000000000000000000000043BCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC05E00000000000000004CC1BDC1C1C1C1C4C1C1C1C1C1BFC1900000000000000016BBC1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B69B0300000000000000A7B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6A10000000000000072C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECE7700000000000000A5D0D0D3D4D1D0D1D0D0CECECED0C104000000000000000047C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C97600000000000000000064BBBFC0C0BDBBB9B9B9B8B9B9B99200000000000000000000000386B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A59F13000000000000000041ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A72A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE5C8CBCBC8C9C9C5C6C8CBD6EAC6B5B5B5B8B8BBB8BBBBB8B8B6B8B8B8B3B3B3B8B8B9BBBBBBBBBBBBBBB6B6B3B6BBBBBCBCBCBCBFBCB9B8B6B6B5B1B5B5B5B1B3B3B2B3B1B1B1AEABABAEAEAEAEABACACAAACAAAAAAAAAAA8A8A8A8A8A7A7AAA7AAAEABABAEAEAAAAABAEB11A0000000000001AB1B1B1B1AEAEAAAAAEACABACAAAA000000000000000000000000004AA3B0B0B0ABABAEB1B3B1B3B6BBBBBBB8BBBBBBBC7D00000000000000000054BFBBBFBBBBBBBBBCBCBCBCBCBCBBB8B3B1B3000000000000003FB3B3B3B6B8B6B3B3B1B0ACACACB0B1B0B2B3AC0E00000000000000000373BBBBB9BBBBBFC3C3C4C4C4C3C1BDC1BDBDBBBBBBBBA31C00000000000000000061B5B5B3B3B3B8BBBBBDC0C0C3C0C3C372000000000000000000000000000038ABC9C9C9CAC9C9C9C9C9C8C6C6C9C6C6C5C8A10000000000000000000000001099C3C4C4C3C3C3C5C5C4C4C3C1C1C1C0BFBF4D000000000000000000000000000041BBB9B9BBBCBCBCBCB9B9B9B9B8B8B8B5B59C03000000000000000072ABABABACB1B3B6B6B9B6B2B2B3B3B508000000000000003DB0ACAAAAAAAAA8ACABABAEAEAEAEAEB1B2B2B1B3B3B3B1AA21000000000000000EB1B1B1B5B8B8B8B8B6BBBBBBBBBBBBBCB9B9B9920000000000000067B5B3B3B5B9BBBBBBBBBBBCBFBFBCBBBBBBBBB8690000000000000094BDBBBDC0C0BFBFC1C1C3C6C8C5C46100000000000000000032B0B3B3B3B1B1B1B1B1B2B2B2B1B3B1AEAEAEAEB1ACAE5400000000000000000014A5ACACB1B2B1B0B1B1B2B2B1ACB18C0000000000000000000000000267ACACACAAACACACACAAAAAAAAA7A7A7AAA7A7A7A73A00000000000000000078B0B2B3B3B5B8BBB8B6B6B3B2B1B3B5B5B2B2B0B0B1B1B1B2B2B3B1B1B3B6B6B8BBB8BBBBBCBBBCBDC0C0C0C0C0C0C3C3C3C332020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE1C0BFBFC0BFBFBDC0C3C5D0E7C4B1B1B1B0ABABAEB1B1ACA8A8A8A7A7A5A8AAA7AAACACACAEB0B0B0ACACAEB0ACABACB0B0B0B1B0ABAAAAABABABABA7A7ABAAAAABAEAEACAAAAAAAAACB1B1B5B5B3B3B6B3B1B3B3B1B1B3B1ACACACAEACACB0AEACAEABACACB0B2B2B0B1B11B0000000000001BB0B0B1B2B2B2B2B2B2B6B2B3B6B600000000000000000000000000001C89B8BBB6B3B5B5B2B3B8B6B6B9BBB8B8B8B55F0000000000000000000094BBB9B8BBBCBCBBBCBFBFBFBFC1C1C4C4C3C30000000000000043BDC0C0BCC0C0C1BDBCBCBCBCBCBFBCBCBFBCBB830000000000000000000041B1BBBBBBB6BBB9BBBBB8B9B9BBBBBBB9BBBCC07E090000000000000000002ABCB9B6B2B2B6B9B5B5B2B3B2B2B3B3B667000000000000000300000000000000002978B1BBBCBBB6B6B6BBBBBCBDC0C0C0C09A00000000000000000000000000035EB9BFBDC1C3C4C8C4C8C8C8C9C8C8C8740000000000000000000000000000000032BDD9DADCDFDFDFDFDEE1E1E1E1E2E1C314000000000000000004D4DFDFDEDBDBDBDFE1E1DCDFDFDCDCDF6400000000000000004ED7D9D9D4D4D4D3D3D4D4D7DADADADBDBDBDBDAD7D4C928000000000000000048C9CACACECACAC9C9C5C5C5C5C5C5C6C4C4C3C399000000000000006BBCBCBCBFBFBCBFBFBDC1C0C0C0C0C3C3C3C1C1700000000000000099C1C4C5C5C8C4C4C3C3C0C1C1BFBCBC1D000000000000000000169AC3C3C1C1C3C5C8CACECBC9C9C9CACACFD0D1B93B00000000000000000000A2CACACFCACECECECED0D0D0D1D1D1A5000000000000000000000000000038B5CFD0D0D0D0D0D0D0D0D4D7D7D7D7D7DAD1480000000000000000000AE1DEDBDBDBDBDEDBDADADADADBDCDCDCDCDCDCDBDCDFDCDCDCDCDCDEDEDEDEDFDFE1E4E2E2E4E6E9E6E6E2E2E2E6E6E3E4E4E33D020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE5C6C6C3C4C6C6C8C9C5C6D1E7C1B1B1B1B1B1AEABAAAAA7A5A5A5A7A7A7A5A5A1A19F9F9C9C9C9E9EA1A19E9EA1A5A5A19E9E9C9E9CA1A3A7A3A1A3A19E9E9E9C9A9A9E9A9E9C9CA1A3A5A5A5A7A7AAA7A7AAA7AAAAAAAAA8A5A5A8A8ABACB0B2B1B1B1B1B3B3B2B6B5B5B11A0000000000001CB6BBB6B6BBBBBBB6BBBCBCBCBCC0000000000000000000000000000000002888C3CACED0D3D0D0CFCFCFCFD1D19E290000000000000000000021D0D0CBD0D0D1D0D1D1D1D4D4D4D4D3D1D4D4D3000000000000004CD0D0D0D3D0D1D1D4D3D0D0D3D0D1CFCBCBCBCFCF5A000000000000000000000964B8BFC1BFBDBCB9BCB9B9B6B5B8B5B18722000000000000000000000FA7BCBDBDBBBBBBBBBBB8B9BBBDBDBDC1C16D00000000000000780000000000000000000000153A424141413F40B8B8B8B8BBB68D0000000000000000000000000000000E5FA5B6B6B8B5B5B3B5B5B3B5AC580000000000000000000000000000000000000348A3B8BBBDBBBDBDBDBDBDBCB564030000000000000000003AB9B9BBBDBDBCB9BCBFC1C1C1C1BDBFBFB00300000000000000001EA4C3C0C3C5C8CACAC8C5C5C9C9C9C9CACBCBC37C09000000000000000000A1C8CAC9C9C6C6C3C4C5C3C1C1C3C3C3C3C0C0C099000000000000006EBCBFBCBCBFBFC1BFC1C3C3C3BFBFC0BDBBB8B867000000000000008DB6B3B2B2B2B2B2B6B6B6B6BBB9B6B39D03000000000000000000003997B6B2B2B6B9B8B8BBBDBDC0BCBCBBAC4A030000000000000000000067C3C3C3C3C6C3C3C0BFBFBFC3C0C3C099000000000000000000000000000000044097C6C4C4C4C4C4C1C0C0C3C0C3BB750F000000000000000000004ABBBBBBB8B8B8B8B6B6B3B3B1B3B3B3B3B3B1B1B1B1B0ABABB0AEAEAEABACACAEAEAAA7A7A7A7A7ABAAA7A8A7A5A5A5A5A7A7A529010101010101010101010198FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE5C8C6C9C6C8C8C4C5C8C8D3EAC5B3B6B9B8B5B3B3B3B3B3B8B8B8B8BBBBBBBCBCBBBFBFBCBCBCBBBDBDBFC0C3C0C3C5C3C3C5C5C6C5C4C6C6C3C3C3C5C5C6C9CBCECACAC8C5C5C5C8C8C8C5C3C1BDBBBBBBBBB9BCBBBBBDBDBDBDBBBDBDBBBBBBBCBCBCBCB9B9B9B5B9B8B31C0000000000001AB5B6B6B8BBBBBBBBBBB8B8B3B6B600000000000000390300000000000000000003284E6488888889898364360E0000000000000000000000007ABBBBBBBCC0C3C5C3C3C3000000000000000000000000000000000000000000000000000072C3C3C4C8C6C6C5C4C4C5C3350000000000000000000000034581B2C0BDBFBCBCBFC3BD93611000000000000000000000000498C9CAC8C8C5C5C6C9C6C9C5C8C4C4C4C6C47200000000000000BB49000000000000000000000000000000000000C0BCBDBDBDC099000000000000003B00000000000000000000254E729C9C9B9B9C7A4509000000000000000000000326000000000000000000001F5175A2A19FA2A17F400A0000000000000000000000AAC9C9C8C8C8C9C9C9C6C6C8C8C6C6C3C5C858000000000000000000002672B9C9CACACACACAC9CBCAC9C5C58D5609000000000000000000002CC0BCBBBBBBB8B3B3B3B6B667000000000000000000000000000000000000000000000000003DB1B1B1B1B1B1B1B3B6B5680000000000000090B5B6B5B1B3B6B6B8B8B3B3B1B1AEACAC7E000000000000000000000000195A88ABAAABAEB0B0ACAA94692D0000000000000000000000003BABAEB1B1ACA8A8A8A7A7A5A8AAA7AAAC88000000000000002600000000000000000000082D5267878783838777582E08000000000000000000000003A5B6B3B1B3B3B1B1B3B1ACACACAEACACB0AEACAEABACACB0B2B2B0B1B1B1B2B2B1B1AEB1B1B0B0B1B2B2B2B2B2B2B6B2B3B6B6B62E010101010101010101010198FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE9D0CECACBCBCBCBCBD0CBD3EBC8BBBBB8B3B2B2B5B6BBB6B6B3B5B2B5B3B6B6B8B5B5B3B5B5B3B5B5B8B8B8B6B5B9BBBBBDBBBBB9BBBBB6B9B8B8B8B8B8BBB8BBBDBBBDBDBDBDBDBCBCBDBBBBB8BBB8B5B5B5B8BBB9B9B9BBBDBDBCB9BCBFC1C1C1C1BDBFBFBFC3C4C3BFBF1D0000000000001DC3C5C8CACAC8C5C5C9C9C9C9CACB0000000000000074720000000000000000000000000000000000000000000000000000000000000000002BBFBCBCBFBFC1BFC1C3C3C3000000000000000000000000000000000000000000000000000067BBB9B6B3B3B3B2B2B1B1B0AA210000000000000000000000000000031D1D241C1D0F00000000000000000000000000000393C6C3C3C0BFBFBFC3C0C3C0C1C3C3C6C6C6C57200000000000000C4BF260000000000000000000000000000000000BFBFBFBFBCBC9400000000000000903900000000000000000000000000000000000000000000000000000000000058A21F0000000000000000000000000000000000000000000000000000000000002E96979794979A9A9C9C9C9C9FA1A1A1A5A5A5A2140000000000000000000000000E263E55676767643F371A030000000000000000000000000396B3B3B3B8B8B8B8BBBBBBBC6B0000000000000000000000000000000000000000000000000046C3C5C5C6C9CBCECACAC8720000000000000099BDBBBBBBBBB9BCBBBBBDBDBDBDBBBDBDBB6C000000000000000000000000000000151C1A221A1A00000000000000000000000000000038B3B1B1B3B6B8BBBBBBB9B5B2B3B3B3B1B38D000000000000008C3E00000000000000000000000000000000000000000000000000000000000000000069C3C3C3C3C3C0BCBBBBBBBDBFBFC1C1C1C4C3C3C4C8C6C6C5C4C4C5C3C5C5C6C4C6C6C9C6C4C6C3C3C3C3C3C3C0BDBFBCBCBFC3C433020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF6E4E6E4DFE1DFDBDADEDEEAF8D4C3C5C6C5C3C3C0BDBDBBBDBFBFBCBBB9B9B9B6B8B8B8B8B6B6B5B5B5B5B2B0B2B3B2B5B2B1B1ACACB0ABABB0ABAAA7AAA7A7A5A1A19F9FA1A5A5A7A3A3A3A3A3A5A5A5A7AAAAAAAAA8A8A7A7A7A7A7A7AAA7A7A5A5A5A7A5A5A5A5A8A7A51800000000000018A5A3A5A5A3A5A7A7A7A7A5A5A5A5000000000000005EA85F000000000000000000000000000000000000000000000000000000000000000EA1ABB0B1B1B1AEAEAEAEAAAA000000000000000000000000000000000000000000000000000068B5B1B5B8B8B8B6B6B6B5B5B2AB210000000000000000000000000000000000000000000000000000000000000000000384B1B1B1B2B1B2B3B3B2B1AEB1B1B1B3B3B1B1B16500000000000000ABAAA418000000000000000000000000000000009EA1A19E9EA181000000000000007D9C1F0000000000000000000000000000000000000000000000000000000019AAAAA21F000000000000000000000000000000000000000000000000000000000FA7BBBBBBB6BBBCBCBCBCC0BDC1C1C4C4C4C8C9C9B509000000000000000000000000000000000000000000000000000000000000000000000088D0D0D1D0D1D1D1D4D4D4D4D37A000000000000000000000000000000000000000000000000004BCBCBCBCFCFCACBCACECA750000000000000097BFC1BFBDBCB9BCB9B9B6B5B8B5B1B5B5B5B5670000000000000000000000000000000000000000000000000000000000000000000041BBBBBBBBBBB9B5B5B8BBBBBBBBBBBBB9B5B8900000000000000090BB39000000000000000000000000000000000000000000000000000000000000002ABBBDBBBBB9BBBBB6B9B8B8B8B8B8BBB8BBBDBBBDBDBDBDBDBCBCBDBBBBB8BBB8B5B5B5B8BBB9B9B9BBBDBDBCB9BCBFC1C1C1C1BDBF30020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEBD5D7D6D1D5D1D1D5D7D6E1F4D0C1C3C3C4C4C4C5C8C8C8C5C3C3C0BDBDBBB8B8BBBBB9BBBBBBBBBBBCBBBBBBBDBBBBBCBFC3C3BFC0BDBFBFC0C0C0C0BDBDBDBDBDC0BCC0C1C1C0C3C0C0C0C0C1BDC1BFBCBCBCBBBCBCC0C1C1C1BDC1C1BDBDC1C1C3C3C3C3C1BFBFC3C3C01D0000000000001CB8B9B9B9B9B9B8B5B5B5B8B8BBBB000000000000006FC3C37804000000000000000000000000000000000000000000000000000000000497C9C9CEC9C9C9CED0D0D1D4D0000000000000000000000000000000000000000000000000000075CFD0D0CFD0D0D0CEC9C9C9C6C4C050000000000000000000000000000000000000000000000000000000000000000E8DB0B2B3B2B5B2B1B1ACACB0ABABB0ABAAA7AAA7A75D00000000000000A7A3A38D1E000000000000000000000000000000A7A7AAA7A7A5810000000000000082A5A11F00000000000000000000000000000000000000000000000000000390A8A8A8A41F00000000000000000000000000000000000000000000000000000381AEAEABB0B1B1B1AEAEAEAEAAAAACACB1B1B1B3B3B6890F00000000000000000000000000000000000000000000000000000000000000000067B6B9BBBBBBB6B6B2B5B5B5B3B167000000000000000000000000000000000000000000000000003FB2B1AEB1B1B1B3B3B1B1640000000000000088ABAAAAA7A5A5A5A7A7A7A5A5A1A19F9F9C9C9C7507000000000000000000000000000000000000000000000000000000000000004CA3A5A5A5A7A7AAA7A7AAA7AAAAAAAAA8A5A5A884000000000000008CB3B33F000000000000000000000000000000000000000000000000000000000026BDC4C8C9C9CEC9CECECFD0CECECECACACED0D3D0D0CFCFCFCFD1D1D0D3D1D0D1D4D1D1D4D4D4D4D1D0D0CBD0D0D1D0D1D1D1D4D4D4D438020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE8CED0D1D5D9DBD9D9DADCE7F7D5C6C8C6C5C8C5C3C3C3C3C3C0BCBBBBBBBDBFBFC1C1C1C4C3C3C4C8C6C6C5C4C4C5C3C5C5C6C4C6C6C9C6C4C6C3C3C3C3C3C3C0BDBFBCBCBFC3C4C4C6C3C6C6C8C9C9C9C9C9C8C8C9C9C9C9CAC8C8C5C5C6C9C6C9C5C8C4C4C4C6C4C4C1C11E0000000000001CB9B8B6B6B9BBBDBBBBB9BCBFBFBF000000000000006DC0C0C08F0F00000000000000000000000000000000000000000000000000001093C4C4C3C3C5C5C5C5C3C5C5C9C9000000000000000000000000000000000000000000000000000077CECACAC9C9C8C8C8C9C9C9C6C6C8C87B040000000000000000000000000000000000000000000000000000000035BDC3C3C3C4C3C3C1C1C1C0C0C0C0C0BCBBBBBBB8B3B36700000000000000B5B5B5B5AC220000000000000000000000000000B0AEB1B1B1B18C000000000000008CB5B8B1320000000000000000000000000000000000000000000000000277A5A5A7AAACAB4A000000000000000000000000000000000000000000000000037EAEB1B1ACA8A8A8A7A7A5A8AAA7AAACACACAEB0B0B0ACAC9714000000000000000000000000000000000000000000000000000000000000037EB5B3B3B6B3B1B3B3B1B1B3B1ACAC61000000000000000000000000000000000000000000000000003DB1B2B2B2B2B2B2B6B2B367000000000000008CB1AEAEB1B2B6B6B6B6B8BBB6B3B5B5B2B3B8B6B6A22A000000000000000000000000000000000000000000000000000000001088C4C4C3C3C0BFBFBDBCBDBBBDBDC0C0BCC0C0C1BD940000000000000097BCBBBB7303000000000000000000000000000000000000000000000000000024B9C0BFC1C3C1C3C0BCBBBCBBBBBCB9B6B2B2B6B9B5B5B2B3B2B2B3B3B6B6B5B5B9B9B6B6B6B6B3B3B3B6B9B9B9B9B6B8B9BBBCBBB6B6B630020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDE6CBCECECBD1D1D1D1D5D3DEF3CEBDBDBBBBBBBFBFBFBDBDBBBBBBBDBDBDBBBBBBBBBCBCBDC1C3C3C4C3C4C3C3C5C4C3C3C3C3C3C4C3C3C3C3C3C3C4C4C4C3C3C3C4C4C4C4C5C3C3C3C3C3C4C4C5C3C3C4C3C3C3C4C8C8C9CACACBD0D1D0D1D1D1D0D1D1D0D1CFCFCFCFCFCF2000000000000021D0D1D1D3D3D4D4D5D9D9D5D3D3D3000000000000007BD3D4D4D1CB4D00000000000000000000000000000000000000000000000035C4DCDBDBDBDEDEDCDCDBDBDBDBDCDE000000000000000000000000000000000000000000000000000081DCDBDCDBDEDEE1E1DFDCDAD7D5D3D3D3C546000000000000000000000000000000000000000000000000001892CBCBCBCFCFD1CFCFCBCBC9C9C5C5C5C3C6C3C4C4C3C4C47100000000000000C1C3BFBCBCBC5A03000000000000000000000000BBBBB8B5B5B28D0000000000000089B0B0B1B55D030000000000000000000000000000000000000000000380ABABA8A8A8A5A5A5740C0000000000000000000000000000000000000000000D7DA8A5A5A19E9EA1A5A19E9E9E9E9E9F9C9A9C9C9C9C9C9C9C9C9743020000000000000000000000000000000000000000000000000000002D99A5A5A5A5A7AAA7A7A7A5A5A3A3A5A7610000000000000000000000000000000000000000000000000039A5A5A7A8AAAEB1B1AEAA610000000000000089B1B1B1B0B1B1B1B2B1B1B3B1B1B5B6B6B6B8BBBBB8B971080000000000000000000000000000000000000000000000000049B1BBBBB8B8B6B8B8B8B3B3B3B8B8B9BBBBBBBBBBBBBB900000000000000094BCBFBCB9A12900000000000000000000000000000000000000000000000041A5AAAAAAAAAAA8A8A8A8A8A7A7AAA7AAAEABABAEAEAAAAABAEB1B3B3B3B3B3B3B2B2B1B1B1B1AEAEAAAAAEACABACAAAAAEACACA8A8A7A5A72A010101010101010101010198FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDEFD7DADADADEDEDFE2E2E3F2FCDBD1D1D1D0D1D1D0D1CFCFCFCFCFCFCFCFCED1D0D0D0D1D0D1D1D3D3D4D4D5D9D9D5D3D3D3D1D3D3D1D3D3D3D3D3D4D4D1D4D4D7D7D7D7DAD9D9D7D7D7D9DBDCDCDBDBD7D7D5D9D9D9D9DBDEDEDCDBDBDBDEDEDCDCDBDBDBDBDCDEDCDBDBDC2300000000000024E1E1E2E3E1E1E1E3E1DFDEDEDFDE0000000000000086E1DFDCDAD7D5B24D04000000000000000000000000000000000000000A80D0D0D1CFD1CFCBCBCBCBCBCFCFD1CFCF00000000000000000000000000000000000000000000000000006BBCBCBBBBBBBFBBBBBBB6B9BCBCBBBBB9BBBB9938000000000000000000000000000000000000000000156FB1B1B1B1B1B1B1B1B1B1B0ACACACACACACABABA8A8A8A5A5A55D00000000000000A3A3A5A5A1A19F7E1E0000000000000000000000A19E9EA1A5A17B00000000000000799C9C9C9C9C8930000000000000000000000000000000000000001992A7A7A7A7A7AAA7A7A8A8A147020000000000000000000000000000000000003DA2B1B1B1AEAEAEAEAEAEB1B2B2B2B0ACACA8A7A5A5A5A5A7A8AAAEB1B197410300000000000000000000000000000000000000000000002989B8BBBBB8B9B8B9B5B6B3B3B6B3B3B3B6B667000000000000000000000000000000000000000000000000003FB3B8B8B9BBBBBBBBBBBB6A0000000000000094BCBCBFBCB9B8B6B6B5B1B5B5B5B1B3B3B2B3B1B1B1AEABA35B080000000000000000000000000000000000000000024197ABABAEAEAAAAABAEB1B3B3B3B3B3B3B2B2B1B1B1B1AEAE860000000000000088ACACA8A8A7A57B1F0000000000000000000000000000000000000000238CBBBBBCBFBDBDBFBDBDBDBDBDC1BFBFBBBFBBBBBBBBBCBCBCBCBCBCBBB8B3B1B3B3B2B2B2B5B5B2B3B3B3B3B6B8B6B3B3B1B0ACACACB0B1B0B22D010101020202020202020299FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDE3C5CAC6C6CACAC9CAC9C9D3E9C1B1AEAEB1B2B6B6B6B6B8BBB6B3B5B5B2B3B8B6B6B9BBB8B8B8B5B5B8BBBBB8B8BBBDBDBCBCBCBBB9B8BBBCBCBBBCBFBFBFBFC1C1C3C3C3C3C0BFBFBDBCBDBBBDBDC0C0BCC0C0C1BDBCBCBCBCBCBFBCBCBFBCBBBBBBBBBBBBBBB8BBBBBBBD7B686A6A6A676A78BBBBB8B9B9BBBBBBB9BBBCC0C0BF6F6F6F6F6E6B6C9CBBBBBCB9B6B2B2B6AA6729030000000000000000000000000000296EACB3B6B9B9B9B9B6B8B9BBBCBBB6B6B6BBBB6B6D6E6E6E6E6F6E6E00000000000000246B6B6E6E6E6E6E6D6FA2C3C6C3C6C6C6C8C6C6C6C6C6C5C5C6C6C6C6C8C8B96A260000000000000000000000000000001454B5E1DFDBDFDBDBDCDAD9D9DBDBD7DBDEDEDCDBDBDBDEDFDFDBDEDEDBB983817F7F7F7F7FD7D9D7D7D7D7D7D4D3A13B040000000000000000DADBD9D7D4D1BF78787878777777BCC9C9C9C9CBC9C9B0631000000000000000000000000000002474BCBCBCBCBCBCBFBFBCBFBFBDC1C0B1651D000000000000000000000000000945A4C4C4C6C3C3C3C3C0C1C1BFBCBCBCBFC0C0C1C3C3C3C3C3C3C3C3C3C1C1C3C4C6C388380900000000000000000000000000000000001E64B2C9C9CEC9CBCBCBCBCFD0D0D1D1D1CFD1D0CECAAA77777778787A78785D00000000000000417777787B7C7C7D7DA1D9D9DBDADBDBDFDCDFE1BD86868381818181C9DCDBD9D9D9D9DBDBDBDBDBDBDBDADBDEDBDBDBDBDBDCDCDCDCDEA1490B0000000000000000000000000000043686D1E2E1E1E3E1E2E2E3E3E1E1DCDBD7D7D7D7D7DBDBDBDADAD7D7C67E7C7C7B787776BBC8C5C5C4C3C3C3C3A85E250000000000000000000000000000033884B0ABABAAAAAAABABAEAEAEAEABA7A5A3A3A39F9F9C9F9F9C9C9EA1A1A1A19E9E9C9C9C9A9C9C9C9A9C9C9C9F9C9EA1A3A7A7A7A7A8A8AAA7A7A7A729010101010101010101010198FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCE9D3D1D1D1CECECFD3D4D4DCF1C9B9B9BCBCBCBBBBBBB9BBBBBCC0C1C1C4C1C4C3C3C5C4C3C3C3C3C3C4C3C1C3C3C3C3C4C4C4C1C1C1C4C4C4C4C5C3C3C3C3C3C4C4C5C3C3C4C3C3C3C4C8C8C9CACACBD0D1D0D1D1D1D0D1D1D0D1CFCFCFCFCFCFCFCFCED1D0D0D0D1D0D1D1D3D3D4D4D5D7D7D5D3D3D3D1D3D3D1D3D3D3D3D3D4D4D1D4D4D7D7D7D7D9D7D7D7D7D7D7DADCDCDADAD7AC7C4F3D222222232323476393CBDCDCDCDADADADADCDCDCDADADCDCDCDCDCDCDEE1DFDFDFE1E2E1DFDFE20000000000000051DBDCDBDCDCE1E1DEDCD9D7D5D3D3D3D5D7D4D3D5D5D5D5D3D0D0D0D0D0D0D0D0D0C8936F4B28212021202020405B7FB5CFD1CFCFCBCBC9C9C5C5C5C3C6C3C4C4C1C4C4C3C3C0C0BDBDBDC0C0C1BDBBBBBBBBBBBBBDBBBBB9B5B8BBBBB9B9B8B9B9B0754D281B1A1A1A34A8A8ACAEAEAEB1B3B1B1B1B1B3B6B3B3B1B1B1B1B1B1B0B0B0996A432E19191919191933506597A5A5A5A19E9C9F9FA1A1A1A1A4A4A0A09EA0A194644732191819191918324C6D9CA0A4A09C9C9C9C9C9E9B989B9C9C9B9B9B9C9C9C9C9C9FA19FA0A4A4A5A4A4A4A4A5A7A7A7AA946D4E392518181918181919253956729EA5A8A5A5A5A5A5A1A1A5A7AAAAAAAAAAACB1B1B1B1ACACACACACACB0B2B2B288000000000000005CA7A7A8ACB0B0ACA8ABAEABABABA8ABAEAEB1B1B0AEB0B0B1B2B0B1B2B1B1B3B5B5B5B6BBBBB6B8B6B8B3B5B2B2B5B2B2B2B5B5B2B2B2B1B1B2976F47381A1A1A1C1C1C29416989B6B5B6B6B6B2B2B2B6B6B8BBB9B9B9B9B9B9B5B5B2B5B9B9BBBBBBBBBDBBB8B6B5B5B3B1B3B3B3B1B2B2B2B2B0B1B1ACAAA4785A3D2619191919191E3B587DA8A7A7A7A7A7A7A7A8A7A8ACAAAAACACA8A8AAACB1B2B2B2B2B2B2B2B2B0B1B0B0ACACA8A8ACABAAABA8A8ACABABA7A7A7A5A5A5A5A7A7A7AAAAAEAEAEAA2A010101010101020202010298FCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCD7B0B1B1B0B1B2ACACAEB0B9CBAA9B9C9C9C9C9C9FA19FA0A4A4A5A4A4A4A4A5A7A7A7AAAAA7A7A5A5A5A5A8A5A5A7A7A5A5A5A4A5A5A8A5A5A5A5A5A1A1A5A7AAAAAAAAAAACB1B1B1B1ACACACACACACB0B2B2B2AEABABA7A7A5A5A4A4A7A7A8ACB0B0ACA8ABAEABABABA8ABAEAEB1B1B0AEB0B0B1B2B0B1B2B1B1B3B5B5B5B6BBBBB6B8B6B8B3B5B2B2B5B2B2B2B5B5B2B2B2B1B1B2B5B5B3B3B3B3B3B6B6B9B6B9B9B6B6B5B6B6B6B2B2B2B6B6B8BBB9B9B9B9B9B9B5B5B2B5B9B9BBBBBBBBBD000000000000003FB3B3B1B2B2B2B2B0B1B1ACAAAAACACACACAAABABA8ABA8A8A8A8A8A7A7A7A7A7A7A7A8A7A8ACAAAAACACA8A8AAACB1B2B2B2B2B2B2B2B2B0B1B0B0ACACA8A8ACABAAABA8A8ACABABA7A7A7A5A5A5A5A7A7A7AAAAAEAEAEAAAAACB0B2B0B2B5B9B9B9B6BBBBBBBBBDBCBCBDBCBCBCBCBCC0BDBDBBBDBBBBB9B9BBBBBBBBBBBBB9B6B2B1B2B2B2B2B2B3B3B2B2B2B2B2B5B6B5B2B2B0AEABABABAEB0AEB2B2B3B1B3B8B8BBBBBBBBB8BBBBBBBBB8BBBBBDC1C1C3C3C3C3C0BCC0BCBCBBBBBBBBBBB9BBB9B5B2B2B2B5B5B5B8B3B3B2B2B2B6B9B9BCBFBFC1BFC1C1C3C6C9C9C6C6C9C9C9C9CACECECECAC9CAC9C9C9C9C9C9C9C9C9C6C5C5C8C5C5C4C6C8C8C8C8C5C5C3C1C3C1C0C39A000000000000006FC4C4C3C3C3C0C0C0BFBDBDC1BFC1BFBFBFBBB9B6B3B2B2B5B8BBBBBBB8B8B9BBBBBBBBB8B8B8B8B6B6B6B3B3B2B2B2B2B2B1B1AEAEAEAEAAAAAAABB0B2B5B5B8B5B2B2B2B2B3B1B1B3B2B2B0B0B0AEAEABA8A8A8A8A7ABAAAAACACACACACB1B2B2B1B2B2B2B1B1AEACAAAEAEAEAEB2B1B1B1B1B3B6B6B6B6B5B9BBBBBBBBBBBBB8B8B8B8B6B6B6B6BBBBB6B5B3B2B2B3B8BBBBBBBBBBBBBDBDBBB9B9B9B9B6B8B8B8B8B9B5B9BBBBBCBBBCBFBFBDBDC0C0C3C5C6C4C3C4C4C1C1BFBCBCBBB8B6B6B5B2B22C010101010101010101010197FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF9EFF1EEECEBEFEEEFEFF2F8FCE4DBDBDBDCDCDCDCDADADADADCDCDCDADADCDCDCDCDCDCDEE1DFDFDFE1E2E1DFDFE2DFDEDCDCDEDCDBDCDBDCDBDCDCE1E1DEDCD9D7D5D3D3D3D5D7D4D3D5D5D5D5D3D0D0D0D0D0D0D0D0D0D0CECED0D0D1CFD1CFCBCBCBCBCBCFCFD1CFCFCBCBC9C9C5C5C5C3C6C3C4C4C1C4C4C3C3C0C0BDBDBDC0C0C1BDBBBBBBBBBBBBBDBBBBB9B5B8BBBBB9B9B8B9B9B6B3B3B2B2B0ACACAAA8A8ACAEAEAEB1B3B1B1B1B1B3B6B3B3B1B1B1B1B1B1B0B0B0B0AEABABABABAB0000000000000039A5A5A19E9C9F9FA1A1A1A1A4A4A0A09EA0A1A1A5A5A5A7A7A7A7A7A5A4A09C9CA0A4A09C9C9C9C9C9E9B989B9C9C9B9B9B9C9C9C9C9C9FA19FA0A4A4A5A4A4A4A4A5A7A7A7AAAAA7A7A5A5A5A5A8A5A5A7A7A5A5A5A4A5A5A8A5A5A5A5A5A1A1A5A7AAAAAAAAAAACB1B1B1B1ACACACACACACB0B2B2B2AEABABA7A7A5A5A4A4A7A7A8ACB0B0ACA8ABAEABABABA8ABAEAEB1B1B0AEB0B0B1B2B0B1B2B1B1B3B5B5B5B6BBBBB6B8B6B8B3B5B2B2B5B2B2B2B5B5B2B2B2B1B1B2B5B5B3B3B3B3B3B6B6B9B6B9B9B6B6B5B6B6B6B2B2B2B6B6B8BBB9B9B9B9B9B9B5B5B2B5B9B9BBBBBBBBBDBBB8B6B5B5B3B1B3B3B3B1B2B2B2B2B0B1B1ACAAAAACACACACAAABABA8ABA8A8A8A8A8A7A7830000000000000062AAAAACACA8A8AAACB1B2B2B2B2B2B2B2B2B0B1B0B0ACACA8A8ACABAAABA8A8ACABABA7A7A7A5A5A5A5A7A7A7AAAAAEAEAEAAAAACB0B2B0B2B5B9B9B9B6BBBBBBBBBDBCBCBDBCBCBCBCBCC0BDBDBBBDBBBBB9B9BBBBBBBBBBBBB9B6B2B1B2B2B2B2B2B3B3B2B2B2B2B2B5B6B5B2B2B0AEABABABAEB0AEB2B2B3B1B3B8B8BBBBBBBBB8BBBBBBBBB8BBBBBDC1C1C3C3C3C3C0BCC0BCBCBBBBBBBBBBB9BBB9B5B2B2B2B5B5B5B8B3B3B2B2B2B6B9B9BCBFBFC1BFC1C1C3C6C9C9C6C6C9C9C9C9CACECECECAC934020202020202020202020298FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBDFC3C3C1C0BDBDC0BFBFC0C6DCBDAAAAA7A7A5A4A5A5A5A7A7A7A8A8ACACACA8A8ACAEB2AEB2B5B8B8B8B5B9B9B9BBBDBBBBBDBBBBBBBBBBBFBDBDB9BDB9B9B8B8BBBBBBBBBBBBB8B5B2B0B2B2B1B1B1B2B2B1B2B2B2B2B5B5B5B2B2AEACAAAAAAACAEACB1B2B2B0B2B6B6B9B9B9B9B6B9B9B9B9B6B9B9BDC0C0C3C3C3C1BFBBBFBBBBB9B9B9B9B9B8BBB8B5B2B2B2B5B5B5B6B2B2B2B2B2B5B8B8BBBDBDC0BDC0C0C3C5C8C8C5C5C8C8C8C8C9CBCBCBC9C8C9C8C8C8C9C8C8C8C8C8C5C5C5C6C50000000000000047C5C3C0C3C0BFC1C1C1BDC0C3C3C0C1C1C3C3C3C3C1BFBFBFBDBDBDC0BDC0BDBDBDBBB8B5B2B1B1B5B6BBB9B9B6B6B8BBBBBBBBB6B6B6B6B5B5B5B2B2B1B1B1B1B1B0B0ACACACACA8A8A8AAAEB2B5B5B6B5B1B1B2B2B2B0B0B2B1B1AEAEAEACACAAA8A8A8A8A7AAA8A8ACACACACACB0B1B1B0B2B2B2B0B0ACACA8ACACACACB1B0B0B0B0B2B5B5B5B5B5B8B9B9B9B9B9BBB6B6B6B6B5B5B5B5B9B9B5B5B2B2B2B2B6B9B9B9B9B9BBBDBDBBB8B8B8B8B5B6B6B6B6B8B5B8BBBBBBB9BBBDBDBDBDBFBFC1C5C5C3C3C3C3C0C0BDBBBBB9B6B5B5B5B2B2B2B0B0AEAEAEB1B1B1AEB2AEACACACACAEAAACACAAA7AAACAEAEAEACACAAAAAAAAAEB1AEACAEAEB1B1AEAAAEB0B2B2B2B2B0ACAC880000000000000060AAA8AAAAAAAAA8A8A8A8A5A5A5A8A5A5A5A5A5A5A5A5A2A4A4A7A8A8AAACB1B2B2B2B5B9B5B5B5B2B1B0B2B2B2B1B1ACACAEAEAEB1B1B2B0B0B2B5B5B5B9B5B8B8BBB8BBBBBDBDBDBDBDBDC0C1C1C1BFBFC0C3C3C0C0C0C0BFC1C1C1C3C5C5C3C3C5C5C6C6C9CBCBC9C9C9C9C9CBCBD0D0D0CECFCBCBCFCFCED0CECFCFD0CECECAC9C9C8C8C9CACBCAC9CBCFD1D0D1D0D0CBD0D0D1D1D3D3D7D7D7D7D9D9D9D9D9D5D5D7D5D3D0D3D0CFCFCFCECACACAC9C6C5C3C5C5C6C5C5C6C6C3C5C6C5C5C1C1BFC130020202020202020202020298FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBE5CFD0CECBCBCECBCAC9C9D0E4BFACACA8A8A8ACACACACB0B2B0B0B0B0B2B5B2B2B0B0B0B0B0B0AEAEAEAEACAAAAAAAAAAAAA8A8A7A7A7A4A4A4A4A19E9C9F9FA1A1A1A1A2A2A1A19EA1A1A1A4A4A4A7A5A7A7A7A4A2A19C9CA1A2A19C9C9C9C9C9E9B989B9C9C9B9B9B9C9C9C9C9C9FA19FA1A2A2A4A2A2A2A2A5A7A7A5A8A8A5A5A5A5A5A5A8A5A5A7A7A5A4A4A2A4A5A8A5A5A5A4A4A1A1A4A5A8A8A8A8A8ACB0B0B0B0ACACACACACACAEB1B1B1ACAAAAA7A5A4A4A2A2A5A7A8ACAEAEACA8AA000000000000003DB0B0AEACAEAEB0B1AEB0B2B0B0B2B5B5B5B5B9B9B5B6B5B6B2B5B2B2B5B2B2B2B5B5B2B2B2B0B0B1B5B5B2B2B2B2B2B5B5B8B5B8B8B5B5B5B5B5B5B2B2B2B5B5B6B9B8B8B8B8B8B8B5B5B2B5B8B8BBBBBBBBBDBBB6B5B5B5B2B0B2B2B2B0B2B2B1B2AEB0B0ACA8A8ACACACACA8AAAAA8AAA8A8A8A8A8A7A7A7A7A7A5A5A8A5A8ACA8A8ACACA8A8A8ACB0B2B2B2B2B2B2B1B1AEB0AEAEACACA8A8ACAAA8AAA8A8ACAAAAA7A7A5A4A5A5A5A7A7A7A8A8ACACACA8A8ACAEB2AEB2B5B8B8B8B5B9B9B9BBBDBBBBBDBBBBBBBBBBBFBDBDB9BDB9B9B8B8BBBBBBBBBBBBB8B5B2B0B2B2B1B1B1B2B2B1B2B2B2B2B5B5B5B2B2AEACAAAAAAACAEACB1B2B2B0B2B6B6B9B9B9B9B6B9B9B9B9B692000000000000006FBFBBBFBBBBB9B9B9B9B9B8BBB8B5B2B2B2B5B5B5B6B2B2B2B2B2B5B8B8BBBDBDC0BDC0C0C3C5C8C8C5C5C8C8C8C8C9CBCBCBC9C8C9C8C8C8C9C8C8C8C8C8C5C5C5C6C5C5C3C5C6C6C6C6C5C5C3C0C3C0BFC1C1C1BDC0C3C3C0C1C1C3C3C3C3C1BFBFBFBDBDBDC0BDC0BDBDBDBBB8B5B2B1B1B5B6BBB9B9B6B6B8BBBBBBBBB6B6B6B6B5B5B5B2B2B1B1B1B1B1B0B0ACACACACA8A8A8AAAEB2B5B5B6B5B1B1B2B2B2B0B0B2B1B1AEAEAEACACAAA8A8A8A8A7AAA8A8ACACACACACB0B1B1B0B2B2B2B0B0ACAC2A010101010101010101010197FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF0DEDEDEDEDCDEDCDCDBDEE6F7D3C9C9C9C9CBC9CBC9C6C9C9C8C8C6C6C5C5C5C6C6C5C4C4C5C5C4C4C0C3C5C4C0C4C3C5C6C5C4C1C1C1C3C3C5C5C8C8C8C8C8C5C9C8C5C3C3C3C0C0C0C1BFBFBDBDBDBDBDBDBDBDB9B8B6B6B5B2B2B2B3B3B3B3B2B1B1B2B2B2B2B2B2B5B3B2B5B5B2B3B3B5B3B2AEAEACACACAEB0B0AEB0B0B0B2B3B2B5B2B0B2B5B5B5B3B5B2B3B2B0B2B3B3B5B5B2B2B0B0ACAAAAA8A8A8A5A5A5A2A0A4A4A5A8AAA8A8AAA8A8A8ACACACAAA8A8AAA8A8A8A8AAAEAEB1B1B0000000000000003DAAA7A7A7A5A5A4A7A8A5A8AAAAAAACACACACAAAAACACAAA8AAACACACB0ACA8A8A8A8A8A8A8A5A5A8A8A8A8ACACAAA8A8A8A8AAAEB0B2B2B2B2B3B2AEB2B2AEAEB2AEAAAAAAACAAAAACACAAACA8AAAAACB1B1ACB0B0B0B1B1AEAEACAEB0ACACB0B1B1B1B1B1B1B3B1B2B3B3B3B3B2B2B2B2AEAEACACAEB1B3B3B3B3B5B6B3B2B2B2B1B2B5B3B3B5B8B5B5B5B2B2B5B8B6B5B5B8BBBBB9B9B9B6B5B5B6B9B9B6B9BCBCBCBCBDBDC1C1BFBFBDBCBCBBB9BBB6BBBBBDBDB9BDBDBDBBB9B9B9B9B9BCB9B9BCB9B6B8B8B8B8B8B8B5B8B8B8BBB8B5B6B6B6B3B6B5B8B8B5B5B5B8B8B8B5B6B9BDBDBCBDBFBDBFBDB9B8B9B8B8B9B5B3B1B1B3B5B2B2B1B2B1B1B2B2B3B3B2B2B5B5B3B3B38E0000000000000067B3B5B5B6B9B6B3B3B3B6B6B9BBBDBDBDBDBFBCBCBFBFBFC1C1BFBFBCB9B9BDBDBDBDBCBBBDC0C1C5C1C5C5C5C5C5C5C5C5C5C4C4C5C5C5C5C5C5C5C5C8C9CBCED0D1D3D6D7DADCDCDCDCDBDEDEDEDEDFDEDADEDADADBD7D7D7D9D9D6D9DCDCDBD9D9D9DCDEDEDADCDCDADADCD9D7D7D7D7D7D6D7D4D4D4D6D6D1D1D1D0D0D1D1D3D7D7D7D9D7D7D9D7D4D1CFCBCECECECECBCBCBC9C6C6C8C8C9C8C8C5C5C3C3C3C3C3C3C4C1C1BFBFBDBDBCBCBCB9B9B9B9B9B9B9BCBCB9BCBCBBBDBDBDBDBDC0C0BFBD30020202020202020202020297FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9D5B1B1B3B2B8B3B5B8B6B2BFD3B5A7A8A8A8A8A8A8A8A8A8A8A8A8ACA8ABAEB1B1B1B3B3B6B6B3B3B6B6B5B8B8BBBCBCBCBCBDBBBBBBBBBBBBBBBDBFC0C0C0C0C0C3C3C3C0C3C5C5C6C6CAC6CAC9CAC8C6C5C6C6C6C6C5C8C8C6C6C8C6C3C3C3C6C5C5C5C1C4C6C6C4C4C1C1BFBFC0C3C3C3C3C3C3C1C1BFC1C3C3C4C6C6C9C6C6C9C9C6C5C6C8C6C6C6C4C4C0C0C0C1C1C0C0C0C3C3C5C3C5C5C3C0C0C0C0C0C0C0C0BDBDBCB9B8B8BBBBBBBDBDBDBDBDBDC0C1C4C5C5C4C1C4C5C4C4C1C0BDBF0000000000000025C5C6C6C4C5C1C5C6C6C6C6C5C4C3C1C1C0BDBDBDBDBDBDBDBDBDBCBDBDBCBCBCBDBDBBBCB9B9BBBBBBB9BCBCBCBBBBBBB9B9B9BCBCBCBDBDBBBDBDB9B9B9B9BDBDBFC0C1C4C4C4C0C0C0BFBFC0BDBDBBBBBBBCBDC0BDBFC0BFC0C1C3C3C3C0C3C3C3C3C1C1C1C1C1C1C3C3C1C1C5C1C3C4C5C5C5C5C8CACACBCACAC9C6C6C6C8C6C6C9C6C8C8C9CBC9CBCBCBCECECBCBCBCBCBCBC8CACACACACAC6C8CBCECBCBCECECBC8C8C6C6C4C1C0BDBDBDBDBDBDBCB9BCBDBDBBB9B6B5B5B5B5B5B9BBBBB9B9B9BDBBBBBCBCBDBBBBBBBBBDBBBCBBBBB8BCBCB9B9B8B9B9B9B5B3B2B5B5B3B5B5B5B5B6B6B5B9B9B9B5B5B8B5B2B5B1B5B5B3B3B1B2B2B5B3B2B2B2AEB2AEAEAEB2AEAEAEB28F0000000000000069BCBBBBBBBCBDBDBDBFC1C0C1C4C0C0BFBDBDBBB8B6B5B3B2B5B8B6B6B5B5B5B5B5B5B9B9BBBBBDBBBBBDBBBBBBB6B6B8BCBCBCBBBBB6B6B6BBBBBBB8B8B8B6B9B9BBBDBFBFC1BFC1C0C0C3C1C0C0C0C0C0C1C0BFC0C0C0C0C1C1C1BFBFBFC1C1C1C1C3C0C0C0C0C0C1C1C3C0C0C1C0C0C0C1C5C5C6C8C8C9CBCECBCECFCFCBCECECBCFCBCBCBCBCBCBCBCBCACECBCBCBCFCBCFCED0D0D1D1D3D6D6D3D0D0D0CED0D0CFD0D0D0D0D0D1D1CFD1D1D5D5D5D5D7D6D6D3D3D3D6D7DADAD7D7D5D5D3D6D6D6D638020202020202020202020296F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F0DEDCDBDBDCDFDFDFDEE1ECF8D9CFCECEC9CECECECFD0D0D3D3D3D3D6D6D6D6D6D3D3D4D3D0CED0CECBCBCBCAC8C8C8C8C5C3C1C4C4C5C4C4C5C5C1C3C5C3C3BFBFBDBFBFBCBCBCB9B9B9B9B9B6B6B5B6B6B6B6B6B3B3B3B2B6B2B2B2B5B5B6B6B6B3B6B6B9BCBDBCB9BBB8B8BBBDBCBCBCBCBDBFBFC0C0C0C1C4C4C4C1BFBFBCB9B9B6B3B3B6B6B5B6B6B6B6B6B8B6B6B6B9B6B6B8BBBFBFBBBCB9BBBBBCBCBCBCB9B9B9B9B9BCB8BCBDBDBCBFBCBCBCBCBDB9BDBBB8B8B8B6B8B8BCBDBDBDB9000000000000001DBFBFBDBBBBBFBFBCB9B6B3B1B1B1B3B3B3B5B5B5B5B5B3B1B1B1B3B3B6B6B6B8BBBBBBBBBFBFBFBFC0C1C4C4C4C4C3C3C0C0C0BFBFC1C1C4C4C4C4C0C3C3C3C5C8C9C9C6C8C8C8C5C6C6C8C6C6C6C8CACACECFCBC9CBCACAC8C8C8CACBC8C8C8C6C4C4C1C1C1C3C4C4C6C3C3C5C6C6C9CBCBC9CACACAC8C6C6C5C3C0C4C4C5C5C1BFC1C3C1BFBFBCB9B9B6B9BBBBB8B6B5B5B5B2B3B3B3B3B2B2B1B1B1B1AEABAEB0AEB1AEACACA8A8ABA7A7ABA7A5A4A5A4A4A29D9D9C9C9DA2A2A29F9F9F9F9FA2A2A2A4A5A5A5A5A5A5A2A2A2A2A4A4A5A2A2A2A2A2A2A2A2A2A2A5A2A2A2A2A2A2A29DA2A2A29FA2A29FA2A4A4A4A4A2A2A2A2A2A2A4A5A7AAA5A2A5A5A5A5A2A2A5A5A2A2A27E0000000000000060AAACAAAAA7AAA7AAAAAAABACAAAAAAA7ABACACACAAAAAAAAA5A5A8A8ACACACB0B0B2B2B2AEAEB2B5B6B6B6B2B6B6B3B1ACACB0B1B3B1ACB1B3B3B3B2B2B2B1B1AEAEAEAEAEB2B2B5B6B6B6B2B2AEB1B1B1B0ACB0ACACAAA8ABAEABABABABACABAEB1B1B0B0ACACACACAEACAEB0B0AEACAAACACACB0B0ACACACAEACACACACACACAAA7A5A5A2A2A2A2A2A2A2A2A29D9D9C9C9B9B9B9B9B9D9C9B9B9CA2A29C9B9B9B9B9B9C9FA29F9C9F9C9B9B9B9997979B979B9B9B9C9FA2A2A2A4A4A5A2A2A5A2A5A5A52A010101010101010101010195F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7E4CACACBCAC9C5C6C8C8C8D1EAC3AEB1B1B5B5B2AEAEAEB0B1B5B1B1AEB0AEB0AEB1B1B2B0B0AEB0B0AEB0B0B2B2B2B1B0B3B6B6B8B6B5B3B5B5B1B3B2B2B2B2B2B6B2B6B8B6B8B8B8B8B8B6B6B8B6B6B2B6B2B0B0B0B2B6B3B3B3B6B8B8B6B3B6B9BCBCBCBCB8B9B9B9BDBF9E93939396939698BFBFBBBDC0C3C6C6C3C0C0C4C4C4C4C6C6C6C5C3C4C5C3C1C3C1C4C6C5C5C4C3C6C4C4C1C1BFBFC0BFBCBCBFBFBDBDBBBBBBBBBDBDBDBDBDB9BBBBB6B9B6B6B9B9BCB9BCBDBDBDB9B9BBB8B5B20000000000000003B1AEB1AEAEAEAEAEAEB1B1B1B1B5B3B1AEAEAEAEAEACACABACAEAEAEAEB1B0B1AEAEB1B3B2B2B5B8B8BBB6B6B6B6B6B8B6B8B8BBBBBFC0BFC0C0BFBFBDBFBFC1BFBDBBB9B9B9BDBBBDBBBCBFBFC1C1C1C0C0C0BFBFBFC1C1C0BFC1C4C4C1BFBFBFBFBFBCBBBBBFBBBDBDB9B6B8B9B9B9B9B6B6B6B9B9B6B6B5B5B2B2B2B2B1B1AEAEACAEAEAEAEAEACACACACABA7A7ABAAAAAAA7A8A8AAAAA5A4A4A4A4A4A7A5A4A5A4A1A1A1A2A4A4A1A19D9D9D9D9D9D9D9B9B999999999B9994939390929290929696999999999B9C9C9DA1A1A2A4A7A4A4A4A29DA1A1A29DA2A5A7ABAAACACAEAEAEACAEAEAEAEACACAEAEAEB0AEAEB1B3B2B0AEAEAEAEAEB2B2B2B2B6B6B6B6B6B6B9B9B6B690000000000000006DC0BDBFC0C0C1C0BFC1C1BFBFBFC0C0C1C4C6C8B69E9B9999999B9BB3C0BFBCB8B6B6B6B6B3B6B5B5B8B8B8B8B6B8B8B6B6B6B6B6B6B6B3B3B3B0B3B2AEB2B2B3B3B2AEB0B0B0B1B1B2B5B5B5B6B6B2B2AEB1B1AEAEAEAEACACAEB1B2B5B6B6B3B0AEAEAEAEACAEAEACAAAAAAABABACACACACACAEB0B0B0B0B0B0B2B3B6B5B5B5B5B6B6BBBDC0BFBFBFC0C0C1C1C1C3C1C0C3C0BDBDBDBDBDBBB6B6B6B6B8B9B9BCBCBCBFBDBDBFC3C1C1C0BFBFC0BFC0C0C1BFC1C1C5C1BFC1BFBDBDBDBDBDBBB8B9B6B62F020202020202020202020295F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6E9D1D1D1D5D6D9D5D9DAD7DFEFCEBFBFBFBFBFBBBBB9B6B6B6B6B6B6BBBBBBBBBBBBBDBFC1C3C3C1BFC1C3C1C1BFBDBBBCBFC1BFBFBCBFBFC1C3C4C4C1C3BFC3C5C5C5C4C3C1C1BFBFBDBBBBBBBBBBBBBBBBBBB9BBBBB9B9B9BBBBB6B9B6B6B6B6B6B6B9B9B9B6B6B6B6B6B61C00000000000000B6B6B6B6B9B9BCBDBFC1C1C1BFBFBFBCBCBFBBBBB6B6B6B9BBBDB9BCBFBCBDBFC1C1C1BFC1C1C1C1BFBFBFBFBFBFC1C1BFBFC3BFC1C1C3C3C3C3C6C9C9CAC9C9C6C5C5C5C6C4C4C6C4C6C6C6C9000000000000000090C9C9C9C6C9C9C9C9C9C5C6C9CBC9C9CBCBC9C6C6C5C5C1BFBDBBBBBBBBBBB9B9B6B9B9B9B6B6B5B3B3B3B3B3B6B6B6B6B6B6B9B6B6B9B9B9B6B6B6B6B9B6B9B6B6B6B9B9B6B6B6B6B6B6B3B1B0B2B2B1B3B3B3B2B5B5B3B6B6B6B3B3B6B3B0B2AEB2B2B1B1AEB0B0B2B1B0B0B0ACB0ACACACB0ACACACB0B2B2B1AEAEB1B3B5B6B9B6B6B6B9B9B9B9BCBFBDBFC1BFBFBCB9B9B6B6B5B3B1B0B2B6B5B5B3B3B3B3B3B3B6B6B6B6B9B6B6B9B6B6B6B5B5B6B9B9B9B6B6B5B5B5B6B6B6B6B6B6B5B6B6B6BBBCBCBFBCBFBDBDC1BFBDBDBFBFBFBFBFBCBDBDBDBDBFBFBFBCBCBCBFBFBFBFC1BFBFBFBDBDBFBFC1BFBFBFBDBFBFBFC3C3C5C6C6C6CACBCACBCECECACBCBCACEC9C9C9C9A10000000000000075CECACECBCECECFCFD0D3D3D0CECECECBCECECE770000000000000078CFD1D1D1D1D4D3D3D1D1D1D3D4D7D7D4D4D1D1D0D3D3D3D3D4D9D9D7D6D6D6D9D9D7D7D4D4D4D4D7D9D7D4D4D7D7D9D9D9D9DADCDBDBDBDCDEDBDBDBDEDBDAD9D9DAD9D6D7D6D7D6D9D9DBDBDAD7D4D1D0CECECED0D1CFCED0D0D0D0CECACACACACACACACACACAC9C9CACACBC9CBC9C6C6C6C6C6C9C9CEC9C9C6C6C4C4C1C1C1BFC1BFBFBFBCBFBFBFBFBBBBB9B9B9BBBBBCB9B6B6B6B6B6B6B9B6B6B5B1B3B6B6B5B5B3B5B5B2B02C010101010101010101010194F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5EEDBDBD7D7D9DCD7D9DADEEAF4D6CEC9C8C9C9C9C5C5C5C9C9C6C6C6C4C1C1BFBFBFC0C1C1C3C0C0C1C4C4C8C9C9C8C9C9C9C6C3C3C1C0BDC1C1C1C1BFBDBFC0BFBDBDB9B6B6B3B6B9B9B6B3B2B2B2B1B1B1B1B1B1B1AEAEAEAEACA8ACACACAEACAAAAA5A5A8A5A5A8A5A3A218000000000000009C9F9FA29D9D9D9D9D9F9F9FA2A3A3A3A3A2A2A2A2A2A2A2A2A3A2A29F9F9FA29F9F9FA1A2A2A1A2A2A2A29F9C9F9FA19D9FA19DA1A2A2A2A2A1A19F9FA2A2A2A3A5A7A3A2A2A2A2A3A2A2A2A217000000000000000C96A3A7A7AAA7A7A5A7A5A7A7A7A8AAA7A7A7A5A8ABAAAAA7A7A7A7A3A3A5A5AAABABACACB1B1B1ACACB1B2B5B5B3B1B3B3B1AEABABACAEB1AEABAEB1B1B1B1B1B1AEAEACACACACACB1B1B2B5B3B3B1B1ACAEAEAEACAAACAAABA7A5A8ACA8A8A8A8ABA8ACAEAEACACABAAAAAAACAAACACACACABA7AAABABACACAAABABACAAAAAAAAABABA7A5A3A3A29FA1A1A2A2A29F9F9C9C9B9B97979799999C9B99999B9F9F9B99999799979B9DA29D9B9D9B99999997949499949997979B9DA1A1A1A2A2A3A2A2A3A2A3A3A3A3A2A1A1A2A2A5A5A8ACAAABAAAAACACACB1AEAEABAAAAACABABABACB1B1B3B1B1B3B3B3B1B3B6B6B6B6B9B6BBBBBDBDBDC1C3C3C6C3C6C6C8C9C6C6C6C4C4C6A00000000000000075CAC9CBCAC9CACECACACECECECECAC9C9C5C9C9750000000000000077CBCACECECBCBCBCAC9C5C6C9C9C9C9C9CBC9CACACECBC9C9CBC9CAC8C5C5C5C8C8C4C5C4C6C4C4C1C1BDBDBCBCB9B9B9BBB9B6B6B2B6B2B2B1AEB1AEABAEAEAEAEAEB1B1B5B2B2B5B5B5B9B6B6B6B3B3B3B3B3B1B2B3B6B6B6BBBBB6B6BBBBB9B5B2B2B2B2B3B3B3B3B5B2AEAEB1B5B5B5B3B5B5B2AEB1B1B1B1B1B3B1ACB1B1B3B3B1ACACACAEB1B3B1B1ACAEACAEACB1B1B1AEAEACAEAEACAEAEB1B1B1B1AEB2B5B5B6B5B3B2B32E010201010101010201020294F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4E2C8C9C6C5C6C9C9C9CAC6D1E6C3B1B1B1ACACABABABABABAAAAA8A8A8A8A5A5A5A5AAACB0B0B1B0ABABACACACAAAAACABABAAAAAAA8A8A5A3A3A3A3A2A5A5A5A7A7A7A7A7AAABABAAACACACAAAAA8A7A5A8A8A8A8ABAAAAAAAAACB1B1B1B1B0B2B3B3B3B3B3B5B1B1B1B1B11A00000000000000ACACACB1B3B3B3B3B3B5B8B8B5B2B2B2B2B1B1B1B1B1B2B0B2B5B5B6B3B6B9B9B8B8B9B9BCC0C1BFBDBFBFBBBBB9B6B6B3B1B1B1B0ACACACAAAAAAAAAAABABABAAACAAA7A7A7A7AAA5A7A7A5A2250000000000000000084786ABAAA8A2869DABAAA5AAAAACACACACAAA7A7A7A5A2A2A2A2A3A5A5A5A3A5A5A5A5A3A3A3A3A2A2A2A3A2A2A2A2A2A2A2A29E9F9FA2A5A5A5A8ABACACACB1B3B1B0B0ACABAAACACACABABA8A8AAAAAAABABACAAAAACB0B0B1B3B1B2B2B5B2B5B6B9B9B9B9B9B9BBBCBCBCB9B9BBBFBFBBBBBBBBB9BCBCBCBDC0C0BDBFC1C1C1C1C4C6C6C4C4C4C4C4C6C6C9C9C9C8C9C6C6C9C9C8C9C8C9C9C9C8C8C5C4C3C3C3C3C5C6C5C4C6C9CBC9CBC9C9C6C9C9CACBCECED0D0D0D0D3D3D3D3D3D0D0D1D0CEC9CEC9C9C9C9C8C5C5C5C4C1C0BFC1C1C1C1C1C1C1BFC0C1C0C0BCBCB9BCBCB9B9B9B6B6B6B6B6B3B3B1B2B2B2B2B2B1B1B1B0B2B0B0B0B1B1B3B2B2B1B3B3B6B9B9B9900000000000000069B9B9BCBBBDBDBDBFC1C1C1BFBCBCB9B6B6B2B1640000000000000067B5B2B2B3B6B3B3B5B8BBBBB8B9B6B8B8B9B9B9B9B6B6B6B6B6B9B5B9B9B9B9BCB9B9B9B9B9B6B9B8B5B5B5B2B5B5B9B9B9B9B6B9B9B6B6B9B9BCBCBCBBB9B8B8BBBBB9B6B2B1ACACACB1B1B1B1B1B1B1B1B1ACACACB1B1B3B3B2B5B8B8B8B8BBBBBBBCBDBFC1C1C1C1C0C0BDBDBDBBBCBFBFC1C1C1C1BDC0C0C0C1C4C6C6C3C5C5C4C1C3C3C5C3C3C3C5C8C8C9CBC9C6C9C8C8C4C4C4C8C9C5C5C5C3C1C1BFBFBFC0C1C1C3C0C0C132020202020202020202020292F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F6F6F6F6F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3E5D1D3D5D3D5D6D3D3D6D3DAECC9BBBBB8B3B2B2B2B5B6B6B9B9B9BCBBBBBCC0BFBFBDBCBCBDBBBDBDBFBCBFBFC3BFBCBFBBBBBBBBBBBBB8B5B6B3B3B6BBBCBCBFBBBFBFC0C3C3C3C1C3C0C0C1C1C3C3C3C0C0BDBDBFC3BFC1BDC0BCBCBCBFBCBCB9B9BBB8B3B3B3B2B1B1B11A00000000000000B1B3B6B6B6B8B8B8B8B3B5B5B5B8B8B8B6B6B3B5B3B3B3B6B5B5B2B5B3B3B3B8BBBBBFBCBCBCBBBBBCBDBBBCBCBCBCBCBBBBBDBDBDBDBBBDBDC1C1C3C3C1C3C3C3C3C3C1C3C3C1C0C3C1C4C1C460000000000000000000000000000000006FC3C1BFBFC0C0BFBFBBBDC0BFBBBFBDC1C3C0BFBCBCBCBDBDC1C1C3C3C3C3C3C1C4C3C1BDBDBDBBBBBBBCBBBBB9B9B9B8B8B8B8B8B3B2B2B2B1ACACACB0B0B0B0ACABABACACACACACACB1B0ACB1B1ACB0B0B1B0ACA8A8A7A7A7A8AAAAA8AAAAAAACB0ACB1ACAAACB1B1B1B0B1ACB0ACAAACB0B0B1B1ACACAAAAA7A5A5A3A3A39F9F9F9C9B9E9EA1A3A5A3A3A5A3A3A3A7A7A7A5A3A3A5A3A3A3A3A5A8A8ABABAAAAAAA7A3A3A7A8A8A5A2A2A29F9F9EA2A3A1A3A5A5A5A7A7A7A7A5A5A7A7A5A3A5A7A7A7AAA7A3A3A3A3A3A3A3A1A1A3A3A3A3A7A7A5A3A3A3A3A5A8AAACACACACB0ACA8ACACA8A8ACA8A5A5A5A7A5A5A7A7A5A7A3A5A5A7ABABA7AAAAAA87000000000000005FAAABABABABABABB0ABACB0B0B0B0ACACACACA85F0000000000000064B1B2B0ACACACABACB1B0B0B1B2B1B1B1ACACB1B2B2B1B1B2B5B5B3B3B3B2B1B1B2B3B3B2B3B6B6B6B6B9B9BCBCBBBBB8B6B6B5B3B5B2B5B5B8B8B3B8B8B9B5B3B3B3B3B3B6B3B3B6B3B2B2B2B2B2B2B2B1B2B2B2B5B2B1B2B2B2B0B2B1B2B2B1B1B1B2B2B2B1B2B3B8B8B6B9BBB9BBB8B3B2B3B2B2B3B1B0ABABB0B1ACACABACABABACACB0B0ACACB1B1B0B0B0B0ACACACB0B1B1B1B1B0B1B1B2B3B2B0B0B0B2B2B3B5B8B8B8B8BB2E020202020202020202020292F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F6F6F6F6F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F7F6F6F6F6F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2E5CECECECBCECECACAC9CAD7EAC5B3B2B1B1B1B1B1B3B5B5B3B3B3B6B5B5B5B5B6B5B5B5B5B6B5B5B5B5B2B5B5B3B3B2B3B3B3B1AEACB0B0AEB1B1B1B0B2B2B1B3B3B3B1B1B2B1ACB0ABB0B0AEAEABACACB0AEACACACA8ACA8A8A8ACA8A8A8ACB0B0AEABABAEB1B2B2B5B5B51A00000000000000BCBFBBBBB9B6B6B5B2B2B1AEACB0B2B2B2B1B1B1B1B1B1B3B3B5B5B6B5B5B6B5B5B5B2B2B2B5B5B5B5B5B2B2B2B5B5B5B2B2B2B2B3B3B5B8B9B9BCB9BCBBBBBDBCBBBBBBBBBBBCBBB9BBBBBBBBA5000000000000000000000000000000006BBDBBBBBCBBBBBBBCC0C0C3C3C3C4C8C8C8C8C9C9C8C8C8C8C9C6C6C6C6C6C6C6C6C5C8C8C8C8C9C8C9C8C9C9CACACBD0D0CBC9C9C9C8C9C9C9C9C9C9C9C9CACAC9CACACFCFCFCFD1D0D0CECECED0D1D4D4D1D1CFCFCBD0D0D0D0D1D5D5D4D3D3D3D5D5D4D4D1D1D1D1D4D5D4D1D1D4D4D5D5D5D5D7DAD7D7D7DADAD9D7D7DAD7D7D5D5D7D5D3D4D3D4D3D5D5D9D9D7D4D1CFCBC9C9C9CBCFCAC9CBCBCBCBC9C8C8C8C8C8C8C8C8C8C8C5C5C8C8C8C6C8C6C4C4C4C4C4C6C6C9C6C6C4C4C1C1BDBDBDBBBFBBBCBCB9BCBCBBBBB8B8B5B5B5B8B8B9B5B3B3B3B2B2B2B5B2B2B2AEB1B3B3B2B2B1B2B2B0ACACAAAAA7A5A5A3A2A2A5A7A7A7A8ACA8A8A8A8AC89000000000000005FA7A7A7A7A7A3A3A3A3A3A3A3A3A2A2A29E9E9E5800000000000000569B9C9C9A9A979A9B9B9E9E9EA2A1A2A2A29E9C9A97979A9C9A97979797979794929496969494949696969696999B999A9C9C9E9C9C9C9C9FA2A2A1A3A3A1A19F9F9F9FA29F9FA2A29F9E9E9C9E9FA29F9F9F9E9E9B9B9EA1A3A3A3A3A3A5A8A8A8A8A5A5A5A5A5A5A7AAAAAAA7A3A3A2A19E9E9C9CA1A2A2A5A7A7A5A2A3A7A3A3A3A2A3A7A7A8A8A7A7A7A7A8AAA7A8ABA8A8ACAEAEAEB0B2B2B0B1B0B1ACAEABABAEABABABAEAE2A010101010101010101010191F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F6F6F6F6F7F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0CAAAACB0AEB0B2B1B5B1B1BFCEB1A0A0A09F9C9C9F9FA1A3A5A8A7A7A7A7AAAAA8ACABABA7A7A7AAA7A7A7AAACACB0ACACB0B0B0ACB0B2B2B2B2B5B2B6B6BBBBBBBDBFBFC3BFC3C3C4C5C3C3C3C0C0C3C5C8C5C5C4C4C4C4C6C6C5C8C6C5C6C9C6C6C9C9C9C9C6C5C5C1C5C51F00000000000000C9C8C6C9C9C8C8C8C6C5C1C3C5C5C5C5C5C8C5C6C6C9C8C5C5C8C5C6C4C1C1C1C4C4C0C1C0C3C0C0BDBDBBB9B8B8B5B5B5B6B5B2B2AEB2AEAEACABACABA7ABABABABABACACB1AEAEB1B1B1B5B2B23700000000000000000000000000000067B6B5B1AEAEAEAEB0B0B0B0B1AEABABACB1B1B1B0B1B1AEABACACACACACB0ACAAACACB0B0ACAAA8A8ABACB0ACACAAABA8ABAAACACACABABAAABABAAABABACACACACABAEB1B1B2B1B0AEB0B0ACAEACACACACACB1ACB1B2B1B2B2B2B2B2B2B2B2B1B1ACB1ACABABABACB1AEAEAEB1B2B2B2AEB2B5B6B6B6B6B2B5B5B5B8BBB8B5B5B5B8B5B8BBB9B9B5B8BBBDC0C0BDBBBBBDBDBDBDC0C1C1BFBDBDBFBDBDBDBDBDC0BFBFBDBDC0BDBDBDBDB9BBBBB9B6B6B9B9B8B8B5B5B5B5B8B8B8B8B8B5B5B5B2B5B2B2B5B5B6B5B6B8B8B8B5B5B5B2B0ACACACABACACACACACACA8ACAAA8A8A8A8A8ACACACACB0AEACAAAAAAA8A8A7A7A5A7A8A8A8AAACABACA8A8ACAEACACB0B2B2B5B2B2B1B2B2B2B1B2B2B5B5B9BBB9BBBBB9B9B8B9B9BD690000000000000069B5B6B9B9BDBDBDBBBBBBBBBBBBBDBDBBBBBDBDBDBDBBBBBBBBBBB6B5B5B9B5B8B8B5B2B2B5B5B5B5B2B2B2B5B5B1B1B0B0ACACACACACACAAAAA7AAAAAAAAAAA7A7A7A7A5A1A1A5A5A5A5A1A3A3A5A5A09E9E9E9E9EA1A09E9F9E9B9B9B9C9E9E9B9B9898989A9A9A989797949494949694908F8F8D8E8E8C8E929294949494979797989B9B9C9EA19E9E9E9C989B9B9C9A9C9FA1A5A5A7A7AAAAAAA7AAA8A8A8A7A7A8A8AAABAAAA2B020101010101010101010190F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F5F5F5F4F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2F2F2F2F1F1F1F1F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEECDEDEDFDEDFDFDCDBDBDBE4EFD0C4C4C4C4C1C1C4C4C5C3C5C3C1C1C1C1C1C3C3C6C3C3C1C1BFBFBBBBBBB8BCB8B9B9B6B9B9B8B8B5B5B3B3B3B5B5B6B3B1B1B1B0B0B0B3B0B0AEABACB1B1AEAEACAEAEACA8A8A7A7A5A4A4A09F9FA4A5A5A5A5A8A5A5A5A5A8ACA8A8A5A51800000000000000A5A1A1A1A1A1A1A0A09E9E9E9B9B9B9B9896939696989898989B9B9797969798989B9B9B9E9C9E9E9E9B9B979494979B9794949494949692909293939292929393939393969896979B9B9B9B9B9B8D0C0000000000000000000000000000589E9C9B9B9B9B9C9F9C9C9C9B9B98989B9CA0A0A0A0A0A4A5A5A5A5A4A4A4A4A4A4A5A7A7A7A5A1A19E9C9B9B9B9B9C9E9FA4A5A5A49FA1A5A1A1A19FA1A5A5A5A5A5A5A5A5A5A7A5A5A8A5A5A8ABABABACB0B0ACACACACA8ABA8A8ABA8A8A8ABABA8A8A8A5A5A7ABABA8A8A8A8A8ACACAEACAEAEACACABACACACA8A8A8ACACACB0AEAEAEAEAEAEABABA8ABAEAEB1B1B1B1B3B1ACACABABA8A5A8A8A8A5A8A8A7A8A5A5A5A4A0A0A4A4A4A4A0A1A19FA19F9F9F9F9F9E9E9E9E9E9C9C9F9C9FA4A0A0A4A49F9FA0A4A5A8A8A8A8A8A8A7A7A5A5A5A5A4A49F9FA4A1A0A19F9FA4A1A19E9E9C9B9C9C9C9E9E9EA0A0A5A5A5A0A0A4A5A8A5A8ABAEAEAEACB0B0B0B1B3B2B2B3B2B2B2B2B2B5B3B3B0B3B0B0AEAEB1B1B1B1B1B1AE61000000000000005FA8A7A8A8A8A8ABACABA8A8A5A5A1A1A1A5A5A5A7A8A8A5A8ACACB0B0B0B0ACB0B0B0B0ACB0B0B3B6B6B8B8B8B6B5B2B5B2B2B0B0B0B0B0AEB1AEABA8A8A8ABABABACA8A8A8A8A8ACAEAEB2B3B3B6B3B6B6B8BCBFBFBCBCBFBFBFBFC0C1C1C1C0BFC0BFBFBFBFBFBFBFBFBFBCBBBBBDBBBBB9BCBDBDBDBDBBBBB8B6B8B6B5B6B6B6B3B6B8B8B6B6B6B9B9B8B8B6B5B5B5B3B3B3B6B3B6B3B3B3B1AEACA8A7A7ABACB1B0B0ACACAEB12C02020202020201010101018FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F1F1F1F1F2F2F2F2F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F5F5F4F4F4F4F4F4F3F3F3F3F3F2F2F2F2F2F2F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECE3D3D6D6D7D6D6D4D1D3D3DEEAC9BFBCBFBFBFC1BFC1C1C1C4C4C3C3C1C1C1C1BFC1C1C1C1C1BDBFC1C4C1C1C4C4C1BFBFBDBDB9B8B6B3B3B3B3B3B2B1AEB1B2B2B0AEACACACACACACAEB0B0AEAEAEB2B0B0B1B1B2B0B0B0B0B2B0B1B0B0ACB1B1AEAEACAEAEAEACAAA8ABAB1900000000000000AEAEAEACACACACA8ABA7ABABAAAAA7A8A8ABAAA8A8A8A5A8A5A5A5A8A5A5A5A8ABABAAA7A7AAACACACB1B0B0B0B1B2B2B2B5B8B6B8B9B6B6B5B2B2B0ACACACAAA8ABACACACACACACACACACAEAEB0B09C0E0000000000000000000000000062ACACB0B0B0ACACACACAEAEB0B3B5B5B8B5B8B6B6B9B8B6B6B6B6B6B8B6B5B6B6B6B6B8B8B8B5B5B5B8B8B8B8B9B6B6B6B6B6B8B8B9B6B6B8B6B6B6B8BBBBBDBFBFBFC3C4C3C4C5C5C3C4C4C3C5C1C1C1C1C1C1C1C1C1C4C3C3C3C5C3C5C4C5C5C6C6C8CACAC8C5C5C5C4C5C5C5C5C5C5C5C5C6C6C5C6C6C9C9C9C9CBCACAC9C9C9CACED0D0CECEC9C9C8CACACACACED0D0D0CECECED0D0D0D0CECECECED0D0D0CECED0D0D0D0D0D0D1D4D1D1D1D4D4D3D1D1D4D1D1D0D0D1D0CED0CED0CED0D0D3D3D1D0CBC9C8C5C5C5C8C9C6C5C8C8C8C8C5C3C3C3C3C3C3C3C3C3C3C1C1C3C3C4C1C4C1BFBFBFBFBFC1C1C5C1C1BFBFBCBCB9B9B9B6B9B6B8B8B5B8B8B6B6B3B3B1B1B1B3B3B5B1AEAEAEACACACB1ACACACAAACAEAEACACAC62000000000000005AA29E9E9EA2A2A2A2A5A8A5A5A5A5A8ABA8A8A5A5A5A5A5A5A4A4A4A4A29F9F9F9F9F9F9E9E9C9C9C9B9B9B9B97939094949797979799999696939697979B9B9B9C9C9C9C9C9B99969292969996929292929293908F90909090909090909090909497949699999B999999999B9C9C9C9E9E9C9C9B9B9B9B9E9B9B9C9C9B9B9B999B9B9E9B9B9B9B9B97979B9C9E9E9E9E9EA2A5A5A5A5A2A2A2A2A2A2A4A5A5A5A29F9F9C9C9B9B992501010101010101010101018EEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F6F6F6F5F5F5F5F5F4F4F4F4F4F3F3F3F3F3F2F2F2F2F2F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEEEEEDEDEDEDECECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBCFB3B5B2AEB2B5B6B6B8B6C0D1AE9F9FA2A5A2A2A2A2A5A5A29FA2A4A5A7A7A5A4A2A2A29D9B9B9B9B9D9F9F9F9D9F9F9F9F9D9D9D9D9B9B9B9D9B9B9B9B9B9B9B9B9799999C9D9D9FA2A5A5A5A7AAACAAA8A8A5A5A4A5A7A7A5A5A2A2A2A2A2A5A5A5A4A4A5A8A8AAACAAAC1900000000000000B1B1B1B3B5B5B5B2B2B3B6B6B3B3B3B3B2B5B5B5B6B9B9B6B6B9B9BBBBBDC0C0BDBDBDBDBDC0C0C3C3C3C1C1C0C0C1C1C1C3C1C1C1C3C1C1BFBDBCBBBBBCBFC0BFBDC0C1C5C3C5C3C3C0C3C3C4C5C6C6B13800000000000000000000000070C6C3C1C1C1C1BFBFBFBDBBB9B6B9B9BBB9B9BBBBB6B9BBB9B9B5B5B2B5B5B1B1B1AEAEAEAEAEACACABACACACACACAAAAAAA8ACA8A8A8ABABACACACAAACACAEB1B2B1AEB1AEAEB1B2B1B1B1B1B2B5B3B6B6B6B6B9B9B9B6B5B5B1AEAEACAAAAACACABACACACACACAEACACACAEACACAEB1B3B3B1B1AEB1B1B1B1B1B1AEAEAEAEAEB1AEB1B2B2B1B5B1B1B1B1B2AEB2B1AEAEAEACAEAEB1B2B2B2AEB2B2AEAEB2B2B5B5B5B3B2B1B1B3B3B1AEACAAA7A7A7AAAAAAABABABABABAAA7A7A7AAAAACACACAEB1B1B1B1B3B3B3B5B6B6B9B9B9B9B9B9B6B6B6B3B5B6B6B9B9B9B9B6B9B9B9BBBDC0C0BCBFBFBDBBBBBBBFBBBBBBBFC1C1C3C5C1C0C1C1C1BDBDBDC1C1BFBFBFBCB9B9B6B6B6B9B9B9BBB9B9BBBCBCC0C1C1C0C1C1C1BFBB6C0000000000000067B5B6B9B6B5B5B1AEAEACAEB1B1AEACABABABA8AAAAAAAAA8A8A7A7A7A7A5A2A5A5A5A7A5A2A29F9FA29D9DA29D9D9B9D9B9B97969693939697979B96969696969797979B9D9D9D9D9C9C9B9B9B9B9B9B9D9B9B9797979B979797999C9B999B9B9B9B979697979996979996999B9B9B9B999997979B9B9B9D9DA29D9B9C9C9C9D9B9B9C9C99999B979B9C9C9C9C9C9DA2A2A2A2A29DA29DA2A2A2A2A2A2A2A29DA2A4A2A2A2A2A2A22601010101010101010101018DEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBECECECECECECECECECECECECECEDEDEDEDEEEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F2F2F2F2F2F3F3F3F3F3F4F4F4F4F4F5F5F5F5F5F6F6F6F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F6F6F5F5F5F5F5F4F4F4F4F4F3F3F3F3F2F2F2F2F2F1F1F0F0F0F0F0EFEFEFEFEFEEEEEEEEEEEDEDEDECECECECECECECEBEBEBEBEBEBEBEBEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9D0B5B6B3B2B3B3B2B3B5B8C1D6B19E9E9B9B979797979B9B9C9FA2A29F9C9EA19E9E9E9C9EA1A1A2A2A2A1A2A2A2A3A2A2A5A2A2A5A7A7A7A7ABABA7A8A7A8A5A7A5A5A7A5A5A5A7A7A5A5A5A2A2A3A7A7A5A5A5A5A5A7A7AAA7AAAAA7A7A7A7A7A7A5A5A5A7A7A8ABAAAAAA3419191919181919AAACACACACB0ACA8A7A7A7A5A2A5A5A5A2A5A5A3A5A2A2A29F9C9C9F9F9F9F9C9E9E9C9E9C9C9C9C9C9B9B9B9B9B9B9B9C9B9C9F9C9C9F9F9C9C9C9FA2A5A5A5A5A5A5A3A3A2A2A2A29F9F9C9C9F9E9C9E9C732300000000000000000000569B9C9CA1A1A19C9C9FA2A5A2A5A7AAAAAAA7ABABABACB0ACACB0ACACACACACB1B0B0ABB0ABABAAAAACACACACACACAAA7A5A2A5A5A3A3A3A5A5A3A5A5A5A5A7A7A7A5A5A2A19E9E9EA1A2A1A3A5A5A2A5A8A8ABABABABA8ABABABABA8ABABB0B2B2B3B3B3B3B1ACB1ACACABABABABABAAACAAA7A5A5A5A7A7A7A8A5A5A5A5A5A7AAAAACB1B1B2B1B2B2B3B8BBBBB8B8BBBBBBBBBCBDBDBDBCBBBCBBBBBBBBBBBBBBBBBBB8B6B6B9B6B6B5B8B9B9B9B9B6B6B3B2B3B2B1B3B3B3B1B2B3B3B2B3B3B5B5B3B3B3B1B1B1B1B0B0B2B1B2B1B1B1ACAAA7A5A3A3A7A8ACABABA8A8AAACACACACA8A8A8A8A7A7A7A5A5A3A3A3A3A3A2A2A1A1A1A19C9C9C9EA2A5A7A7A8A7A3A3A5A5A5A2A2A5A3A3A2A2A2A1A19E9C9C9C9C9B9E9C9C9F67171717181818186CA5A5A2A2A19F9CA1A1A1A1A3A2A2A2A2A5A7A7A7A7A7AAABABABABABACA8A8A8A8A7A7A7A7ABABA7A7A5A5A5A5A8ABABABABABACB0B0ACAAAAAAAAA7A8A8A8A8AAA7AAACACACABACB1B1B0B0B1B1B3B6B8B5B3B5B5B2B2B1ACACABA8A7A7A7A5A5A5A2A2A2A2A2A3A3A3A2A5A29F9F9F9FA29E9F9F9E9B9E9FA2A2A2A1A19E9E9E9EA2A3A2A1A2A2A3A3A29EA2A2A5A5A5A5A29F9F9F9C9B9B9B9B9C9E9E9E9C9E9E9E9E9C9C9C9C2601010101010101010101018CE9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEBEBEBEBEBEBEBEBECECECECECECECEDEDEDEEEEEEEEEEEFEFEFEFEFF0F0F0F0F0F1F1F2F2F2F2F2F3F3F3F3F4F4F4F4F4F5F5F5F5F5F6F6F7F7F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F8F8F8F8F8F7F7F7F7F7F7F6F6F5F5F5F5F4F4F4F4F4F3F3F3F3F2F2F2F2F1F1F0F0F0F0F0EFEFEFEFEEEEEEEEEEEDEDECECECECECEBEBEBEBEBEBEAEAEAEAEAEAEAE9E9E9E9E9E9E9E9E9E9E9E8E8E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7D5BDBFBFBDC0BCBBBCBDBBC5DAB6AAAAA7A5A3A4A4A3A7AAAAAAAAAAABACACABA8A8A8A8A7A7A7A7A7A8A5A8ABABACAAACAEAEACACB0B0B2B5B6B3B2B3B3B1B1AEACACAAA7A7A7A5A4A4A4A2A2A1A1A1A2A2A2A1A4A19E9E9E9EA19C9E9E9C999C9EA1A1A19F9F9C9C9C9CA1A2A19FA1A1A2A2A19CA1A2A4A3A3A4A29E9E9E9B979797979A9C9C9C9A9C9C9C9C9A9A9A9A9797979A9797979797979797969797999B9B9C9FA2A4A4A3A7AAA7A5A5A4A2A2A4A3A3A2A29F9FA1A1A1A2A2A4A2A2A4A5A5A7AAA7A8A8965F3B191A030000081A7BB2B2B2B0B0B1B3B3B1B1B1B1B0B2B2B2B2B5B5B2B3B6B6B6B6BBBDBDBBBBBBBBBBBDBDC0C0C0BDBFBDBDBFBFBDC0BDBFBFC0BDBDBBBBB9B8B8B9BBBDBBBBBDBFC1C0C1C0C0BDC0C0C1C1C3C3C5C5C5C5C8C8C8C8C8C5C5C6C5C3C0C3C0BFBFBFBDBBBBBBBBB6B5B3B6B6B6B6B6B6B6B3B5B6B5B5B2B2B0B2B2AEAEAEACACACACACAAAAA7A8A8A8A8A8A7A7A7A5A8A5A5A5A7A7AAA8A8A7AAAAACAEB0AEACACABABACB0AEAEAEAEB0B2B1B2B2B2B3B6B6B6B3B2B2AEACACA8A7A7AAAAA7AAAAAAA8AAABA8A8AAACAAAAABACB1B1ACAEACACACAEAEAEAEACACACACACAEABAEB0B0AEB2AEAEAEAEB0ACB0ACABABABA8ABABAEB0B0B0ACB0B0ACACB0B0B2B2B2B1B0ACACB1B1AEACA8A7A3A3A3A7A7A7A7A7A7A7A7A7A3A3A3A7A7AAAAA8ABACACACACB1B1B1B2B2B3B6B6B6B6B5B5B2B2B2B1B2B3B3B6B6B6B6B2B5B5B5B6BBBDBDB9BBBBBBB6B8B8BBB8B8B8BBBDBDC0C1BFBDBFBDBDBBBBBBBDBFBBBBBBB9B6B6B3B3B3B5B6B6B8B5B5B6B9B9BDBFBFBDBDBDBDBBB8B8B6B5B2B6B6B6B6B3B2B3B5B3B2B2AEACACA8ACACACABA8A7A7A7A5A7A7A7A7A5A5A3A3A3A3A29FA2A4A2A3A2A1A19C9C9F9B9B9F9B9A979A97979692929090929696979393939393969696979A9A9A9A99999797972501010101010101010101018BE7E7E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9E9E9EAEAEAEAEAEAEAEBEBEBEBEBEBECECECECECEDEDEEEEEEEEEEEFEFEFEFF0F0F0F0F0F1F1F2F2F2F2F3F3F3F3F4F4F4F4F4F5F5F5F5F6F6F6F7F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F8F8F8F8F8F7F7F7F7F6F6F6F5F5F5F5F4F4F4F4F3F3F3F3F2F2F2F2F1F1F0F0F0F0EFEFEFEFEEEEEEEEEDEDECECECECECEBEBEBEBEAEAEAEAEAE9E9E9E9E9E9E8E8E8E7E7E7E7E7E7E7E7E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5D0B6B6B5B3B5B5B3B9B9BBC6DBB8A5A5A0A3A3A3A19EA19E9F9C9B9CA09C9C9C9C9F9CA0A3A3A1A19F9E9E9EA09EA0A1A1A09F9C9E9F9FA1A19E9F9FA09E9E9E9E9F9F9C9A989896939494969696939392928F8F8D8D8D8E8E92908E8E909393908E8E8D8E8D909296929092908E8E8E8C89898E898E8D8D9092949494979798969698969898989897949497979A9B9CA09E9F9E9EA1A1A0A5A3A39F9E9EA19F9F9FA1A5A5A7A5A5A7A7A7A5A7A8A8A8A8ACAAAEAEB1B1B1B5B6B6B9B6B9B9BBBDB9B9B9B8B8B9BCBFBCBDBBBBBBBBBFBFBDBFBFBCBFC1BFBFC1C1C1C0BFBCBCB9BCBCBFBCBFBFBFC0C0C0C0BFBFC0C0BFBFBFBFBCB9B9BCBDBCBCBCBFBDBFBFC1BFBDBDBFBCBFBBB9B9B9BBBBB8B9B8B9B8B8B5B5B1B1B0B0ABABABAEABAAA8A7A8A7A7A5A3A5A39FA3A3A3A3A3A5A5A8A7A7A8A8A8ABA8AAAAA7A7A7A7A7A5A7A7AAAAAAAEAEAAAAAEAEABA8A7A7A7A7A7A7A7A7A8A7A3A3A5A8A8A8A7A8A8A7A3A5A5A5A5A5A7A5A1A5A5A7A7A5A1A0A0A3A5A7A5A5A1A3A0A3A1A5A5A5A3A3A1A3A3A1A3A3A5A5A5A5A3A7A8A8AAA8A7A7A7A7A5A7A5A5A5A5A5A8A5A8AAA8AAAAAAAAAAA8A8AAA8A8A5A8A5A3A3A3A5A8A7A7A7A8AAAAA8A7A8ABAEAEAEAEAAABABABB0B1B0ABABABB0ABB0B1B1B1ACB0B2B5B8B8B5B2B2B5B5B5B5B8B9B9B6B5B5B6B5B3B5B3B5B8B6B6B5B5B8B5B5B3B3B1B1B2B1AEAEB1B1B0B0ACACACACB0B0B0B0B0ABACACA8ABA8A8ABABAEABAEB0B0B0ABABACAAA7A5A5A5A3A5A5A5A5A5A5A0A5A1A0A0A0A0A0A5A5A5A5A7A7A5A1A1A1A0A09F9F9C9FA0A0A0A1A5A3A5A0A0A5A7A5A5A7AAAAACA8A8A8A8A8AAA8AAAAACACB1B2B1B2B2B1B1B0B1B1B3B1B0ACABABABB0ACB0ACAEB1B1B3B3B3B2B2B2B1B1B1B3B3B2B1B3B5B5B3B1B1B1B1B1AEACACB1ACB0B0ABA8AAABABABABA8A8A8ABABA8A8A7A728010101010101010101010189E5E5E5E5E5E5E5E5E5E5E5E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E8E8E8E9E9E9E9E9E9EAEAEAEAEAEBEBEBEBECECECECECEDEDEEEEEEEEEFEFEFEFF0F0F0F0F1F1F2F2F2F2F3F3F3F3F4F4F4F4F5F5F5F5F6F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F8F8F8F8F8F7F7F7F7F7F6F6F5F5F5F5F4F4F4F4F3F3F3F3F2F2F2F1F1F0F0F0F0EFEFEFEFEEEEEEEDEDECECECECEBEBEBEBEAEAEAEAE9E9E9E9E9E8E8E7E7E7E7E7E6E6E6E6E6E6E5E5E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3D4BFC0C1C3C3C4C4C4C5C8D1E1BFAEAEABA8A8A5A4A4A7A7A5A7A7A7A5A7A8A5A5A7A8A7A7A8AAACACAAABA8AAAAABABABABA8A8A8A8A8ABA8ABACACABAEABABABABACA8ACAAA8A8A8A5A8A8ABACACACA8ACACA8A8ACACAEAEAEACACAAAAACACABA8A5A4A2A2A2A4A4A4A5A5A5A5A5A4A2A2A2A4A4A7A7A5A8AAAAAAAAACACACAEB0B1B2B2B2B2B2B2B0B0B0ACAEB1B1B2B2B2B2B0B2B2B2B3B6B9B9B6B8B8B6B3B5B5B8B5B5B5B8BBBBBCBFBBB9BBBBBBB6B6B6BBBBB8B8B8B6B2B2B1B1B1B2B2B2B5B2B2B3B6B6B9BBBBB9BBBBBBB8B5B5B3B2B0B2B2B3B3B1AEB1B2B1AEAEABA8A8A5A8AAAAA8A5A5A5A5A2A4A4A4A4A2A2A2A2A2A29F9C9FA09FA29F9C9C99999C99999C9998969896969290908E8E9092929490909090909292929698989898979794949494969698949492929294929292939794939494949492909292939092939093969696969393929294949698999B9894979797989494979793939492949797979797989B9B9C9B9B999B999B9B9B9C9C9B9B9B999C9E9C9C9B9B9B9B989899999C9E9EA0A0A2A2A29F9FA2A5A7A7A5A2A5A5A4A29E9EA0A2A4A29EA2A4A4A4A2A2A2A2A29F9F9F9F9FA2A2A5A7A5A5A2A29FA2A2A2A09CA09C9E9B999C9F9C9C9C9C9E9C9FA2A2A0A09E9C9C9C9F9C9FA0A09F9E9B9C9E9EA0A09C9E9E9F9C9C9C9C9E9E9B99989894929393949494929290908E8E8C8C8C8D8D908F8D8D8F92928F8D8D8C8D8C8F9094908F908F8D8D8D8988888D888D8C8C8F909393939696989494989498989898979393979799999C9F9C9E9C9CA0A09FA2A2A29E9C9CA09E9E9EA0A2A2A5A2A2A5A5A5A2A5A8A8A8A8ABA8ACACB0B0B0B2B5B5B8B5B8B8B9BBB8B8B8B6B6B8BBBDBBBBB9B9B9B9BCBCBBBDBCBBBCBFBCBCBFBFBFBFBCBBBBB6BBBBBCBBBCBCBCBFBFBFBFBDBCBFBFBDBDBDBCBBB6B82F010101010101010101010188E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E6E6E6E6E6E6E7E7E7E7E7E8E8E9E9E9E9E9EAEAEAEAEBEBEBEBECECECECEDEDEEEEEEEFEFEFEFF0F0F0F0F1F1F2F2F2F3F3F3F3F4F4F4F4F5F5F5F5F6F6F7F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F8F8F8F8F7F7F7F7F7F6F6F5F5F5F5F4F4F4F4F3F3F3F2F2F2F2F1F1F0F0F0EFEFEFEFEEEEEEEDEDECECECEBEBEBEBEAEAEAEAE9E9E9E8E8E7E7E7E7E6E6E6E6E6E5E5E5E5E5E4E4E4E4E4E4E3E3E3E2E2E2E2E2E2E2E2E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1D4C3C4C0BFC0C0BFC1C3C3CBDEBDAEAEB1B1B2B2B5B8B8B5B5B5B5B5B8B8BBBBBBB9B9B8B8B9B9B9BBB9B9B9BBB9B9B6B5B5B3B3B5B6B8B6B5B8B9BDBBBDBBBBB8BBBBBCBDBDBDC1C1C1C1C3C3C3C3C3C0C0C3C0BDBBBDBBB9B9B9B9B6B6B6B5B2B1AEB1B1B2B1B1B2B2AEB1B2B1B1ACACABACACAAAAAAA7A7A7A7A7A5A5A4A5A5A5A5A5A2A2A2A2A5A2A2A2A4A4A5A5A5A2A5A5A7AAABAAA7A8A5A5A8ABAAAAAAAAABACACAEAEAEAEB1B1B1AEACACAAA7A7A5A2A2A5A5A4A5A5A5A5A5A5A5A5A5A7A5A5A5A8ACACA8AAA7A8A8AAAAAAAAA7A7A7A7A7AAA5AAABABAAACAAAAAAAAABA7ABA8A5A5A5A5A5A5AAABABABA7ABABA7A7ABABACACACACABA8A8ACACAAA7A5A29F9F9FA2A2A2A4A4A4A4A4A29F9F9FA2A2A5A5A5A5A8A8A8A8ACACACACAEAEB1B1B1B1B1B1AEAEAEACACAEAEB1B1B1B1AEB1B1B1B2B5B8B8B5B6B6B5B2B3B3B6B3B3B3B6B9B9BBBDB9B8B9B9B9B5B5B5B9B9B6B6B6B5B1B1AEAEAEB1B1B1B3B1B1B2B5B5B8B9B9B8B9B9B9B6B3B3B2B1AEB1B1B2B2AEACAEB1AEACACAAA7A7A5A7A8A8A5A5A4A4A4A2A2A2A2A2A2A29F9F9F9F9E9B9E9D9E9F9E9C9C98989B97979B979694969494908D8D8D8D8D9090938F8F8F8F8F90909094969696969494939393939494969393909090939090909294939293939393908D9090928F90928F92949494949292909093939496979B9693949494969393949492929390939494949494969B9B9C9B9B979B979B9B9B9B9C9B9B9B979B9C9C9C9B9B9B9B969698989C9C9C9D9DA2A2A29E9EA2A4A5A5A5A2A5A5A29F9C9C9D9FA29F9C9FA2A2A2A2A2A29F9F9E9E9E9E9EA2A2A4A5A5A5A2A29E9F9F9F9D9C9D9C9C9B989B9E9B9B9B9B9C9B9E9F9F9D9D9C9C9C9C9E9C9E9D9D9E9C9B9C9C9C9D9D9C9C9C9E9C9C9C9C9C9C9B9796969390929293939390908D8D8D8D8989898C20010101010101010101010187E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E2E2E2E3E3E3E4E4E4E4E4E4E5E5E5E5E5E6E6E6E6E6E7E7E7E7E8E8E9E9E9EAEAEAEAEBEBEBEBECECECEDEDEEEEEEEFEFEFEFF0F0F0F1F1F2F2F2F2F3F3F3F4F4F4F4F5F5F5F5F6F6F7F7F7F7F7F8F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F8F7F7F7F7F6F6F5F5F5F5F4F4F4F4F3F3F3F2F2F2F2F1F0F0F0F0EFEFEFEEEEEEEDEDECECECEBEBEBEBEAEAEAE9E9E9E8E8E7E7E7E6E6E6E6E5E5E5E5E4E4E4E4E3E3E3E2E2E2E2E2E1E1E1E1E1E1E0E0E0E0E0E0E0E0E0DFDFDFDFDFDFDFDFDFDFDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEC4AAABAEB0AEACB0ACB0B0BBCFB1A3A3A3A3A7A8A7A3A2A3A7A8A8AAAEB1AEABA8A8AAAAAAAEAEACB1ACAAA8A8ABAAAAAAA8A8A8A8A7A7A7A7A5A5A3A7A7A7A5A3A2A2A29FA1A2A2A2A2A2A3A29F9FA2A2A3A7A7A7A7A8A8A8ABABABAAA8A8A8A7A7A7A5A5A7A7A7A3A3A7A7A3A7A7A8A5A8A7A3A29F9F9B9B9B9FA2A29F9F9D9B9B999B9B9C9C9B9C9C9C9C9D9C9F9FA19C9C9DA2A2A2A2A1A1A19D9B9B9B9B9B97979496979B9B9B9B969994949696939499999493929290908D8C8C8D8D908D90908F8C8F8F92939494949696949496969694949994979B9C9C9C9F9FA2A29F9FA2A2A1A3A3A5A7A7A7A7A8A5A5A5A5A5A5A5A7A8ABABABABABAEAEAEAAAEB1B1B2B2B5B2B5B3B5B2B2B1B1B1B2B2B1B2B2B1B1B2B1AEAEAEB1B1B1B1ACB0B1B1B0B0ACACA8A8ABAEAEAEAEAEAEACACA8ACAEAEB0B2B2B3B2B2B3B3B2B1B2B2B1B1B1B0B0ABABAAACACAAAAAAAEAEB1AEB1B1AEABABABABABABABABA8A8A7A3A3A3A5A5A5A8A8A8A8A8A8AAACB0B1B1B0ACB0B1B0B0ACAAA8A8ABB0ABABA8ABABAEB1B1B1B0B1ACB1B2B2B2B1B1B0AEACACAAA8A8A8A8A8A8A8A8A8A7A8A8A7A7A7A8A8A5A7A3A3A5A5A5A3A7A7A7A5A5A5A3A3A3A7A7A7A8A7A5A7A7A3A3A3A3A7A7A8AAACB0B0B0ABABABA8A8ABA8A8A5A5A5A7A8AAA7A8ABA8AAACAEAEAEABAEAEAEAEACACACACACACAEAEACACB1ACAEB0B1B1B1B1B2B5B5B6B5B5B3B2B2B2B2B1B1B3B1B2B2B3B6B3B6B6B6B8B8B6B6B6B6B6B6B2B5B5B5B5B5B2B2B6B8B6B6B8B8B6B2B2B2B2B0ACAAA8A8A8A8A8A7A7A3A7A7A7A5A3A2A2A2A2A2A2A3A5A5A3A3A3A7A5A5A7A7A7A5A5A5A5A7A5A7A5A5A3A7A7A3A3A3A3A3A3A29F9DA1A19FA2A2A2A1A2A2A2A3A3A3A2A2A3A29DA19CA1A19F9F9C9D9DA19F9D9D9D9B9D9B9B9B9D9B9B9B9DA1A19F9C9C9FA2A2A3A7A5A5A5A7A7A7A7A8AC2A010101010101010101010185DEDEDEDEDEDEDEDEDEDEDEDFDFDFDFDFDFDFDFDFDFE0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E2E2E2E2E2E3E3E3E4E4E4E4E5E5E5E5E6E6E6E6E7E7E7E8E8E9E9E9EAEAEAEAEBEBEBECECECEDEDEEEEEEEFEFEFF0F0F0F0F1F2F2F2F2F3F3F3F4F4F4F4F5F5F5F5F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F7F7F7F7F7F6F6F5F5F5F4F4F4F4F3F3F3F2F2F2F2F1F0F0F0EFEFEFEFEEEEEEEDECECECEBEBEBEAEAEAE9E9E9E9E8E7E7E7E6E6E6E6E5E5E5E4E4E4E4E3E2E2E2E2E1E1E1E1E1E0E0E0E0E0DFDFDEDEDEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCCCB8B8B8B8BBBBBDBFBDBDC4D6B5A4A3A4A0A4A4A5A5A3A5A5A7A4A3A3A3A3A3A5A3A3A5A3A0A1A1A1A1A1A19EA1A1A1A4A19EA0A0A09CA09FA1A19E9F9FA1A1A19FA0A3A5A5A5A7A8A7A8A5A3A1A3A1A1A39F9C9A9A9C9F9C9C9A9B9A9A9B9B9C9C9C9C9F9F9C9C9C9C9B9B9B9C9F9F9F9F9C9E9FA0A3A09C9C9CA0A0A3A4A5A5A5A5A8A5A5A8A8A8AAAAA8A8A5A3A3A5A5A5A5A5A4A7A8AAACAAACACACAEACACACACACACACACACACACAEAEAEAEB1B1B3B5B8B9BBBDBDC0C3C3C3C3C1C5C5C5C5C5C4C0C4C0C0C1BFBDBDBFBFBDBFC3C3C1BFBFBFC3C4C4C0C3C3C0C0C3BFBDBDBDBDBDBDBDBCBCBCBDBDB9B8B8B8B8B9B8BBBDBDBDBFBFBFBFBDBCB9B6B5B5B5B5B5B3B5B5B2B0B0B1B1B2B1B1AEAEABABABABABABACAAAAA8A8A7A7A5A5A5A3A3A3A3A3A3A3A5A5A3A5A5A4A7A5A5A5A5A8A8A8A7A7A8A8A8A7A7A8A8A5A5A7AAABABACAAAAA8A8A5A7A7A5A3A3A3A5A5A5A7AAAAA8A8A8A8A8A8A8A7A7A8ABACB1B2B1AEAEAEB1B1B3B5B6B6B6B5B5B5B2B3B3B5B2B1B1B1B1B1B3B1B2B2B2B2B5B5B5B6B6B6B5B6B5B3B1B1B5B5B5B5B5B8B5B5B5B2B2B3B5B5B5B5B5B5B5B5B8BBBBBCBCBBBDBDC0BFC0C0C4C1C4C5C5C6C5C4C1BFBFBFBFC1BFBDBDBDBDBFC0C0C0C0C0C0BFC0C3C0C0C0C0C0C1C1C1C1C3C3C5C6C5C5C6C9CAC9C9C5C5C5C9C9C6C6C6C6C5C5C6C5C5C6C5C6C6C6C6C5C5C1BFBDBDBDBDBDBFBFBFBFBFBDBDBDBDBBBBB8B5B3B1B1AEACACABAAAAAAA8A7A5A5A5A4A5A8A8A8A7A7A4A1A1A19E9E9C9B9997939392929293939797979793908F8B8B8B89898789898787898888888889898787878287878782868686898789888B8F8F8F8F909092908F8F8F8B8E8E8F8F8B8B8B8B8B8F8F8F8F9090908F90909090909292979794949393979797999B9B9E9E9E9C9EA0A3A1A3A3A3A09F9F9E9E9EA0A3A5A8A729010101010101010101010184DCDCDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEDEDEDFDFE0E0E0E0E0E1E1E1E1E1E2E2E2E2E3E3E4E4E4E5E5E5E6E6E6E6E7E7E7E8E8E9E9E9EAEAEAEBEBEBECECECEDEEEEEEEFEFEFEFF0F0F0F1F1F2F2F2F3F3F3F4F4F4F4F5F5F5F6F6F7F7F7F7F7F8F8F8F8F9F9F9F9FAFAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F7F7F7F7F6F6F5F5F5F5F4F4F4F3F3F3F2F2F2F2F1F0F0F0EFEFEFEEEEEEEDEDECECECEBEBEBEAEAE9E9E9E8E8E7E7E7E6E6E6E5E5E5E4E4E4E3E3E2E2E2E1E1E1E0E0E0E0DFDFDEDEDEDEDDDDDDDDDDDCDCDCDCDCDCDCDBDBDBDBDBDBDBDBDBDBDBDADADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9BFA4A5A8ABAEAEB0AEABABB5C9A897979B9898969696949492909090908F92929294949494949798989798989897979494929494949498979797979B9C9C9C9C9B9D9F9F9F9F9FA19C9C9C9C9C9C9C9C9F9F9C9B9B98989B9C9F9F9F9F9FA1A1A1A19D9D9D9D9C9C9C9C9C9D9B9DA1A1A19FA1A4A4A1A1A5A5A7AAABA8A7A8A8A5A5A4A1A19F9C9C9C9B98989897979696969898989698969494949496929494928F9294969696949492929292969896949696989896929697989B9B9897949494928E8E8E8E909292929092929292909090908E8E8E908E8E8E8E8E8E8E8E8C8D8D8F929292949898989B9C9F9C9B9B989897989B9B989894949696969898989797989B9B9C9F9C9D9DA19DA1A1A4A4A4A4A4A4A5A7A7A7A5A5A5A8A8A5A5A5A5A5A7A7A7A7AAAAA7A8ABABACACAEB1B1AEAEAEAEAEB1B1B3B3B3B2B2B1B1B2B2B2B3B2B2B2B3B2B2B0AEACACACACB0B1B0AEB1B2B6B3B6B3B3B1B3B3B5B6B6B6B9B9B9B9BCBCBCBCBCB9B9BBB9B6B3B6B3B2B2B2B2B0B0B0AEACAAA8ABABACABABACACA8AAACAAAAA7A7A5A7A7A4A4A4A1A1A1A1A19F9F9C9D9D9D9D9D9C9C9C9B9D9B9B9B9C9C9F9D9D9C9F9FA1A4A5A4A1A1A1A1A1A5A4A4A4A4A5A7A5A7A7A7A8ABABABA8A7A7A4A1A19D9C9C9F9F9C9F9F9F9D9FA19D9D9FA19F9FA1A1A5A5A1A4A1A1A1A4A4A4A4A1A1A1A1A1A4A1A4A5A5A4A7A4A4A4A4A5A1A5A1A1A1A19DA1A1A4A5A5A5A1A5A5A1A1A5A5A7A7A7A5A5A1A1A5A5A4A19D9C9B9B9B9C9C9C9C9C9C9C9C9C9B9B9B9C9C9F9F9DA1A1A1A1A1A5A5A5A7A7A8ABABABABAAAAA7A7A7A5A7A8A8ABABABABA7AAAAAAACAEB1B1ACB0B0AEACACACB0ACACACB0B2B2B3B6B2B1B2B2B2AEAEAEB2B2B0B0B0ACABABA8A8A8AAABABACAAAAACACACB1B2B2B1B2B2B2B0ACACACAAA7ABABACACA8A7A8AAA8A7A7A4A1A19DA129010101010101010101010182D9D9D9D9D9D9D9D9D9DADADADADADADADADBDBDBDBDBDBDBDBDBDBDBDCDCDCDCDCDCDCDDDDDDDDDDDEDEDEDEDFDFE0E0E0E0E1E1E1E2E2E2E2E3E4E4E4E5E5E5E6E6E6E7E7E7E8E8E9E9E9EAEAEBEBEBECECECEDEDEEEEEEEFEFEFF0F0F0F1F2F2F2F2F3F3F3F4F4F4F5F5F5F5F6F6F7F7F7F7F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F7F7F7F7F6F6F5F5F5F4F4F4F4F3F3F3F2F2F2F1F0F0F0EFEFEFEEEEEEEDEDECECEBEBEBEAEAEAE9E9E9E8E7E7E7E6E6E5E5E5E4E4E4E3E3E2E2E2E1E1E1E0E0E0DFDEDEDEDEDDDDDDDCDCDCDCDBDBDBDBDBDADADAD9D9D9D9D9D9D8D8D8D8D8D8D8D8D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7C7ACAEAEB1B1B1AEB0B3B6BFD1B1A3A2A3A29D9D9D9D9D9D9C9B97979B9C98989797979797979B9B98989C9C9B9B9B9B9797979B9C9C9C9C9B9B9C9C9D9C9B9B9B9C9C9D9FA2A2A2A2A3A1A1A3A3A3A5A5A3A3A19D9DA2A2A2A2A19FA2A5A5A8A5A8A8A8AAA8A8A8A8A8A7A7A8A8A8A8AAAAAAAAACACB0B1B3B5B6B9B9BCBDBDBDBDBDC0C0C0C0C1BFBCBFBCBCBDBBB9B9BBBBB9BBBDBDBDBBBBBBBDBFBFBCBDBDBCBCBDBBB9B9B9B9B9B9B9B8B8B8B9B9B5B3B3B3B3B5B3B6B9B9B9BBBBBBBBB9B8B5B2B1B1B1B1B1B0B1B1AEABABACACAEACACAAAAA7A7A7A7A7A7A7A5A5A3A3A2A2A1A1A19D9D9D9D9D9D9DA1A19DA1A19FA2A2A2A2A2A5A5A3A2A2A5A5A5A2A2A3A3A2A2A2A5A7A7A8A5A5A3A3A2A2A2A19D9D9DA1A2A2A2A5A5A3A3A3A3A3A3A3A2A2A5A7A8ACAEACAAAAAAACACB0B1B2B2B2B1B1B1AEB0B0B1AEACACACACACB0ACAEAEAEAEB1B1B1B2B2B2B1B2B1B0ACACB1B1B1B1B1B3B1B1B1AEAEB0B1B1B1B1B1B1B1B1B3B6B6B8B8B6B9B9BCBBBCBCBFBDBFC1C0C3C1BFBDBBBBBBBBBDBBB9B9B9B9BBBCBCBCBCBCBCBBBCBDBCBCBCBCBCBDBDBDBDBDBDC0C3C1C1C3C4C6C4C4C1C1C1C4C4C3C3C3C3C1C1C3C0C0C3C0C3C3C3C3C0C0BDBBB9B9B9B9B9BBBBBBBBBBB9B9B9B9B6B6B3B1B0ACACAAA7A7A7A5A5A5A3A2A2A2A29FA1A3A5A5A2A29F9D9D9D9B9B9897969390908F8F8F909092929292908D8A8888888585838585838384868686868484838383808383838081818185838486888C8C8C8C8E8E8F8D8C8C8C8889898C8C88888787878A8A8A8A8D8D8D8C8E8E8E8E8E8F8F9294909090909392929697979B9B9B989B9C9D9D9D9D9D9C9C9C9B9B9B9C9DA2A5A2A2A3A3A7A5A2A5A5A3A3A1A3A2A2A1A2A2A2A2A2A5A2A5A5A5A5A2A5A5A5A5A29FA2A5A2A2A3A3A5A5A5A5A3A2A2A2A2A3A3A3A5A5A7AAA7A7A72A010101010101010101010181D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D8D8D8D8D8D8D8D9D9D9D9D9D9DADADADBDBDBDBDBDCDCDCDCDDDDDDDEDEDEDEDFE0E0E0E0E1E1E1E2E2E2E3E4E4E4E5E5E5E6E6E7E7E7E8E9E9E9EAEAEAEBEBEBECECECEDEEEEEEEFEFEFF0F0F0F1F2F2F2F3F3F3F4F4F4F4F5F5F5F6F6F7F7F7F7F8F8F8F8F9F9F9F9F9FAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F7F7F7F7F6F6F5F5F5F4F4F4F3F3F3F2F2F2F1F1F0F0F0EFEFEEEEEEEDECECECEBEBEBEAEAE9E9E9E8E7E7E7E6E6E6E5E5E4E4E4E3E2E2E2E1E1E1E0E0DFDFDEDEDEDDDDDDDCDCDCDBDBDBDBDAD9D9D9D9D8D8D8D8D8D7D7D7D7D7D7D6D6D6D6D6D6D6D6D5D5D5D5D5D5D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4CEC1C3C5C1C3C0BFBDBDBBC3D1B1A7A4A4A4A1A4A4A4A4A1A19E9E9EA1A1A19E9C9C9C9B9B9B9E9B9B9A97999C9C9A9A999A9A99969693939290908D8D8D909090909396939393939699969693939393939392929292908F8F8F8F8F8F8D8D8C8C8C8888888886838183838686868689898484838486868888888C898C8C8C8889848181848984818181818183807E808181808080818181818183868384898988898989898A8C8C898D8D89898A8A8A8A8D8A8A8C8C8A888889888A8D8A8A8A8888868688898D8D8D8D8D909393939390909090909092939393908F8F8C8988888989898C8D909292908D8F908F8F8F8D8F90909393929092929393929394939396979797999B9B99999999969794949794949497979494949393939797969696969699999A999A9A9999979999999494949999999B9A9A9A9A9A9A979794979A9A9C9C9C9C9E9C9999979796939696969394949394929393908D8D909090908D8F8F8D8F8D8D8D8D8D8C8C8C8C8C89898D898D908D8D90908D8D8D909394949494949493939293929290908D8D908F8D8F8D8D908F8F8C8C89888A8A8A8C8C8C8D8D9090908D8D9092949294979A9A9A999B9B9B9C9E9D9D9E9D9D9D9D9DA19E9E9B9E9B9B9A9A9C9C9C9C9C9C9A999493949493939396969394949494979997949492908F8F8F909290939496939699999B9B9B9B999B9B9B9B999B9B9EA1A1A4A4A4A3A19DA19D9D9B9B9B9B9B9A9C9A97949494979797999696949494999A9A9D9F9FA19FA1A1A4A7A8A8A7A7A8A8A8A8AAACACACAAA8AAA8A8A8A8A8A8A8A8A8A7A5A5A7A5A5A4A7A7A7A7A7A5A5A4A1A4A1A1A3A3A39FA1A4A4A1A3A3A4A4A4A4A3A1A1A19F9E9EA19FA19F9F9F9C9A9996939397999C9B9B99999A9C9C9C9C99999999999999969693939393939393909090908D8D8D8F92949725010101010101010101010180D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D5D5D5D5D5D5D6D6D6D6D6D6D6D6D7D7D7D7D7D7D8D8D8D8D8D9D9D9D9DADADBDBDBDCDCDCDDDDDDDEDEDEDFDFE0E0E0E1E1E2E2E2E3E4E4E4E5E5E6E6E6E7E7E7E8E9E9E9EAEAEBEBEBECECECEDEEEEEEEFEFF0F0F0F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F7F7F7F7F6F6F5F5F5F4F4F4F3F3F3F2F2F2F1F0F0F0EFEFEFEEEEEDEDECECEBEBEBEAEAE9E9E9E8E7E7E7E6E6E5E5E4E4E4E3E2E2E2E1E1E0E0E0DFDEDEDEDDDDDCDCDCDBDBDBDADAD9D9D9D8D8D8D7D7D7D7D6D6D6D6D5D5D5D4D4D4D4D4D3D3D3D3D3D3D3D3D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1CEC1C1C1C0BFBDBDBDBDB9C1CFB1A5A5A5A5A5A5A1A3A5A3A3A1A19EA1A19C9C9C9B9B9B9B9B9898979898989898979797969896969697979898989798989B9C9E9C9B9C9A9A9C9E9C9C9C9C9EA19FA1A1A1A1A5A5A5A1A1A19C9B9B98979798989798989898989A9898989B98989A9C9F9F9C9C9B9C9C9C9C9C9C9B9B9B9B9B9C9A9C9E9E9CA19C9C9C9C9E9B9E9C9A9A9A989A9A9C9E9E9E9B9E9E9B9B9E9EA1A1A19F9E9C9C9F9F9C9B989793939397979797979797979793939397979898989A9C9C9C9C9F9F9FA1A1A1A5A5A5A5A3A3A1A1A19FA1A1A1A5A5A5A5A1A3A3A3A5A8AAAAA7A8A8A8A5A5A5A8A5A5A5A8ABABACAEACAAACABABA8A8A8ABACA8A8A8A7A5A5A1A1A1A3A5A5A5A3A3A5A7A7AAACACAAABABABA8A5A5A5A3A1A5A5A5A5A1A1A1A3A1A1A19C9B9B989B9C9C9A989797979697979797969693939393928F929292939290908D8D8F8B8B8F8B8B898B89898681818181818686888282828282868686898B8B8B8B88888888888889898B88888686868886868687888887888888888681868687828687828789898989878786868888898B8B8E8B888888888B88888888878788868888888888888B8E8E908E8E8B8E8B8E8E8E8F908E8E8E8B8F9090908E8E8E8E8B8B8D8D909090929296969692929697989898969898979390909293979390939797979696969393929292929296969798989896969293939392909290908E8D8F928F8F8F8F908F929393929290909090929092929292908E9090909292909090929090909090908E8B8B8B888687878888888686818181817E7E7E8080818180808186868180807E807E818288828182818080807D7C7C807C807E7E818287878789898B88888B888B8B8B8B88878788888B8D8F92909090909292929693939090909290909092969698969698989896989A2601010101010101010101017ED1D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D3D3D3D3D3D3D3D3D4D4D4D4D4D5D5D5D6D6D6D6D7D7D7D7D8D8D8D9D9D9DADADBDBDBDCDCDCDDDDDEDEDEDFE0E0E0E1E1E2E2E2E3E4E4E4E5E5E6E6E7E7E7E8E9E9E9EAEAEBEBEBECECEDEDEEEEEFEFEFF0F0F0F1F2F2F2F3F3F3F4F4F4F5F5F5F5F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F7F7F7F7F6F6F5F5F5F4F4F4F3F3F3F2F2F1F1F0F0F0EFEFEEEEEEEDECECEBEBEBEAEAE9E9E9E8E7E7E6E6E6E5E5E4E4E3E2E2E2E1E1E0E0E0DFDEDEDDDDDDDCDCDBDBDBDAD9D9D9D8D8D8D7D7D7D6D6D6D5D5D4D4D4D3D3D3D3D2D2D2D2D2D1D1D1D0D0D0D0D0D0D0D0CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEBBA5A7AAAAABABACABACAEB5C8A79696979A9A9A9999969696999999979797969797999C9C9C9F9C9F9D9DA19F9D9D9D9D9D9F9D9C9D9D9D9D9F9F9F9C9C9C9F9F9F9FA19D9D9D9D9D9F9FA19D9D9F9D9D9D9FA2A2A5A5A5A5AAAAAAAAABABAAAAAAAAABA8A8A8A8A8A8A8A8A7AAAAAAAAABAAABAAACACACACAEB2B2AEACACACAAACACABACACACACACACACABACACB1B1B1B1B2B2B2B0B0B0B2B2B5B5B2B2B1B1AEB2B2B2B2B2B6B6B5B3B3B3B6B6B5B5B2B2B2B2B5B6B5B2B2B5B5B6B6B6B6B8BBB8B8B8BBBBB9B8B8BBB8B8B6B6B8B6B3B5B3B5B3B6B6B9B9B8B5B2B1AEACACACAEB1ACACAEAEAEAEACAAAAAAAAAAAAAAAAAAAAA7A7AAAAAAA8AAA8A5A5A5A5A5A8A8ABA8A8A5A5A3A3A1A1A19DA29D9F9F9C9F9F9D9D9C9C9A9A9A9C9C9C9A9797979797979A9797969394979796969496969392928F8F8E8C8C8988888C8D8D8D8F928F8F8F8F929392928F8F8F8F8F8F8E8E8E8E8D898989898989898987878784848484817E7C808081818181838381817E81818184848487868787878483817D7D8183817D7D7D7D7D7E7C7A7C7C7C7C7C7C7C7C7C7C7C808180818383848383838385878786898986868585858588858587878584848384858885858584848181848689898989898C8F8F8F8F8C8C8C8C8C8C8E8F8F8F8D89898786848483838687888C8E8E8C88898D89898988898D8D8F8F8E8D8E8E8F8F8E8F908F8F9293939393979793949394929390909390909093939090908F8F8F9393929292929293939693969693939393939390909093939497969696969696939390939696979797979A9794939393928F9292928F90908F908E8F8F8C89898C8C8C8C89898988898888888888878787878786868886888C89898C8C8888898C8F9090909090908F8F8E8F8E8E8C8C88888C89898988888C8989878786848585852001010101010101010101017DCECECFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFD0D0D0D0D0D0D0D0D1D1D1D2D2D2D2D2D3D3D3D3D4D4D4D5D5D6D6D6D7D7D7D8D8D8D9D9D9DADBDBDBDCDCDDDDDDDEDEDFDFE0E0E1E1E2E2E2E3E4E4E5E5E6E6E6E7E7E8E9E9E9EAEAEBEBEBECECEDEEEEEEEFEFF0F0F0F1F1F2F2F3F3F3F4F4F4F4F5F5F5F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8F8F8F7F7F7F7F6F6F5F5F5F4F4F4F3F3F2F2F2F1F1F0F0EFEFEFEEEEEDECECECEBEBEAEAE9E9E9E8E7E7E6E6E6E5E5E4E4E3E2E2E1E1E0E0E0DFDEDEDDDDDDDCDCDBDBDADAD9D9D8D8D7D7D7D6D6D6D5D4D4D4D3D3D3D2D2D2D2D1D0D0D0D0CFCFCFCFCFCECECECECECECDCDCDCDCDCDCDCDCDCDCCCCCCCCCCCCCCCCCCCCCCCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBBAA7A8AAABAAA7A3A8AAACB6C8ABA29E9C99999B9B9B9E9E9CA19C9B9A9A9C9B9B9B999999999797979796969497979796949292939090929292929294929090929294979799999A9A9A9C9C9C9B99999997979796969997979494979794979799969997949290908D8D8D90929290908F8D8D898C8C8D8D8D8D8D8D8D8F8D9090908D8D8F929293939090908F8D8C8C8C8C88888789888C8C8C8C898987878989848789898784838381817F7D7D7F7F837F8183817E818183868787878989878789898987878987888D8D8D8D909093939090939390949496979797979996969696969696999A9C9C9C9C9C9E9E9E9B9EA1A1A2A2A5A2A5A3A5A3A2A1A2A2A2A2A1A3A3A2A2A3A29E9E9EA2A1A1A19C9FA2A29F9F9C9C9A9A9C9E9E9E9E9E9E9C9C9A9C9E9E9FA2A2A3A2A2A3A3A2A1A2A3A2A2A29F9F9C9C9B9C9C9B9B9B9E9EA19EA1A19E9C9C9C9C9C9C9C9C9999979494949696969999999999999B9C9FA1A19F9C9FA19F9F9C9B999A9C9F9C9C9A9C9C9EA1A2A29FA19CA1A2A2A2A2A19F9E9C9C9B9999999999999999999799999797979999969794949696969497979796969694949497979799999699999494949499999A9B9C9F9F9F9C9C9C9A9A9C999996969697999B999A9C9A9B9C9E9E9E9C9E9E9E9E9C9C9C9C9C9C9E9E9C9CA19C9E9FA1A1A1A1A3A5A5A7A5A5A3A2A2A2A3A2A2A3A2A3A3A3A5A3A5A5A5A8A8A7A7A5A5A5A5A3A5A5A5A5A5A2A3A5A8A5A5A8A8A5A3A3A2A29F9C9B9999999999999794979999969493929292929294969694949499969697979996969696999697969694979794949494949492908F90909092929290939392949494929294928F908D909090908D8F8F90908F8F8F8D8F8D8D8D8F8D8D8D8F9090908D8D9092939497969696979999999A9C9B9C9F9C9C9A999996949392908F902501010101010101010101017BCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCECECECECECECFCFCFCFCFD0D0D0D0D1D1D2D2D2D3D3D3D4D4D4D5D6D6D6D7D7D7D8D8D9D9DADADBDBDCDCDCDDDDDEDEDFE0E0E0E1E1E2E2E3E4E4E5E5E5E6E6E7E7E8E9E9E9EAEAEBEBECECECEDEEEEEFEFEFF0F0F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F7F7F7F7F6F6F5F5F5F4F4F4F3F3F2F2F2F1F0F0F0EFEFEEEEEEEDECECEBEBEAEAEAE9E9E8E7E7E6E6E5E5E5E4E4E3E2E2E1E1E0E0DFDEDEDDDDDDDCDCDBDBDAD9D9D9D8D8D7D7D6D6D5D5D4D4D3D3D3D2D2D2D1D0D0D0CFCFCFCFCECECECDCDCDCDCDCCCCCBCBCBCBCBCACACACACACACACACACAC9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9BCAAA7A7AAAAA8A5A3A4A4ACC1A0929292908E8E90929292929292908E9090909090928F8D8F8F9292908D8B8B8E8F928F8F8D8E8B8E8D8F8F908E8E8D8E8E8D8E8E9090908F8E9092929492929092928F9090909090909290929492949494949493939492929092908E8E8E9092909090929494939093969797979794969696989B989696969896989B9B9B97989B9CA0A09C9B9B9E9E9E9EA0A2A29F9C9E9F9C9C9C9C9EA09F9F9E9CA09E9E9C9C9B9B9B9B97979B9B9898979797979898989898969797939693939696979697989898969697949290908F8E8F8F8F8F8F8F8B8F8D8B8B8B8B8B8F8F8F8F92908F8D8D8D8B8B898988898B8B8B8D8F8E8F8B8B8F9090909294949793939293939492949497979B9B9B9B9B9B9B989B9B9C9B989796969698979897979B9B9C9C9C9B9B9B9B9B9B9C9C9B9B9C9E9E9C9B9B9B9B9B9797979B97989896939496969696939393969692929292909090908F8F8D8D898D8D8D8D8D898A8A8A888585888989898586868989848181818181858481838180808081818180807C7C7C7D7D7D7C7B7B787878787A7876757574757572757777787878787B7C7C7C8080818185818181817C8080817D81838588898A8A8D8D8D898D8B8B8B8A8A8B8B8D8E8D8D8F90908E8D8D8D8D8D90909090929292939392969693939392949496979897989B989B9B9B9C9B9B9C9C9B9B9B9B9B9C9EA2A2A0A09C9B9B9B9C9C9C9B9B9794929292929093929294949494929494929292939393939090908E90908D90909090908D8E8E8E8F8F90929292929290908D8F8F8D8D8D8D89898D8F90929292908E8B8D8D8D898D8B8A89898988888A89898A898D8E8E8E8E8E8E90909392929292929397989B9B9B9B9B9B9C9C9C9C9C9B9C9B989898989897939292929496969797979B98989B9C9C9C9B9B9B9B2601010101010101010101017AC9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9CACACACACACACACACACACBCBCBCBCBCCCCCDCDCDCDCDCECECECECFCFCFD0D0D0D1D2D2D2D3D3D3D4D4D5D5D6D6D7D7D8D8D9D9D9DADBDBDCDCDDDDDDDEDEDFE0E0E1E1E2E2E3E4E4E5E5E5E6E6E7E7E8E9E9EAEAEAEBEBECECEDEEEEEEEFEFF0F0F0F1F2F2F2F3F3F3F4F4F4F5F5F6F6F7F7F7F7F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8F8F8F7F7F7F6F6F5F5F5F4F4F4F3F3F2F2F2F1F0F0F0EFEFEEEEEDECECECEBEBEAEAE9E9E8E7E7E7E6E6E5E5E4E4E3E2E2E1E1E0E0DFDEDEDDDDDCDCDBDBDAD9D9D8D8D8D7D7D6D6D5D4D4D3D3D3D2D2D1D0D0D0CFCFCFCECECECDCDCDCCCBCBCBCBCACACACAC9C9C9C9C9C8C8C7C7C7C7C7C7C7C7C7C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5B9A7A8A5A5A5A5A7A8A8A8B2C0A293909290909292949294969696929293928F8D8D8C8B8C8C8C8C8C8C888C8988888888888C8C8C8C8F8E8C898989888888888688888888898C8B8C88888C8E8D8D8F92929390908F9090928F92929393979897989897979697979A979693929292969396939497979A9A9A9898989797979A9A98979A9B9B9A9797979797949393979396969290929292929290909092928F8F8F8F8D8D8D8D8C8C898988898989898988878787868181868484848183838484817F7F7F7F7F81817F807F7C7C7C7D7F7F7C7C7A7A7A7B7B7B7A787876767676777674727271727270727575767676767878787A7C7C7D7F817F7F7F7D7A7C7C7D7B7D808186848787898989888988888887878888898B89898C8E8D8B89898989898D8D8D8D8F8F8F90908F92929090908F9292929396939698969798989A98979A9A97979798989A9B9E9E9D9D9B9898989B9B9B989794928F8F8F8F8E908F8F929292928F92928F8F8F909090908E8E8E8B8E8D898D8D8E8E8D898B8B8B8C8C8D8F8F8F8F8F8D8D898C8C898989898888898C8D8F8F8F8E8B888989898889888784848486868788888788898B8B8B8B8B8B8D8E908F8F8F8F8F9093969897979798989A9A9A9B9A989B98969696969693908F8F8F929292949494979696979B9A9A989797989798989A979A9A9C9A979A9796969696969392929090929697979A979A9A9B9C9C9C9B9C9B9B9B9B9C9C9D9B9B98989A9C9A9B989B9797979A9797949496939090908F8E8E8E8D8C8C8E8F928F8F8E909292929393939390929292939393929290929090909292928F929090909396979A979797979797989697979797979696989898989798989B9B9D9D9B9D9D9D9D9D9B9D9C9B9B9C9B9E9B9E9E9E9EA09EA09E9C9E9E9D9D9C9C9B9B9B9C9C9B9A9A9B9B9A9A9726010101010101010101010178C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C7C7C7C7C7C7C7C7C7C8C8C8C9C9C9C9CACACACACBCBCBCBCCCDCDCDCDCECECFCFCFD0D0D0D1D2D2D3D3D3D4D4D5D6D6D7D7D7D8D8D9D9DADBDBDCDCDDDDDEDEDFE0E0E1E1E2E2E3E4E4E5E5E5E6E6E7E7E8E9E9EAEAEBEBECECECEDEEEEEFEFF0F0F0F1F2F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F8F8F8F8F7F7F7F6F6F5F5F5F4F4F4F3F3F2F2F2F1F0F0F0EFEFEEEEEDECECEBEBEBEAEAE9E9E8E7E7E6E6E5E5E4E4E3E2E2E1E1E0E0DFDEDEDDDDDCDCDBDBDAD9D9D8D8D7D7D6D6D5D4D4D3D3D2D2D1D0D0D0CFCFCECECDCDCDCCCBCBCBCACACAC9C9C9C8C8C7C7C7C7C6C6C6C6C6C5C5C5C5C5C5C4C4C4C4C4C4C4C4C4C4C3C3C3C3C3C3C3C3C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B9A7A7A5A3A5A49FA1A19FA5B99B8988888C8D8F8D8D8C8D909090909090908D8F8F8F90909090908D8F8D8D8D908F8F8D8F8D8D8D909393979494949393949693949494949493939696969693969699999B9B999B9B9B9B9B999B9B99979B999B999B9B9B9B9C9B9C9C9B9C9C9B9B9B9B9797979B9B9997979797979793969797939796999B9797949494969699999B9B9B9B9B999B9B9996969693939394939392929290909090908D8D8C8C89878787888888888986868989898989898C888989898988888988878484818381848585848585858788898989858989898C8889898889858788888989878785858181817E7E7E7C7C7C7A787B7B7D7E81808081807E80818383817E7E817E7E7E808184848686858585838080818484817E7E7E7C7C7B7E7E7D7E81818181838383818181838180818383838583807E7E808080807D7D807E7E808181817E7E7E7E81848589898787888784878784848784818181818181838181818081818386868385858586868484818485838385868686868686888687888888888787878784848181848688888888898C8887898986878988888C8D8989898989898D8C89898D8F8F8D8D8D8C8C898C8D8D8C8D909090909292949493939090908F8D8F8C8F8F90908D9090928F8D8D8D8D8D908D8D908D8C8D8D8D8D8D8D898D8D8D8F8D898C8C8C888C8C8D8D898C8C8D8D8D8C8C8D90909092939293908D8D8D8D8D8D8C888686888C8989868786868787888889898C8C88888888878787888C8C8C8C88898C8C8D8C8888888C8C8D8F9090909093909093939394949393908D8D90909090908F9293949794979797999797979797979797979797999999999B9B9C9FA1A3A5A5A7A8ABABABABABACACACACAEACA8ACA8A8ABA7A7A7A8A8A5A8ABABABA8A8A8ABACACA8ABABA8A8ABA8A7A7A729010101010101010101010175C2C2C2C2C2C2C2C3C3C3C3C3C3C3C3C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C5C5C6C6C6C6C7C7C7C7C8C8C9C9C9CACACACBCBCBCCCDCDCDCECECFCFD0D0D0D1D2D2D3D3D4D4D5D6D6D7D7D8D8D8D9D9DADBDBDCDDDDDEDEDFE0E0E1E1E2E2E3E4E4E5E5E6E6E7E7E8E9E9EAEAEAEBEBECECEDEEEEEFEFF0F0F0F1F2F2F2F3F3F4F4F4F5F5F5F6F6F7F7F7F8F8F8F8F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8F8F7F7F7F7F6F5F5F5F4F4F4F3F3F2F2F2F1F0F0F0EFEFEEEEEDECECEBEBEAEAE9E9E8E7E7E6E6E5E5E4E4E3E2E2E1E1E0E0DFDEDEDDDDDCDBDBDAD9D9D8D8D7D7D6D6D5D4D4D3D3D2D2D1D0D0CFCFCECECDCDCDCCCBCBCACACAC9C9C8C8C7C7C7C6C6C6C5C5C5C4C4C4C4C3C3C3C2C2C2C2C2C2C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBCB6B6B6B6B9B8B6B6B6B6BFC4B0A7A5A5A4A4A2A4A4A4A4A5A8A8A7A7A7A7A8A8A7A7A5A5A5A5A7A8A7A5A5A7A7A8A8A8A8AAACAAAAAAACACABAAAAACAAAAA8A8AAA8A7A7A7A7A7A8A8ABABAAA7A5A4A29F9F9FA2A4A19FA2A2A2A29F9C9C9C9C9C9C9C9C9C9C9B9B9C9C9E9C9E9C9B9B9B9B9B9C9C9D9C9C9B9B97979494949296929393909393929290908E8E8E9090908E8B8B8B8B8B8B8E8B8B8A87888B8B8A8A888A8A89868682828180807D7C7C808181818286828282828689868682828282828281818181817E7E7E7E7E7E7D7D7C7C7C7878787877757276767777777778787676757677777878787C7B7C7C7C78787674747678767474747474757270727272727272727272727276777676787878787878787A7C7C7B7D7D7B7B7A7A7A7A7C7A7A7C7C7A787878787A7C7A7A7A78787777787B7D7D7D7D7D808282828280808080808081828282817E7E7C7B787878787B7C7C808181807C7E817E7E7E7C7E81818282818181818282818284828286878787898B8B89888988868784848784848487878484848282828787868686868689898A898A8A8989878989898484848989888B8A8A8A8A8A8A878784878A8A8B8B8B8B8E8B8889878786828686868284848284818282807D7D808080807D7E7E7C7E7C7C7C7C7C7C7C7C7C7C7B7B7C7B7C807D7D80807C7C7D808284848484848482828182818180807C7C807E7D7E7C7C807E7E7C7C7B787A7A7A7C7C7C7D7D8181817D7D8081848184878A8A8A898B8B8B8B8E8D8D8E8D8D8D8D8D908E8E8B8E8B8B8A8A8B8B8B8B8B8B8A898482848482828286868284848484878987848481817E7E7E818181828486828688888B8B8B8B888B8B8B8B888B8B8E909092929292908D908D8D8B8B8B8B8B8A8B8A87848484878787888686848484898A8A8D8F8F908F9090929625010101010101010101010174C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C1C1C1C2C2C2C2C2C2C2C3C3C4C4C4C4C5C5C5C6C6C6C7C7C7C8C8C9C9CACACACBCBCCCDCDCDCECECFCFD0D0D1D2D2D3D3D4D4D5D6D6D7D7D8D8D9D9DADBDBDCDCDDDEDEDFE0E0E1E1E2E2E3E4E4E5E5E6E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F0F1F2F2F2F3F3F4F4F4F5F5F5F6F7F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F8F8F8F8F7F7F7F6F6F5F5F4F4F4F3F3F3F2F2F1F0F0F0EFEFEEEEEDECECEBEBEAEAE9E9E8E7E7E6E6E5E5E4E4E2E2E1E1E0E0DFDEDEDDDDDCDBDBDAD9D9D8D8D7D7D6D5D4D4D3D3D2D2D1D0D0CFCFCECECDCDCCCBCBCACACAC9C9C8C7C7C6C6C6C5C5C5C4C4C4C3C2C2C2C1C1C1C1C0C0C0C0C0BFBFBFBFBFBFBFBEBEBEBEBDBDBDBDBDBDBDBDBDBDBDBDBDBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB1A2A5A49F9F9F9F9F9E9CA2B5968A8B8B8D8D8D908D8D90939292909090908F909092909292949290928F8D8D8D8D8D8D8A8B88888B8D9090928F929293949494939493939393949496939390909294929390939090909290908D8D8D8D8888888886868686848486888A888886888B8B8B8D8D8D8D888A8A8A8D8D8D8B8B888A8888888B8A8A888A8888888D8D8F929090908F8F90908D90909090908D8D909090908F9090939396969396969696969396949393949396939696969698969897949797969694949393939494939292939392928F9093928F929093949392909090909093939696969696939696939090908F8F8F908D8D8D8D8D8D8D8D8D8D888887878681818184848484838181838383838383868483868683848486848180807D7E7D80818180818181818483868381838686868486838483818184848686818181817D7C7C7A7A7A77777777757676787A7C7B7B7C7B7A7B7D7E7E7C7A7A7C7A7A7A7B7C808081818181817E7B7B7D80807C797979777776797A787A7C7C7C7D7E7E7E7C7C7D7E7C7B7C7E7E7E817E7B7A7A7B7B7B7B78787B7A7A7B7D7D7C7A7A7A7A7C8081838381818481808181808081807C7C7C7D7C7C7E7D7C7D7B7C7C7E81817E818181818180807D80817E7E81818181818181848181848484848181818180807D7D8081848484848687848183838181868484868886868683838688878686888A8A88888887868687888887888B8B8B8B8D8D90908D8D8D8B8B8A888A878A8A8D8D888D8D8D8A88888888888B88888B8887888888888888868888888A888687878784878688888686868888888687888D8D8B8D8D8D8D8D88888888888886848181848683838181818181818484838386868484848481818184868686868486868788878484848787888A8D8D8D8D8D8B8B8D8D8D909023010101010101010101010172BCBCBCBCBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEBEBFBFBFBFBFBFBFC0C0C0C0C0C1C1C1C1C2C2C2C3C4C4C4C5C5C5C6C6C6C7C7C8C9C9C9CACACBCBCCCDCDCECECFCFD0D0D1D2D2D3D3D4D4D5D6D7D7D8D8D9D9DADBDBDCDDDDDEDEDFE0E0E1E1E2E2E3E4E5E5E6E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F0F1F2F2F3F3F3F4F4F4F5F5F6F6F7F7F7F8F8F8F8F9F9F9FAFAFAFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8F8F7F7F7F7F6F5F5F5F4F4F3F3F3F2F2F1F1F0F0EFEFEEEEEDECECEBEBEAEAE9E9E8E7E7E6E6E5E4E4E3E2E2E1E1E0DFDEDEDDDDDCDCDBDAD9D9D8D8D7D6D6D5D4D4D3D3D2D1D0D0CFCFCECECDCDCCCBCBCACAC9C9C8C7C7C6C6C6C5C5C4C4C3C3C2C2C1C1C1C0C0C0BFBFBFBEBEBDBDBDBDBDBCBCBCBCBCBCBBBBBBBBBBBBBBBBBABABABABABAB9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9A4908F928F8E8D8C8D8E8E97A88B7D7E808181818181818383868484848486868A8B8D8D8D8D8D8D8F8F8F908F8D908D8B8B8B8B8B8A868686868788888989898D8B8B8D908F8F8D8D8D8D8D8D8D8F8D8F8F928F8D8F8D8B8B8B8B8B8A87888686888B8D8D8F8D8F8F9092929290929090909092929290908D8D8F928F908D908D8D8D8F8D8D89898B8A86868686838383838181838687868683868888888A8A8A8A868787878A8A8A8888868786868688878786878686868A8B8D8F8D8D8D8D8D8D8D8B8D8D8D8D8D8B8B8D8D8D8D8D8D8D909092929092929292929092929090929093909393939396939694929494929292929090909292908F8F90908F8F8D8D908F8D8F8D9092908F8D8D8D8D8D90909292929292909392908D8D8D8D8D8D8D8B8B8989898A8A8A8A8A868684848380808081818181817E7E81818181818183818183838181818381807D7D7B7C7B7D7E7E7D7E7E7E80818183817E8183838381838181817E808181838380807E7E7B7A7A7777777575757572767676777A78787A7877787B7C7C7A77777A777777787A7D7D7E7E7E7E7E7C78787B7D7D7A777777757576777776777A7A7A7B7C7C7C7A7A7B7C7A787A7C7C7C7E7C787777787878787676787777787B7B7A777777777A7D7E8181808081807D80807D7D807D7A7A7A7B7A7A7C7B7A7B787A7A7C7E7E7C7E7E7E7E7E7D7D7B7D7E7C7C7E7E7E7E7E7E7E817E8081818181808080807D7D7B7B7D7E818181818384818081817E8083818183868383838181838684838386878786868684838384868684868888888889898D8D8B8B8A88888786878487878A8A868A8A898786868686868886868886848686868686868386868687868384848481848386868383838686868384868A8A88898B898B8A86868686868683817E7E818381817E807E7E801E010101010101010101010170B9B9B9B9B9B9B9B9B9B9B9B9BABABABABABABBBBBBBBBBBBBBBBBBBCBCBCBCBCBDBDBDBDBDBEBEBFBFBFC0C0C0C1C1C1C2C2C3C3C4C4C5C5C6C6C6C7C7C8C9C9CACACBCBCCCDCDCECECFCFD0D0D1D2D2D3D4D4D5D6D6D7D8D8D9D9DADBDCDCDDDDDEDEDFE0E0E1E2E2E3E4E4E5E6E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F1F1F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8F8F7F7F7F6F6F5F5F4F4F4F3F3F2F2F2F1F0F0EFEFEEEEEDECECEBEBEAEAE9E9E8E7E7E6E5E5E4E4E3E2E1E1E0E0DFDEDDDDDCDCDBDBD9D9D8D8D7D6D6D5D4D4D3D2D2D1D0D0CFCECECDCDCCCBCBCACAC9C9C8C7C7C6C6C5C5C4C4C3C2C2C2C1C1C0C0C0BFBFBEBEBDBDBDBCBCBCBBBBBBBABAB9B9B9B9B9B9B8B8B8B8B8B8B8B8B7B7B7B7B7B7B7B7B7B7B7B7B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6A6949292929090929293939BB08F8080818183868687878888888B8B8B8A89898986868684848786868383868683868689848986838180807C7C7C80818180807E7B7B7A7B7B7D7D7B7D7D7D7D7E7D8080817D7D7E818181818181817E7C7B7B7B7B78787777787B7B7B7B777A7777777776777A7A777675757373706F6F707074707374726F727275767777777777777777777777777A77787B7D7D7D80808181808081818183838486868686898484848484848487888B8B8B8B8B8D8D8D8A8D8F8F9090939093929390908F8F8F90908F90908F8F908F8D8D8D8F8F8F8F8C8E8F8F8E8E8C8C88888B8D8D8D8D8D8D8C8C888C8D8D8E90909290909292908F90908F8F8F8E8E8B8B8A8C8C8A8A8A8D8D8F8D8F8F8D8B8B8B8B8B8B8B8B8989868383838484848989898989898A8C8E8F8F8E8C8E8F8E8E8C8A89888B8E8B8B888B8B8D8F8F8F8E8F8C8F9090908F8F8E8D8C8C8A898989898989898989868989868686898984868383848484838686868484848383838686868987848787838383838787888A8C8E8E8E8B8B8B88888B898984848486898A87888B888A8C8D8D8D8B8D8D8D8D8C8C8C8C8C8C8D8D8C8C8F8C8D8E8F8F8F8F90939394939392909090908F8F928F90909294929494949696949494949494909393939393909094969494969694909090908E8C8A8989898989878683868787848381818181818183848483838387848486868784848484878486848483868683838383838381807E81818081818181818181838383818183817E817D818180807D7E7E81807E7E7E7B7E7B7B7B7E7B7B7B7E8181807D7D808181838684848486878787888C8A8C8E8B8B88878784838181807E8183818181818181818183838484878484878484848181838686868484818181848484838383818383848988888C888C8A2101010101010101010101016EB6B6B6B6B6B6B6B6B6B7B7B7B7B7B7B7B7B7B7B7B7B8B8B8B8B8B8B8B9B9B9B9B9B9BABABBBBBBBCBCBCBDBDBDBEBEBFBFC0C0C0C1C1C2C2C2C3C4C4C5C5C6C6C6C7C8C9C9CACACBCBCCCDCDCECECFD0D0D1D2D2D3D3D4D5D6D6D7D8D8D9D9DBDBDCDCDDDDDEDFE0E0E1E1E2E3E4E4E5E5E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F1F2F2F2F3F3F4F4F4F5F5F5F6F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F8F8F8F8F7F7F7F6F5F5F5F4F4F3F3F3F2F2F1F0F0EFEFEEEEEDECECEBEBEAEAE9E9E8E7E7E6E5E5E4E4E2E2E1E1E0DFDEDEDDDDDCDBDBDAD9D8D8D7D6D6D5D4D4D3D2D2D1D0CFCFCECECDCCCBCBCACAC9C9C8C7C7C6C5C5C4C4C3C2C2C1C1C1C0C0BFBFBEBEBDBDBCBCBCBBBBBABAB9B9B9B8B8B8B7B7B7B7B6B6B6B6B6B6B5B5B5B5B4B4B4B4B4B4B4B4B4B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D898C89898C8C8C8D8D8D96AA8C7C7B7B7B7B7B7E7E7E7E81818181818183838181818181818384868486898687898989898989898787878989898C8E8F8E8E8C8989898C8C8C89878681818181817E81808081818181818181818181818181817E7E7E7C7E7E7B7E7E7E7E7E7B7C7C7C7D7D7E80808081817E7E7B7D7D7B7B7B7B78787B7D7E8081817E7C7A7B7B7B787B7A78767676777778787878787B7C7C7C7C7C7C7E7E8180808080818184868987878789898989898C89898C8986868686868481818181818383868686898686898C898989898989878989898989898D898989878686868686848183818183868989898789898C8D8D8D8C8D8C8C8C8C8D8D8E8C8C8989898D898C898C89898989898986868684818181817E7E7E7E7D7D7E818181817E81838383848484848181818184848483838181818181838181818181818184868789898989878789898689898989898686898989898789898C8C8E8E8C8E8E8E8E8E8C8E8D8C8C8D8C8E8C8E8E8E8E908E908F8D8F8F8E8E8D8D8C8C8C8D8D8C89898C8C898987898C898789898C8D8C8989898989898C8C8E8E8E8E8E8C8E8E8C8989898787878986868686868484848484818180807E7B7B7B7D7D7D7D7C7A7A7C7C7C7C7C7C7E7D7C7E7E7C7D7D7E7D7B7878767776787878787878787B7D7C7E7C787C7E7E7E7D7E7C7D7C787B7D7D7E7E7B7B7878767575757575727272706E717172757575757575757576777775757575757575757578787A7A78787877757576787875747474727271747572757575757677777775757677757575777777787775757575757575727275757575767675757575757578787C7C7B7B7D7B787B7B78787B7875757576757577767576757575777A7A777878787A7A78787678787777787A7A7A7A7A7A7D7A7B7D7D7D7D7B7B7B1D01010101010101010101016CB3B3B3B3B3B3B3B3B3B3B3B3B3B4B4B4B4B4B4B4B4B4B4B5B5B5B5B6B6B6B6B6B6B7B7B7B7B8B8B8B9B9B9BABABBBBBCBCBCBDBDBDBEBFBFC0C0C1C1C1C2C2C3C4C4C5C5C6C6C7C8C9C9CACACBCBCCCDCECECFCFD0D1D2D2D3D3D4D5D6D6D7D8D8D9DADBDBDCDCDDDEDEDFE0E1E1E2E2E4E4E5E5E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F1F2F2F3F3F3F4F4F5F5F5F6F7F7F7F8F8F8F8F9F9F9FAFAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8F8F8F7F7F7F6F6F5F5F4F4F4F3F3F2F2F2F1F0F0EFEFEEEEEDECEBEBEAEAE9E9E8E7E7E6E5E5E4E3E2E2E1E1E0DFDEDEDDDCDCDBDAD9D9D8D7D7D6D5D4D4D3D2D2D1D0CFCFCECDCDCCCBCBCAC9C9C8C7C7C6C6C5C4C4C3C2C2C1C1C0C0BFBFBEBDBDBCBCBCBBBBBAB9B9B9B8B8B8B7B7B7B6B6B6B5B4B4B4B4B3B3B3B3B3B3B2B2B2B2B2B2B2B1B1B1B1B1B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0A6979797949497939492929BAB8F8481828682848687878786878787878686868686868787868688868789888888888B8E8E8F8E8E8D8C8C8C8B89898D898B8B8D8F8D8F8F8F90908F8F8F8F8F8F8B8E8E8E8E8E8C8B8F908F8F90908F8B8B8C8C898684828282828281817E818181807E7D7C7C7C7C7C7E80807E7E7E8180808181818080808081808180807E81817E7E7E7E7E7E7C7B787C7C7B7C7C7C7C7D7D7C7E7E7E7C7C7E7C787C787C7C7B7B7878787C7B787878767876767678767676787C7C7B78787B7C7D7E818080808181818182868486898686828181807E7D7C7B787C7E7D7D7C7C7C7C7C7C7E7E8080818080818080807D7D7E81818180807D7D7D8080807E7E7E7D7E7E8082828286828684848786848486868686868284848484868686828282868686868786868684848686878686868486868688888C8B8B8D8F908F9092928F90908F928F8F8F8F8F8F8F8F8E908F8F8F928F9290929292929497979492929290929292929292929292929292929696969697979794949497989B9B989896969497979797989B9B9B9999999B9B9B9B989898989B9B9B98989B9B9B9B9B9B9C9E9C9C9C9E9E9D9C9C9E9C9C9B9B9C9B999B999B999B9B9D9D9C9B9796949292929496929294949494928F8F8F8F8F8F8F8F8F8F8E8E8F8F908F908F8D8D8D8D8D8F8F928F8F8D8D8989878787868986868682868686868282818181828282817E7E7E7E7E7E817E7E7D7B7C7E7E7D7D7C7D7D7C7878777777757572727275757575767876767676787C7878767676767676777777777574747474747472727272726F6F6F6F6D69676A6A6D6D6D6D6E6E6B6B696B6D6D6F6F6F72707272726F6E6B69696B6E6B696969696969676767676767676767676767676A6D6A6B6E6E6F6E6E6E6E6F727270727270706F6F6F6F726F6F1A01010101010101010101016BB0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B2B2B2B2B2B2B2B3B3B3B3B3B3B4B4B4B4B5B6B6B6B6B7B7B8B8B8B9B9B9BABBBBBCBCBCBDBDBEBFBFC0C0C1C1C2C2C3C4C4C5C6C6C7C7C8C9C9CACBCBCCCDCDCECFCFD0D1D2D2D3D4D4D5D6D7D7D8D9D9DADBDCDCDDDEDEDFE0E0E1E2E2E3E4E5E5E6E7E7E8E9E9EAEAEBEBECEDEEEEEFEFF0F0F1F1F2F2F3F3F4F4F4F5F5F6F6F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8F8F8F7F7F7F6F5F5F5F4F4F3F3F3F2F2F1F0F0EFEFEEEEEDECECEBEBEAE9E9E8E7E7E6E5E5E4E3E2E2E1E0E0DFDEDDDDDCDBDBDAD9D8D8D7D6D6D4D4D3D3D2D1D0CFCFCECDCDCCCBCACAC9C9C7C7C6C6C5C5C4C4C2C2C1C1C0C0BFBFBDBDBCBCBBBBBBBAB9B9B8B8B8B7B7B6B6B6B5B4B4B4B3B3B3B2B2B2B1B1B0B0B0B0B0AFAFAFAFAFAFAFAEAEAEAEAEAEAEAEAEAEADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAD9C8C8A8B8A8B8B8C888C8E96A7887D80807E7E8181818486828382828181807D7D7B7A78787877777775757575757575757577757272727275727272726F72727575757474727272727575757475757575757275757777777775727272706E6E6E6E6F7272726F727272726F6F6F6F6E6E6E6F6E6E6E6E6E6E6E6E6B6D6D6F7070727475777777787B787878777575777777757574747575757575777575777878787B787B7B7C7B7C7D8080808080808181818181818182828181818181818181838484838286868787888B8B88888888888B8B8E8E8E8C8D8B8B8D8D8C8E8C8D8D8E8C8C8A88888888888A8B8A888B8D8F8E8F8E8E8B8E8E8E8F909093939393949494949492929392908E908E8D8D8D8C8A8A8A8887848286868786868787828487848481818181818080807D7D7D7D7D7B7B7A7B7B7B7B7B787878787B7878787A7A7B7B7B787B7B7D8081807D7E7C7C7E818080808081818183838382868686828181807D7D7B78787B7B7A7B7B7B7B7B7C7B7B7B7D7B7B7C7E81817E807D7E7E808080807D7D7D7D7D807C808181808180808080817D817E7C7C7C7B7C7C808181817D81817D7D818181818181817E7E8181807D7B787777777878787A7A7A7A7A7877777778787B7B7B7C7E7E7E7E81818181838286868686848483838381818282868686868384848487888B8B888A8A888788888A8888888A8C8C8E8F8D8B8D8C8C8888888C8D8A8A8A8886868282828486868884848788888B8D8D8B8C8C8C8A88888784838686878782818284828181807D7D7B7D7E7E7C7B7A7A7A7878787878787877777777757475777577757575727274707074706F6E6F6E6E6B69696767696B6B6D6A6A6A6A6A6B6B6B6E6F6F6F6F6F6F6D6D6D6D6E6E6F6D6D6B6B6B6D6B6B6B6D6F6D6D6D6D6D6D6B696B6B6D6A6B6D6A6D6E6E6E1A010101010101010101010169ADADADADADADADADADADADADADADAEAEAEAEAEAEAEAEAEAFAFAFAFAFAFAFB0B0B0B0B0B1B1B2B2B2B3B3B3B4B4B4B5B6B6B6B7B7B7B8B8B9B9BABBBBBBBCBCBDBDBEBFC0C0C1C1C2C2C3C4C5C5C6C6C7C7C9C9CACACBCCCDCDCECFCFD0D1D2D2D3D4D4D6D6D7D8D8D9DADBDBDCDDDDDEDFE0E0E1E2E2E3E4E5E5E6E7E7E8E9E9EAEAEBECECEDEEEEEFEFF0F0F1F2F2F3F3F3F4F4F5F5F5F6F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8F8F8F7F7F7F6F5F5F5F4F4F3F3F2F2F1F0F0EFEFEEEEEDECECEBEBEAEAE9E8E7E7E6E5E5E4E4E2E2E1E0E0DFDEDDDDDCDBDBD9D9D8D7D7D6D5D4D3D3D2D1D0D0CFCECECDCCCBCACAC9C9C7C7C6C5C5C4C4C3C2C2C1C0C0BFBFBEBDBCBCBBBBBAB9B9B8B8B7B7B6B6B6B5B4B4B3B3B3B2B2B2B1B0B0B0AFAFAFAEAEAEAEADADADADADADACACACABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA91787B7B787B7C7B7B7B7B7E8F756A6B6B69696767676767676765656464646464646160605F60605E606161646464646565656769696A6B6E6B6B6B6A6769696A676A6D6E7270727275757572757474747272747475757575777776757575757575767676767878787A7A787C7C7A7A7A787B7B7C7D7E7D7E817E7F818181818081817F7F7F818181838687868683818181838383817F7D7B78787878777A78787B7B7B7B787B7B7878787A7A7A7A777777757776757676777776757575757777767878787878767675777775757575727275777678787877757475757572757472707070727272727272727575757575757576777A78787878787A7D7E817F7F7F818181818183818183817E7E7E7E7E7D7A7878787B7C7C7D7D7D807E7E80838181818080817F818181808181848180817F7E7E7E7E7E7D7B7C7A7A7C7E8080817F818183848484838483838383848486838381818184818381838080808180807D7D7E7D7A7A7A7877777776777777787B7878777A7C7C7C7D7D7D7D7A7B7B7B7D7D7D7C7C7A7B7A7A7A7C7B7B787B7A7A7A7D7E7F818080807F7F80817E80808080807E7E818181817F8181838386868386868686868386848383848386838686868689868987848787868684848383838484838181838381817F8183817F818183848381808080818183838686868686838686838181817F7F7F807E7E7D7D7D7D7D7D7D7D7A7878787675757577777777757474757575757575777775767675777776777572727072707272727272727275777576757275767677777675777572757777767675757272706F6F6D6D6D6A6A6A69676A6A6B6D6F6E6E6F6E6D6E7072726F6D6D6F6D6D6D6E6F72727474727272726E6E7072726F6D6D6D6A6A6A6D6D6B6D6F6F6F707272726F6F70726F6E6F72727272726E6D6D6E1A010101010101010101010167AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABABACACACADADADADADADAEAEAEAEAFAFAFB0B0B0B1B2B2B2B3B3B3B4B4B5B6B6B6B7B7B8B8B9B9BABBBBBCBCBDBDBFBFC0C0C1C1C2C3C4C4C5C5C6C7C7C8C9CACACBCCCDCDCECFD0D0D1D2D3D3D4D5D6D7D7D8D9D9DBDBDCDDDDDEDFE0E0E1E2E2E3E4E5E5E6E7E7E8E9EAEAEBEBECECEDEEEEEFEFF0F0F1F2F2F3F3F4F4F5F5F5F6F7F7F7F8F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F8F7F7F7F6F5F5F4F4F4F3F3F2F2F1F0F0EFEFEEEEEDECEBEBEAEAE9E9E7E7E6E6E5E4E4E2E2E1E0E0DFDEDDDDDCDBDAD9D9D8D7D6D6D5D4D3D2D2D1D0CFCECECDCCCBCBCAC9C9C7C7C6C5C5C4C3C2C2C1C1C0BFBFBEBDBDBCBBBBBAB9B9B8B8B7B6B6B5B5B4B4B3B3B2B2B2B1B0B0AFAFAFAEAEAEADADADACACABABABABAAAAAAAAA9A9A9A9A9A9A9A8A8A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A7A7A7A7A7A7A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A68E797C7E7C7E7C7B7C7C798193786F6F6F72727474747070747576767674767675726F6F727275726F7275757574747472727070707070747475767676747470727272726F726F6F6D6B6E706E6E6E6E6F6E70727272726F6F6F6F706F707272706F6D6F6F6F72726F6F6F706F6F6F6F6F6F6D6C6A6A6765676767676765656464636361616163636464636364656564636361636164656765646564636363615F5F635F636161646567676768686A67676A676A6A6A6A69676769696C6B6E706F6F6F6F7272707472726F6F6F726F6F6F72747476747476767674767676767679787A7A7C7C7C8081818381838384868383838181838689868684848484878786898786878987878989898987868683868687868787878989898989878989898989878683838686868686898687878989868689868784838383848481838183818180807C7C7B7B7878787A78787675767575747275726F727272727275757675757676767876787876767676767575767878787A7A78787A7A7876757575757676767676757272757676767676767572757575757576747274747676757270707274767474727270727274747572727272727272727575757472757676787676757676747575757575757675767876787878787876767876767576757272727576757575767878767576787A7A7A7A787878787B7C7B7878787B787B7C7C7C797B7D808181807D7D8181818181838381808181807E807E8181818181808181817E7E7C7C7D7C7A7A7C7C7B7B797979797B7B7B7B7B7879797678767678787A787A7B7B7B78787978767575747274747474747470747270707070707474747476757472727270706F6F6E6F707070727472747070747575757678787976767676767876787879797C7D7C7D7D7C7C7B7C7C7E7C7B797878787B797B797A1E010101010101010101010165A7A7A7A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A8A9A9A9A9A9A9A9AAAAAAAAABABABABACACADADADAEAEAEAFAFAFB0B0B1B1B2B2B3B3B4B4B4B5B6B6B7B7B8B9B9BABBBBBCBCBDBEBFBFC0C1C1C2C2C3C4C5C5C6C7C7C9C9CACACBCCCDCECECFD0D1D2D2D3D4D4D6D6D7D8D9D9DADBDCDDDDDEDFE0E0E1E2E2E4E4E5E6E6E7E7E9E9EAEAEBEBECEDEEEEEFEFF0F0F1F2F2F3F3F4F4F4F5F5F6F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F6F5F5F4F4F3F3F3F2F2F1F0F0EFEFEEEDECECEBEBEAE9E9E8E7E6E6E5E4E4E3E2E1E1E0DFDEDDDDDCDBDAD9D8D8D7D6D6D4D4D3D2D2D0D0CFCECDCDCBCBCAC9C9C8C7C6C5C5C4C3C2C2C1C0C0BFBFBDBDBCBCBBBAB9B9B8B8B7B6B6B5B4B4B3B3B2B2B1B0B0B0AFAFAEAEADADADACABABABAAAAAAA9A9A9A9A8A8A8A8A7A7A7A6A6A6A6A6A5A5A5A5A5A5A5A5A5A5A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A496888886848585848588868E9F8274757575757575727575757675727474747274737575727373757575737476777776787878787776757675757673726F6F727370706F6F6F6F6F6F727270707373727272726F6F6F727373737372727374767472727274747676777777777876767878787B7B7878767676777777777676787A7B7D7B7D7D7D7E7D7D7D7D7D7C7C7D7D7D7D7E7E7E7E80818284868888898C8E8F8F8F8F8F9090909092908E908E8E8F8C8C8C8D8D898D8F8F8F8D8D8D8F90908E8F8F8E8E8F8D8C8C8C8C8C898C888888898988878786868887888C8C8C8D8C8C8D8C8888858384848484828383827F7F80808280807E7E7B7B7B7B7B7B7C7B7B787878787676767676767676767676767676767678777777777A7A7878787A7A7A787878787777787B7B7B7D7B7B787877787876767676767777787B7B7878787878787878787A7B7D8082817E7E7E808082838585858383838282828382808080808082808282828283848485858583858482818183838384848684848482828283838383838383848788888888888C8C8E8C8E8E908F9092909292908F8D8D8D8D8F8D8C8C8C8C8D8E8E8E8E8E8E8C8E8F8E8E8E8E8E8F8F8F8F8F8F909392929394979494929292949492939392929292909093909292939390908F8D89898989898D8D8D8C8C89898989888887848280807E7C7C7B7B7B7B78787777777676787A7A7878767575757272706F6E6D696969696969696B6B6B6B69676564646461616061616060616363636361616060605E6060605E5F5F5F61606163646565656567676967656565646565656564646363636565656567676765676767676769696B6D6A6A69696D6B6B6E6F6F72727270727476757676767473737272727476777A787778787B7A787A7A7878767877787677777778787A787B1D010101010101010101010163A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A6A6A6A6A6A6A7A7A8A8A8A8A9A9A9A9AAAAAAABABABACADADADAEAEAFAFAFB0B0B1B2B2B3B3B4B4B5B6B6B7B8B8B9B9BABBBCBCBDBDBEBFC0C0C1C2C2C3C4C5C5C6C7C7C9C9CACBCBCDCDCECFCFD0D1D2D3D4D4D6D6D7D8D8D9DADBDCDDDDDEDFE0E0E1E2E3E4E4E5E6E6E7E8E9E9EAEBEBECECEDEEEFEFF0F0F1F2F2F2F3F3F4F4F5F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F5F4F4F3F3F2F2F1F0F0EFEFEEEEEDECEBEBEAEAE9E8E7E7E6E5E5E4E3E2E1E1E0DFDEDDDDDCDBDAD9D8D8D7D6D5D4D4D3D2D1D0CFCFCECDCCCBCACAC9C8C7C6C6C5C4C3C2C2C1C0C0BFBEBDBDBCBBBBBAB9B8B8B7B7B6B5B4B4B3B3B2B2B1B0AFAFAFAEAEADADACABABABAAAAA9A9A9A8A8A8A7A7A6A6A6A6A5A5A5A5A4A4A4A4A4A3A3A3A2A2A2A2A2A2A2A2A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A18B7978787A7B797877797A8190776D6D6D6D6D6D6F6D6D6F6F6F6F6D6D6D6D6A6A69696A6D6F6F6F6F70726F6D6E6E6D6D706F6F71727070706E6E7072727070727474737373727170727373727375757575777778787777757575747374727474757573757577747373737373757373757372727272727272707272727472707272726F727172727071717272727172737575757777777775737273727273716F6D6D6F716E6E6D6D6D6D6D6D6F6F6E6E71716F6F6F6F6D6D6D6F717171716F70717273726F6F6F7272737475757575777575777777787877777573737575757575747777787B787B7B7B7C7B7B7B7B7B7A7A7B7B7B7B7C7C7C7C7D7E808183848688888B8D8D8D8D8C8E8E8E8E8F8E8B8E8B8B8C8888888A8A888A8D8D8C8A8A8A8D8E8E8B8D8D8B8B8D8A88888888888888878787888884838383838483868888888A88888A8887848181818181818081817E7C7C7D7D7E7D7D7C7C7878787878787A7878777777777575757373737373737375757375757477757575757777777777777777777777777575777878787B787877777577777573737375757577787877777777777777777777787B7D7E7E7C7C7C7D7D80818181818181817E8080817E7D7D7D7D7D807D7E7E7E7E818181818181818181807E7E8181818181838181817E7E80818181818181818183868687878688888B888B8B8E8C8E8F8E8F8F8E8C8A8A8A8A8C8A888888888A8B8B8B8B8B8B888B8D8B8B8B8B8B8C8C8C8C8D8D8E908F8F90909390908F8F8F90908F90908F8F8F8F8E8E908E8F8F90908E8E8C8A88888888888A8A8A88888888888886868381807D7D7C7A7A787878787777757575747577777777777472727270706E6D6B6A67676767676767696969696765646161615F5F5E5F5F5E5E5F606060605F5F5E5E5E5C5E5E5E5C5D16010101010101010101010162A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A3A3A3A4A4A4A4A4A5A5A5A5A6A6A6A6A7A7A8A8A8A9A9A9AAAAABABABACADADAEAEAFAFAFB0B0B1B2B3B3B4B4B5B6B7B7B8B8B9BABBBBBCBCBDBEBFC0C0C1C2C2C3C4C5C6C6C7C8C9CACACBCCCDCECECFD0D1D2D3D3D4D5D6D7D8D8D9DADBDCDDDDDEDFE0E1E1E2E3E4E5E5E6E7E7E8E9EAEAEBEBECEDEEEEEFEFF0F0F1F2F2F3F3F4F4F5F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F5F4F4F3F3F2F2F1F0F0EFEFEEEDECECEBEBEAE9E9E8E7E6E6E5E4E3E2E2E1E0DFDEDDDDDCDBDAD9D8D8D7D6D5D4D3D3D2D1D0CFCECECDCCCBCAC9C9C7C7C6C5C5C4C3C2C1C0C0BFBEBDBCBCBBBAB9B9B8B8B7B6B6B5B4B3B3B2B2B1B0AFAFAEAEADADACABABAAAAAAA9A9A8A8A8A7A6A6A6A5A5A5A4A4A4A3A3A2A2A2A2A1A1A1A1A1A0A0A0A0A0A0A09F9F9F9F9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9890909292929290908F8D96A1887D7D7D817E808082817E7E817D807D7B7B7B7D7D7B7B7B7C7B7B787876767575727272747272706E706E6E6D6B6E6B696B6B6B6B6B6E6E6F6E6E6F6F6F727072726F6F6F6F6F6E6E6F727272747472727474726F6E6E6E6E6F6F6F6F6F6E6B6B6E6F6F6F6F6F6F6E6B6E6E6E6E6E6F6D6A6D6D6F6F6E6A6A6A6B6D6F6D6D6A6B6A6B6A6D6D6E6B6B6A6B6B6A6B6B6E6E6E6D6B6E6F6F726F6F6E6F6F6D6E6E6E6E6E6E6F6E6F726F72727272727070726F6F6E6F6E6B6B6B6E6F6E6E6E6F7272706E70727474747472727272757675727272757275767676737576787B7B787676787878787B7B7B7A78787A78777877787B7A7A78787B7878777776767676747476767575737373737575757575727373707270707272747274757575727273726F6E6E6D6B6D6D6D6D6D6D6A6D6A6A6A6A6A6A6D6D6D6D6F6E6D6A6A6A6A6A696967696A6A6A6A6D6B6D6A6A6D6E6E6E6F72727370706F7070726F7272737376767676767676757676777675737272727573757374767677777776767676767677777676777878777676767676747373767375757270727272727270707072726F6F6F6F6E6E6E6E6D6D6A6A696A6A6A6A6A69686868676565676767676565656767646363636363656463646361616161636361615F5F5F5F5F5F5F5D5D5C5C5C5C5D5C5A585858585856585A5A5C5C5C5C5D5E5E5F6161616365636363615F6161615F616465676768686A6A6A696A6A6A6A68686A6A6A6B6A6A6D6E6E6B6A6A6A6A6A6E6E6E6E6F6F6F70706F72727070706F7272727375737576757676767776767777767676767677787B7C7B7B78767676787878767674726F6F6F6F6E706F6F727272726F72726F6F6F707070706E6E6E6B6E6E6A6E6E6E6E6E6A6B6B6B6D6D6E6F6F6F6F6F6E6E6A6D6D6A190101010101010101010101609E9E9E9E9E9E9E9E9E9E9F9F9F9F9F9F9F9F9F9F9F9FA0A0A0A0A0A0A0A1A1A1A1A1A2A2A2A2A3A3A4A4A4A5A5A5A6A6A6A7A8A8A8A9A9AAAAAAABABACADADAEAEAFAFB0B0B2B2B3B3B4B5B6B6B7B7B8B9B9BABBBCBCBDBEBFC0C0C1C2C2C4C4C5C6C7C7C9C9CACBCBCDCDCECFD0D1D2D3D3D4D5D6D7D8D8D9DADBDCDDDDDEDFE0E1E2E2E3E4E5E6E6E7E8E9E9EAEBEBECECEDEEEFEFF0F0F1F2F2F3F3F4F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F4F3F3F2F2F1F0F0EFEEEEEDECECEBEAEAE9E8E7E7E6E5E4E4E3E2E1E0E0DEDEDDDCDBDBD9D9D8D7D6D5D4D3D3D2D1D0CFCECDCDCBCBCAC9C8C7C6C6C5C4C3C2C1C1C0BFBEBDBCBCBBBAB9B9B8B7B7B6B5B4B4B3B2B2B1B0B0AFAEAEADADACABABAAAAA9A9A8A8A7A6A6A6A5A5A4A4A4A3A2A2A2A2A1A1A1A0A0A0A09F9F9F9F9E9E9E9D9D9D9D9D9D9D9C9C9C9C9C9C9C9C9C9C9C9C9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B9B88777777757777757675757B896E63636465696A6A6B6A6767696969676769676765656565656463636363616463636464646464676767676969696767656463656565656767676767696A6A6A6A6A6D6D6D6D6D6D6E6B6B6B6B6A6A6A6A6D6D6A6A696969696B6D6D6D6D6D6E70706E6D6D6D6D6A6B6B6B6B6D6A6D6E6E6E6D6E717170707272727577757475757272716E6E6D6B6A6A6A696969676765656567676765696564646464656464646461646465656565656464646465676565656567676564656769696969676464646361616161636464646364646464636363636161616361616161616161615F5F5F6163636465676969696A6D6A6A6A696767696969676765656565656767696767696A6A6A6D6A6D6D6E6D6E6E7171717171717272727272727275757272727272727272747575747577777676787A7A78787878787A7A7C7C7C7B7C7A7A7C7C7B7C7B7C7C7C7B7B787877787877787A78787A7C7E7C7E7C7C7A7C7C7D7E7E7E818181818383838383818181817E7C7E7C7C7C7C7B7878787876757577777677777676757576757572727272727171716E6E6E6E6E6D6D6B6D6D6D6D6D6A6A6A6A6D6A6A6A6B6B6D6D6D6A6D6D6E7172716E706E6E70727171717172727274747475777777757272716E6E6D6A6A6D6D6B6D6D6D6D6D6E6D6D6D6E6D6D6E70727270716E7070717171716E6E6E6E6E716E717272717271717171726E72706E6E6E6D6E6E717272726E72726E6E7272727272727270707272716E6D6A6969696A6A6A6B6B6B6B6B6A6969696A6A6D6D6D6E7070707072727272747577777777757574747472727575777777777475757576787A7A7778787876787878787878787B7B7C7E7C7A7C7B7B7878787B7C7878787777777575757577777875757677777A7C7C7A7B7B7B78787876757477771C01010101010101010101015E9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9D9D9D9D9D9D9E9E9E9F9F9F9FA0A0A0A0A1A1A1A1A2A2A2A3A4A4A4A5A5A6A6A6A7A8A8A9A9AAAAABABACADADAEAEAFAFB0B1B2B2B3B4B4B5B6B7B7B8B9B9BABBBCBCBDBEBFC0C1C1C2C3C4C5C5C6C7C8C9CACACBCDCDCECFD0D1D2D3D3D4D5D6D7D8D8D9DBDBDCDDDEDEE0E0E1E2E3E4E4E5E6E7E7E8E9EAEAEBECECEDEEEEEFF0F0F1F2F2F3F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F3F3F3F2F2F1F0F0EFEEEEEDECEBEBEAE9E9E8E7E6E6E5E4E3E2E1E1E0DFDEDDDCDCDBD9D9D8D7D6D6D4D3D3D2D1D0CFCECDCCCBCACAC9C8C7C6C5C4C4C2C2C1C0BFBFBDBDBCBBBAB9B9B8B7B7B6B5B4B3B3B2B2B0B0AFAFAEADADACABABAAAAA9A8A8A7A6A6A6A5A5A4A4A3A2A2A2A1A1A1A0A0A09F9F9F9E9E9D9D9D9D9C9C9C9C9B9B9B9B9B9B9A9A9A9A99999999999999999999999999999898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898988D81818181827F7E7F81818A977F7675757472727274747472706F6D6A6A6A6A696B6A6A6D6D6D6D6A6D6D6A6A6A6B6B6B6B696969676968676868696968676767676767686A6A6A6A6A68686767676767676764646767686A6A6A69676567676764676564636363646464646464646767676767676768696B6A6A6A6A6A6B6E6F72707070727272727274727274726F6F6F6F6F6E6B6A6A6A6D6D6D6F6F6F716F6F71747272727171727072727271727275727172706F6F6F6F6F6E6D6D6B6B6D6F71717270727274757575757574747575757575747472727275727572747171717271716F6F6F6E6B6B6B6A696969686767696A6D6A6A696B6D6D6D6E6E6E6E6B6D6D6D6E6E6E6D6D6B6D6B6B6B6D6D6D6A6D6B6B6B6E6F7072717171707071726F71717171716F6F7272727270727275757575757575757575757575757475757775777777777777777675767675757575747474757575727274747272707274727072727575747271717172727575757575757575777575727272707070716F6F6F6F6F6E6E6E6E6E6B6A6A6A68676767676767676765656767676767676967676868676767686767646463646364646464646464676767686764676868696768676767646767676868676764646361616060605E5E5E5D5B5D5D5F606161616161606163646461606061606060616164646565646464646161636464615F5F5F5E5E5D5F605F6061616163646464616163646161616464646464616060616161615F5F616060616363616060606061646467676767676764676764646764616161636161646361636161616465656464646465656464636464646464656565656565676567676767676767676764646363646567676767686A676767676567686767696A6868686767686A6A68686A6D6D6B6B6B6A69686A6B6B6A1901010101010101010101015C989898989898989899999999999999999999999999999A9A9A9A9B9B9B9B9B9B9C9C9C9C9D9D9D9D9E9E9F9F9FA0A0A0A1A1A1A2A2A2A3A4A4A5A5A6A6A6A7A8A8A9A9AAABABACADADAEAFAFB0B0B2B2B3B3B4B5B6B6B7B8B8B9BABBBCBDBDBFBFC0C1C2C2C4C4C5C6C7C7C9CACACBCCCDCECFD0D1D2D3D3D4D5D6D7D8D9D9DBDCDCDDDEDFE0E1E1E2E3E4E5E5E6E7E8E9E9EAEBEBECEDEEEEEFEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F3F3F2F2F1F0F0EFEFEEEEECECEBEBEAE9E9E7E7E6E5E5E4E3E2E1E0DFDEDDDDDCDBDAD9D8D7D6D6D4D4D3D2D1D0CFCECDCCCBCAC9C9C7C7C6C5C4C3C2C1C0C0BFBEBDBCBBBBB9B9B8B7B7B6B5B4B3B3B2B1B0B0AFAEAEADADABABAAAAA9A9A8A7A6A6A5A5A4A4A3A2A2A2A1A1A0A0A09F9F9E9E9D9D9D9C9C9C9B9B9B9B9A9A99999999999898989898989797979797979797979797969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696928F8F8F8C8D8F8C8C888C9297807776767676757272707272727272727270727272726E6E6D6E6E6D6D6D6A6A6A6A6A6969676969696969676767656965656567676969696769696A6D6D6D6A6B6A6A6B6D6D6D6D6D6D6E6E6F6F6F70727272706E6E6D6A6A69676769696769696969696A6969696A69696A6B6E6E6B6D6A6B6B6D6D6D6D6A6A6A6A6A6D6A6D6D6D6D6E6D6D6D6D6D6A6D6B6A6A6A696A6A6D6D6D6D6A6D6D6A6A6D6D6E6E6E6E6D6B6B6E6E6D6A696765656567676767676767676765656567676969696A6B6B6B6B6E6E6E6E6F707272727272726F6F6F6E6E7070727272726F7272727275757574767675727373767373737676767878777577767675757576777676767472727070707272727372727274747577777576767676737372726F72727272706E7072706E6E6D6A6A696A6B6B6A6967676765676767676565656565656462646464656463635F5F625F5F625F5F5D5F5D5D5B5A5A58585A5B5B5D5A5A5A5A5A5B5B5B5D5F5F5F5F5E5E5D5D5D5D5D5D5F5D5D5B5B5B5D5B5B5B5C5E5D5C5D5D5D5D5B5A5B5B5C5A5B5C5A5C5D5D5D5D5C5C5B5B5D5D5D5F5F615F5D5E5E5E5F5D5D5E5E5C5C5D5B5D5E5E5E5E5E5F61616361615F615F61616162636161615F62636363616161615F5F5F5F63636364646565656464656769696965696967656363646567656365676767656565656564646464646565676969696565646565656463646363615F62646262626263626465656464636363636463646464646361636363646463636364636363636363615F5F5F5D5B5C5C5D5D5D5B5B5A5A585856565658585A585858585B5B585858565856585A5D5A585A585858585654545854585656585A5C5C5C5D5D5F5D5D5F5D5F5F5F5F5E5C5C5E5E5F5F6264636363636464646565656363636463636364651801010101010101010101015B9696969696969696969696969696969797979797979797979798989898989899999999999A9A9B9B9B9B9C9C9C9D9D9D9E9E9F9F9FA0A0A1A1A2A2A2A3A4A4A5A5A6A6A7A8A8A9AAAAABABACADAEAEAFB0B0B1B2B3B3B4B5B6B6B7B8B9B9BBBBBCBDBEBFC0C0C1C2C3C4C5C6C7C7C9C9CACBCCCDCECFD0D1D2D3D3D4D6D6D7D8D9DADBDCDDDDDEDFE0E1E2E2E4E4E5E6E7E7E9E9EAEAEBECECEDEEEFEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F3F3F2F2F1F0F0EFEFEEEDECECEBEAEAE9E8E7E6E6E5E4E3E2E2E1E0DFDEDDDCDBDBD9D8D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C9C7C6C6C5C4C3C2C1C0BFBFBDBDBCBBBAB9B8B8B7B6B5B4B3B3B2B1B0AFAFAEADADACABABAAA9A9A8A8A7A6A5A5A4A4A3A2A2A1A1A0A09F9F9F9E9D9D9D9C9C9B9B9B9A9A999999999898989897979797969696969696959595959494949494949494949494949393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393937F6F727272737171707171798C726769696B696B6B6D6F71716F6F71717171727474747271727171717271717171716F6E6E706E6E6D6F707070706E6E6D6B6D6B6A6D6D6D696B6D6D6B6D6D6D6D6D6D6D6A6A6A6969696B696B69696967656463616164656767676565656767676765656565646464636361616161616161606060605D5D5D5D6061646465646161616163616163616160606060605D5C5C5C5C5C5D5D5D5F5F5F5F5F616161616161616161605F5D6060606061616161616364646464646567676767676765656565646464646767646463616163656767676767676969676565656564656565656564656767676767696969696A6A6D6E6F6D6D6D6D6B6B696767676564646461616161616060606161616061605F5F5F5F605D5F5F5D5C5D5F60606060605D5D5D5D6061606060606161605D606161636361615F5F5F5D5B5B5B5B5C5D5D5D5C5D5D5D5D5C5C5C5C5B5B5B5C5B5B5B5B5B5B5B5B585A5A5C5D5D5D606161616364676464646161616163636161606060606061616161616164646467646565676567676969696969696B6D6D6D6A6A6B6D6D6B6B6B6B6A6D6D6D6D6E6E6D6D6F6F70707274747272727272747475757574767474767674757476767574747272727171727274727274767675767575747575777678787A7A7A7A7B7B7B7B7B78787B78787578757676767472727272706E6D6F6F706F6F70706D6E706E6E6D6D6A6D6D696969676767676767676565656565656464646465646464656567656564676767696A6967696767696A696969696A6D6B6D6D6D6D6F6F6F6D6D6D69676765646467676567676765676765656767676767696B6B69696769696969696967676767676967696A6A696D696969696A676A69676767656767696A6A6A676A6A67676A6A6D6D6D6B6A69696B6B69180101010101010101010101599393939393939393939393949494949494949494949494959595959696969696969797979797989898999999999A9A9B9B9B9C9C9D9D9D9E9F9F9FA0A0A1A1A2A2A3A4A4A5A5A6A6A8A8A9A9AAAAABACADADAEAFAFB0B1B2B3B3B4B5B6B7B7B8B9BABBBCBCBDBFBFC0C1C2C3C4C5C6C6C7C9C9CACBCCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E1E2E3E4E5E6E6E7E8E9EAEAEBECECEDEEEFEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F3F3F2F2F1F0F0EFEFEEEDECECEBEAEAE9E8E7E6E5E5E4E3E2E1E0E0DEDDDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCDCBCAC9C9C7C6C6C5C4C2C2C1C0BFBEBDBCBBBBB9B9B8B7B6B6B4B4B3B2B1B0AFAFAEADADACABAAAAA9A8A8A7A6A6A5A4A4A3A2A2A1A1A0A09F9F9E9D9D9C9C9C9B9B9A9A99999998989897979796969696959594949494949393939393939392929292929292929292919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191917C696A6A696C6D6D6D6B69707B64585858585A5A5A5D5F5F5D5A5C5E5C5C5C5A5C5E5E5F5F5F5E5F5F5F605F5F615F5F6163636363656563646364616361616361616163636161615F5F60636361616161616363646364646363636363636161616363646564646464646463636163646465656565676564636363615F6161615F616160615F5F5F5D5C5C5D5D5D5D5C5C5C5A5C5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5D5C5C5D5D5A5A5C5D5F61616161616160605F5F5F5F5D5D5A5A5D5C5C5C5A5A5D5C5C5A5A5A585858585A5A5A5C5C5E5E5E5C5C5D5F615F616364646463656565656767676767676767676867676567656564646565656565656463615F61616060606161606161616163636361615F5E5C5C5C5E5F5E6061615F6164646565656564656565656465656769696C6C6C6A6867686767656565656564656463616161636363646161616161636464676767696769696C6D6F6F6D6D6F6F6F6F70727272706F706F6F6F6F6F6F6F6F6F6D6D6D6E6D6D6B6D6E6E6E6E6D6D6C696C69686A6A6A67696C6C696A6A6B6B6C6C6A68686867676769676967676765646361606063646565656464646565656564646464636363616160606060605F5F5E5E5E5E5C5C5C5C5F616363646360606161615F5F6160605F5F5F5E5E5C5A5A5A5A5A5C5C5C5D5D5D5D5D5F60605F6161615F5F5E5D5C5E5E5E5E605F5F5F5F61636363636364656565656565646464646363636365656363616161616465656565656567676564646464636464646464636465656765676767676768686A6D6D6B6C6B6B696967676765646363636161615F5F5F5F5F6060605F615F5D5D5D5D5F5C5D5D5C5A5C5D5F5F5F5E5E5C5C5C5C5F605F5E5F5F60605F5C5F5F616161615F5D5D5D5C5A5A5A5A5A5C5C5C5A5C5C5C5C5A5A5A5A5A5A5A5A15010101010101010101010157919191919191919191919191919191929292929292929292929393939393939394949494949595969696969797979898989999999A9A9B9B9C9C9C9D9D9E9F9FA0A0A1A1A2A2A3A4A4A5A6A6A7A8A8A9AAAAABACADADAEAFAFB0B1B2B3B4B4B6B6B7B8B9B9BBBBBCBDBEBFC0C1C2C2C4C5C5C6C7C9C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9D9DBDCDDDDDEDFE0E1E2E3E4E5E5E6E7E8E9E9EAEBEBECEDEEEFEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F3F3F2F2F1F0F0EFEEEEEDECEBEBEAE9E9E8E7E6E5E4E4E2E2E1E0DFDEDDDCDBDAD9D8D7D7D6D4D3D3D2D0CFCFCECDCBCACAC9C7C6C6C5C4C2C2C1C0BFBEBDBCBBBAB9B8B7B7B6B5B4B3B2B2B0B0AFAEAEADACABAAAAA9A8A8A7A6A5A5A4A4A2A2A1A1A0A09F9F9E9D9D9C9C9B9B9B9A9999989898979797969696959494949493939393929292929291919191919190909090908F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E78656567676767656767656D7863585858585858585858585858585B5A5A5B5B58585A5B5D5E5E5E5E5E5E5D5D5D5D5D5D5B5B58585B5A5A5A58585B5A5A585858565656565858585A5A5C5C5C5A5A5B5D5E5D5E60616161616363636364646464646464646465646463646363616163636363636361615E5D5E5E5D5D5D5F5F5D5E5E5E5E6061605E5E5D5C5A5A5A5C5D5C5D5E5F5D5F61616363636361636363636163636467676767676765646564646363636363616361605E5E5E606060615F5F5E5E5E61616164656567656767676A6D6D6A6A6D6D6D6D6D6F6F6F6D6D6D6D6D6D6D6D6D6D6D6D6A6B6B6B6B6B696A6B6B6B6B6B6B67676767656767676567676767676769696767676565656564646765676565656361615F5D5D606163636361616163636363616161616161615F5F5D5D5D5D5D5D5D5C5C5C5C5A5A5A5A5D5E606061605D5D5E5E5F5D5D5F5D5D5D5D5D5C5C5A58585858585A5A5A5B5B5B5B5B5D5D5D5D5E5E5E5D5D5C5B5A5C5C5C5C5D5D5D5D5D5F6161616160616363636363636161616161616161636361605F5E5E5F616363636363636464636161616161616161616160616363646364656564646565676B6A69676969676765646463616161605E5E5E5D5D5D5D5D5D5D5D5D5E5D5B5B5B5B5D5A5B5B5A585A5B5D5D5D5C5C5A5A5A5A5D5D5D5C5D5D5D5D5D5A5D5D5E5F5F5E5D5B5B5B5A58585858585A5A5A585A5A5A5A58585858585858585858585858585858565656585A5A5A5C5D5E5E5F61636160605E5D5D5E5F5F5D5D5C5C5D5D5D5D5D5E5D5D5E60606163616161636163646565656565656767676765656769696767676765676767676B6B67696A6A6B6B6D6F6F6D6D6D6D6D6F6F72727270716F6F717170727071717270706E6D6D6D6D6D6E6F6E6D6F7172727272726F727272721C0101010101010101010101568E8E8E8E8E8E8E8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9090909090919191919191929292929293939393949494949596969697979798989899999A9B9B9B9C9C9D9D9E9F9FA0A0A1A1A2A2A3A4A5A5A6A6A8A8A9AAAAABACADADAEAFB0B0B2B2B3B4B5B6B7B7B8B9BABBBCBDBEBFC0C1C1C2C4C5C5C6C7C9C9CACBCDCECECFD0D2D2D3D4D6D6D7D8D9DADBDCDDDEDFE0E1E2E2E4E4E5E6E7E7E9E9EAEBEBECEDEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F3F3F2F2F1F0F0EFEEEEEDECEBEBEAE9E9E7E7E6E5E4E3E2E1E1E0DEDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C7C6C6C5C4C2C2C1C0BFBEBDBCBBBAB9B8B7B6B6B4B4B3B2B1B0AFAFAEADACABAAAAA9A8A8A7A6A5A5A4A3A2A2A1A1A09F9F9E9D9D9C9C9B9B9A999999989897979796969595949493939393929292929191919190908F8F8F8F8F8E8E8E8E8E8E8E8E8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C796768656465646364616167725C54545658585757585758575A5A5A5858585858585857585A5A5C5C5C5C5C5A57575A5A5A58565656555554565856585858585A5A5A5A58585A5A5857585A5A5A5C5A575858575757575656575858575A5A5858585858585A5C5D5D5D5D5F5D5A5D5D5A5A5D5A5858585A58585A5A585A5758585A5C5C5A5C5C5C5C5C5A5A5A5A5C5A5A5C5C5C5C5C5C5C5F5C5D5F5F5F5F5D5D5D5D5A5A5A5A5A5C5F5F5F5F5F605F5D5D5D5C5D5F5F5F60615F5F5F5D5D5F61605F5F61636361616160605F6061616061646464646464676765656464646361636063636464616464646361616161616461616461606161616161615F61616163615F6060605F606061615F60606161616060616464646465646564616161616161605F5C5C5F605D5D5C5D5C5C5D5D5F5F5D5D60605F5F5F5F5D5D5D5F606060605F5F606061605F5F5F6060616364646464656464656565676765656461616464646464636465676967696969696969696969676769696969696969696C6B6D6F7072727475777777777776787878787878777877777675757575757475777776757575777878777777777777757575757575747572727274747271717070727172757575757575757572726F6E6F6F6F6F6D6E6E6D6A6A6C6C6D6C6C6969676767676767676767656564646464646161616161616164646164646364646464646565656464656565646465656464646767676967676565646464646161616464646467676565656565656564646567696C6D6B6969696C6C6D6E6F6F6F6E6E6E6D6D6D6E6D6C6C6C6C6C6D6C6D6D6D6D6E6F6F6F6F6F6E6F6F6D6B6B6E6E6E6F6F706F6F6F6D6D6D6E6E6E6E6E6E6E6F71727272727275757775777778767878787A787876757575757675757575757577777777777775777777771D0101010101010101010101558C8C8C8C8C8C8C8C8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8E8E8E8E8E8E8E8E8F8F8F8F8F909091919191919292929393939394949595969697979798989999999A9B9B9C9C9D9D9E9F9FA0A0A1A2A2A3A4A5A5A6A6A8A8A9AAAAABACADAEAEAFB0B1B2B3B3B4B6B6B7B8B9BABBBCBDBDBFC0C1C1C2C4C5C6C6C7C9CACBCBCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDDDEE0E0E1E2E3E4E5E6E6E7E8E9EAEBEBECEDEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F7F7F7F6F5F5F4F4F3F3F2F2F1F0F0EFEEEEEDECEBEBEAE9E8E7E6E6E5E4E3E2E1E0DFDEDDDCDBDBD9D8D7D7D6D4D3D2D2D0CFCECDCCCBCAC9C8C7C6C5C4C2C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B2B0B0AFAEADADABABAAA9A9A8A7A6A5A5A4A3A2A2A1A0A09F9F9E9D9C9C9B9B9A9999989898979796969595949493939392929291919190908F8F8F8F8E8E8E8E8E8D8D8D8D8D8C8C8C8C8B8B8B8B8B8B8B8B8B8B8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A75646767656465656767656D7C645A5C5D5D5D5D5F5F5D5E5D5E5C5D5B5B5D5B5B5B5D5D5B5B5B5A5A5A5D5D5C5C5C5C5C5D5D5F5D5F5F5D5D5D5D5D5D5B5B5B5D5D5E5F5F5F5F5F5F5F5D5D5B5D5F5F6060606061605E5D5D5D5C5A5C5C5C5A5B5B5A5B5A5A5A5856565858585856565656565656565656555555555554545654565856565858565656585A5B5B5B5B5B5B5A5A5A5A5A5A585856565856565656565856565555545454545455555556565858585656585A5B5A5B5D5F5F5F5D5F5F5F606161616161616161616361615F615F5F5F5F6060606060605F5D5B5A5B5B5A5A5A5C5C5A5B5B5B5B5D5D5D5B5B5A58565656585A585A5B5C5A5C5E5E5F5F5F5F5E5F5F5F5F5E5F5F6164646464646463616361615F5F5F5F5F5F605F5D5B5B5B5D5D5D5E5C5C5B5B5B5D5F5F61636364636464646769696767696969696A6B6B6B6A696A69696969696969696967676767676765676767676767676464646463646464636464646464646565646464636363636161646364636363605F5D5C5A5A5D5E605F5F5E5E5F606060605E5E5E5E5D5D5D5C5C5A5A5A5A5A5A5A58585858565656565A5B5D5D5E5D5A5A5B5B5C5A5A5C5A5A5A5A5A585856565656565556565658585858585A5A5A5A5B5B5B5A5A585856585858585A5A5A5A5A5C5D5D5D5D5D5F5F5F5F5F5F605E5E5E5E5D5D5D5D5F5F5D5D5C5B5B5C5E5F5F5F5F5F606161605F5F5F5F5D5E5E5E5E5F5D5F6060615F616363616163636467676564656564646361615F5E5D5D5D5B5B5B5A5A5A5A5A5A5A5A5A5B5A585858585A565858565556585A5A5A5858565656565A5A5A585A5A5A5A5A565A5A5B5C5C5B5A58585856545454545656565656565656565656565654545456545454545454545453545455565656585A5B5B5C5D5F5D5D5D5B5A5A5B5C5C5A5A150101010101010101010101538A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8B8B8B8B8B8B8B8B8B8B8C8C8C8C8D8D8D8D8D8E8E8E8E8E8F8F8F8F9090919191929292939393949495959696979797989899999A9B9B9C9C9D9D9F9FA0A0A1A1A2A3A4A5A5A6A7A8A8A9AAABABADADAEAFB0B0B2B2B3B4B5B6B7B8B9B9BBBCBDBDBFC0C1C2C2C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D6D7D7D8D9DBDBDCDDDEDFE0E1E2E3E4E5E6E6E7E8E9EAEAEBECEDEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9F9F9F8F8F8F7F7F6F5F5F4F4F3F3F2F2F1F0F0EFEEEEEDECEBEAEAE9E8E7E6E5E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAFAEADACABAAAAA9A8A7A6A5A5A4A3A2A2A1A0A09F9E9D9D9C9C9B9B9A9998989797979696959494949393929292919190908F8F8F8E8E8E8E8D8D8D8D8C8C8B8B8B8B8B8A8A8A8A8A8A8A8A89898989898989898989898988888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888875646467676867646769696F7C655B5A5A58585858585B5B5D5E5D5D5B5B585A5A5A5A585A585856565858585858585858585A5A5A5A585858585858585A5A5858565858585A5A58585858585858585858565554545151515151515151514E4E4D4D4D4D4D4D4D4E4E4D4D4E51514E4D4D4D4D4D4E5051504E504E4D4D4D4C4C4C4D4C4D4D4D4E505151515353545151545154545454545151545455565858585858585A5A585B5A5A5858585A5858585A5B5B5D5B5B5D5D5D5B5D5F5F5F5F615F616163636365676769676969696A6969696767696A6D6A6A696969696B6B6A6D6B6A6B6D6B6B6D6D6D6D6B6A6A676A6A6B6A6B6B6B6D6D6D6D6D6B6D6D6D6D6D6B6A67696A6A6A6A6A6D6A6B6B6D6D6A6A6D6A6B69676767696967676769676765656363616160606061605F5F5D5F5D5D5B5A5C5A585A5A5A5A5A5C5C5E5D5D5E5E5E605F5F5F5D5D5D5D5D5C5D5D5F5F5F61615F5F6161605E5D5D5D5D5D5D5D5D5E5D5A5A5C5E5E5E5D5E5E5D5A5C5C5C5C5C5D5B5A5B5B5D5D5C5A58585A5B5D5B5B5A5A585A5A5B5B5C5A5A5A5A5A5A5A5A5C5C5C5B5A5D5E5E5F5E5D5D5D5D5B5D5C5C5C5C5C5E5C5E5F5E5F5F5F5F5F5F5F5F5E5E5C5E5C5A5A5A5C5E5D5D5D5E5F5F5F5D5F60616161615F6060606163616060606160616363636161646567676564646565656567676767656567656465646567676765656765656464636364636161636361616161616161616161616061615F605F5F60606160616161616060615F5D5C5C5B5A5B5B5B5B5B5B585B5A58585858585B5B5B5B5D5D5B5A5A5A5858585858585858585A5B5A5B58585B5D5C5C5D5F5F615F5F5E5F5F5F5E5F5F61616364636464636361636364636161606060616161616163636464646464646363636464646364656564636363636361616163616161605F1601010101010101010101015388888888888888888888888888888889898989898989898989898A8A8A8A8A8A8A8A8B8B8B8B8B8C8C8D8D8D8D8E8E8E8E8F8F8F909091919292929393949494959696979797989899999B9B9C9C9D9D9E9FA0A0A1A1A2A3A4A5A5A6A7A8A9A9AAABACADAEAFAFB0B1B2B3B4B5B6B7B8B9B9BBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCDCECFD0D0D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E2E4E5E5E6E7E8E9EAEAEBECECEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9F9F9F8F8F8F7F7F6F5F5F5F4F3F3F2F2F1F0F0EFEEEEEDECEBEAEAE9E8E7E6E5E5E4E2E2E1E0DEDEDDDCDBD9D9D8D7D6D4D3D2D2D0CFCECDCCCBCAC9C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEAEADABABAAA9A8A8A6A6A5A4A4A2A2A1A0A09F9E9D9D9C9C9B9A99999898979796969594949393939292919191908F8F8F8E8E8E8D8D8D8C8C8B8B8B8B8A8A8A8A8A898989898989888888888888888887878787878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686776A6C6A6A6C6C6A69696B727E675E605D605E5C5B5A5A5858585A5B5B5A5A5856565656565757565757575758575A5A5A5757585B5B5C5C5A5A5A585856565656555553545556565656545653535454515356565351515150504F4D4D4F4F514F50514F4D4F4F5153535353545453535454545353565355565757575A5A5C5C5A5A5C5C5A5C5C5D5E5E5E5E605D5D5D5D5D5D5D5F606161616161636363616364646565676567676767656465656565646767656567656363636564646461646565646461616060616363636363636161606163636465656765656767656465676565656464616161616161616163636463646463616161616161616160605E5D5C5C5D5D5D606060606060616164646464616464646461616060616461616061616364656564646164656565656464636161616060606060606060605E60605E5E5E60605D5E5D5D5D5D5D5D5E5E5E5D5D5D5D5D5D5E5E5E605F5D5F5F5D5D5D5D5F5F60616164646461616160606160605D5D5D5E60615F6061606161636363616363636361616161616163636161646163646464646467676769676767656565676565676567676767676767676A6A6969676767676767676767676567676A67676A6A676767656564616160606060605F5E5D5E5F5F5D5D5C5B5B5B5B5B5D5D5D5D5D5D5F5D5D5E5E5F5D5D5D5D5F5D5E5D5D5C5E5E5D5D5C5D5D5D5B5A585A5A5A5B5B5B5A5C5C5B5D5D5D5B5B5C5B585A575A5A5A5A5758585A5A585858565856565658565656585A5A5A57575A5B5C5C5E5D5D5D5E5F5F5F60616161646161605F5F5D5C5C5B5A585A5C5C5C5B5B5B5B5B5B5D5D5D5D5F5D5D5F5D5D5D5C5C5C5E5E5E5D5D5C5C5C5D5D5D5C5C5C5C5D5D5D606060616061616163616161616161616160616161616161616060606161616163616161616161611801010101010101010101015186868686868686868686868686868686868686878787878788888888888888888989898989898A8A8A8A8A8B8B8B8B8C8C8D8D8D8E8E8E8F8F8F90919191929293939394949596969797989899999A9B9B9C9D9D9E9FA0A0A1A2A2A3A4A5A6A6A8A8A9AAABABADADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C9CACBCCCDCECFD0D1D2D3D4D6D7D8D8D9DBDCDDDEDEE0E1E1E2E4E4E5E6E7E8E9EAEAEBECECEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9F9F9F8F8F8F7F7F7F6F5F5F4F4F3F2F2F1F0F0EFEEEEEDECEBEAEAE9E8E7E6E5E4E4E2E1E1E0DEDDDCDCDBD9D8D7D6D5D4D3D2D1D0CFCECDCBCAC9C8C7C6C5C4C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADADABAAAAA9A8A7A6A5A5A4A3A2A1A0A09F9F9D9D9C9C9B9A999998989796969594949393939292919190908F8F8E8E8E8D8D8D8C8B8B8B8B8A8A8A8A8989898988888888888787878686868686868686858585858585858585858585848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484736463656463646465656367745D5454555656555656565658585858565858585A5858585858565658585858565656565452525151514E4E4E4D4D4E4E4F515251515251515154545452515152515151515255555656565656545151545555525050504E4E4E50514F5152525254545454525254545251525454545654515151515151514F4F515151515454525151515152555658585656585655565655555655525252545252545452545152525456565456565656565555545556545456565656565656585656585858585656565655555454555658585858585A5856585856565858585A5A5858585858585A5A58585A5C5C5B5B5B5A5A585A5B5B5A5B5D5D5D5D5E5E5F5F5F5F5D5D5D5C5B5C5A5C5C5D5D5B5D5D5E5C5B5B5B5B5B5D5B5B5D5B5A5A5A5A5A5A5A585A5A5A5C5A585A5A5A585A5A5A5A585A5A5A5A5A5A5A5B5D5D5D5E5F5E5F5D5B5A5B5A5A5B5A585656585A5858565656565656585858585A5A58585858565656585A5A5A5A58585A5A5B5A5858585A5A5B5C5D5D5D5D5F5D5D5F5F5F5F5F5F5F5D5B5B5D5D5D5D5D5C5E5F5F625F6262626362626262626161626262626363636364646567696A6A6C6D6E707070706F7272727272716E716E6E6F6D6D6D6E6E6C6E70706F6E6E6E7071716E70706E6E706E6D6D6D6D6D6C6D6B6B6B6C6C6A696969696A696A6D6D6D6E6D6D6E6D6B6A67676767676765676765636364646564646363606060606060615F5F5F5F5E5E5D5D5D5B5B5B5B5B5B5B5D5D5B5D5D5C5E5D5D5D5D5F5F5F5E5E5F5F5F5E5E5F5F5D5D5E5F6060625F5F5F5F5D5E5E5D5B5B5B5D5D5D5E5F5F5F5F5F5F5F5F5F5E5E5F6062646564636363646465676767676767676565656765646464646465646565656567676767676767676765646467676767676967676765656567676767676718010101010101010101010150848484848484848484848484848485858585858585858585858586868686868686868787878888888888898989898A8A8A8A8B8B8B8B8C8D8D8D8E8E8E8F8F909091919292939393949495969697979899999A9B9B9C9D9D9E9FA0A0A1A2A2A4A4A5A6A7A8A9AAAAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C4C5C6C7C8C9CACBCDCECFD0D0D2D3D4D5D6D7D8D9DBDBDCDDDEE0E0E1E2E4E4E5E6E7E8E9EAEAEBECECEEEEEFF0F0F1F2F2F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F7F7F7F6F5F5F4F4F3F3F2F1F0F0EFEEEEEDECEBEAEAE9E8E7E6E5E4E4E2E1E0E0DEDDDCDBDAD9D8D7D6D5D4D3D2D0CFCECDCCCBCAC9C7C6C5C4C3C2C1C0BFBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A9A8A7A6A5A4A3A2A1A1A09F9F9E9D9C9C9B9A9999989897969695949493939292919190908F8F8E8E8D8D8D8C8C8B8B8B8A8A8A8989898888888887878686868686868585858585858484848484848484848383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383836F616164646464656567676D7B655C5A5A5A5A5B5B5C5D5E5D5E5F5E5F5F5F605F5F60605F5F5F5F5F606264646363615F5F5F6161615F5F5D5B5A5A5A5A585A58585B5B5B5B5A5B5B5A5A5A5A5A5A5A585858565858565858585858565656565858585858585A5A5858565858565656565454565858585A5A58565556565654565554535353545454545454545656565656565658585A585858585A5A5D5E5F5F5F5F5F5F60606061605F615F5E5E5E5E5E5D5A5A5A5A5B5C5C5D5D5D5F5E5E5F6160605F5F5F5F5F5F5F605F606063605F605F5E5E5E5E5E5D5B5C5A5A5C5E5F5F605F60606163636362636161626263636361615F5F606360625F615F5F5F605F5F5D5D5E5D5A5A5A5A585858585858585A5B5A5A585A5C5C5C5D5D5D5D5A5B5B5B5D5D5D5C5C5A5B5A5A5A5C5B5B5A5B5A5A5A5D5E5F605F5F5F5F5F5F5F5E5F5F5F5F5F5E5E5F5F5F5F5F5F5F626263636263636363636263636261636264626464646464646464636464636363636161616363626060616160605F5F61605F605F626361605F5F5F5F5F62626363636363626463625F5F5F5F5F5F5F5E5E5D5D5D5D5D5D5D5D5A5A585858565656585858585655555656565656565858565858565858585856545453545354545454545454565856585654565858585858565856545658585858565654545351515050504E4E4E4D4D4D4D4E505151515151505153545451505051505050515154545555545454545151535454514F4F4F4E4E4D4F504E5051515153545454515153545151515454545454515050515151514E4E5150505153535150505050515454565656565856545656545456545151515351515453515351515154555554545454555554545354545454545555555555555855565858585856565656545453535455585858585858585656561401010101010101010101014F83838383838383838383838383838383838383838383838484848484848484848585858585858586868686868787888888888989898A8A8A8B8B8B8B8C8D8D8D8E8E8F8F9090919192929393949495969697979899999A9B9C9C9D9D9F9FA0A1A1A2A3A4A5A6A6A8A9A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBFC0C1C2C3C4C5C6C7C9CACBCCCDCECFD0D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E4E4E5E6E7E8E9EAEAEBECEDEEEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9F9F9F8F8F8F7F7F6F5F5F4F4F3F3F2F2F0F0EFEFEEEDECEBEAEAE9E8E7E6E5E4E4E2E1E0DFDEDDDCDBDAD9D8D7D6D4D3D2D1D0CFCECDCBCAC9C8C7C6C5C4C2C1C0BFBEBDBCBBB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A8A6A6A5A4A3A2A1A0A09F9E9D9C9C9B9B99999898979696959494939392929191908F8F8E8E8D8D8D8C8B8B8B8A8A8A89898988888888878786868686858585858484848484848383838383838382828282828281818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818175696A6C6A6D6D6E6E6F6F767D6961605E5E5E5D5D5D5D5C5C5C5C5C5B5B5B5B5B5858575756545454565656565554545555555555555856555656555656565654535351515153545453545454545655565554555656585656555655545456565656545454545150504F4F4F4D4D4D4C4B4C4C4D4F504E4E504E4F4E515151504F4F504F4F4F4E5053535454545454514E4E515353504D4D4D4D4D4C4D4F4D4F5050505151515150505151504E5051515154514E4F4F4E4E4E4E4D4D4E4F4F4E5151504F4F4F4F50535455555454565453545453535453505050515050515150514E505051545451545454545453535153545151545454545454545654545656565654545454535351515354565656565657565455555454565656585856565655555658575656585A5A58585857585657585857585A5A5A5A5C5C5D5D5C5C5B5A5A5A585A575A5A5B5B585B5B5C5A58585858585A58585A5857585858585858565858585A585657575756575858585658585858585857585B5B5A5C5C5C5C5B58585858585858565454565855555454545454545656555558585656565654545456585858585656585758575656565757585A5B5B5B5B5C5A5A5C5C5C5D5D5C5C5A58585B5B5B5B5A5A5C5D5D605D6060606060606060605F5F606060606060606061616464656767696A6B6D6D6D6D6D6E6E6E6E6F6E6B6E6B6B6D6A6A6A6C6C696C6D6D6D6C6C6C6D6E6E6B6D6D6B6B6D6C6A6A6A6A6A696A676767696967676765656767676A6A6A6C6A6A6C6A6767656464646464646464636161616163616160605E5E5E5E5E5E5F5D5D5C5C5C5C5A5A5A585858585858585A5A585A5A5A5C5B5B5B5B5D5D5C5C5C5D5D5D5C5C5C5C5B5B5C5D5E5E605D5D5C5C5B5C5C5A5858585A5B5B5C5D5D5C5C5C5C5C5C5C5C5C5D5E6061636160606061611701010101010101010101014D81818181818181818181818181818181818181818181818282828282828383838383838384848484848485858585868686868787888888888989898A8A8A8B8B8B8C8D8D8D8E8E8F8F90919191929293949495969697989899999A9B9C9C9D9E9FA0A0A1A2A3A4A5A5A6A8A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BBBCBDBEBFC0C1C2C4C5C6C7C8C9CACBCDCECFD0D1D2D3D4D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEAEBECEDEEEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9F9F9F8F8F8F7F7F6F5F5F4F4F3F3F2F2F1F0EFEFEEEDECEBEBEAE9E8E7E6E5E4E4E2E1E0DFDEDDDCDBDAD9D8D7D6D4D3D2D1D0CFCDCCCBCAC9C7C6C5C4C3C2C1C0BFBDBCBBB9B8B8B7B6B4B3B2B1B0AFAEADACABAAA9A8A8A6A5A5A4A2A2A1A0A09F9E9D9C9B9B9A9998989797969594949393929191908F8F8F8E8E8D8D8C8B8B8B8A8A8A898989887267514636201B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141E333D4D616B8080808080808080808080808181818181818181828282828383838383848484848585858586868686878888888989898A8A8A8B8B8B8C8D8D8E8E8E8F8F9091919292939494959696979898999A9B9B9C9D9D9F9FA0A1A2A2A4A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B6B6B7B8B9BBBCBDBEBFC1C2C3C4C5C6C7C9CACBCCCDCECFD1D2D3D4D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEAEBECEDEEEFEFF0F0F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9F9F8F8F8F7F7F6F5F5F4F4F3F3F2F2F1F0EFEFEEEDECEBEBEAE9E8E7E6E5E4E4E2E1E0DFDEDDDCDBDAD9D8D7D5D4D3D2D0CFCECDCCCBC9C8C7C6C5C4C2C1C0BFBEBCBBBAB9B8B7B6B4B3B2B2B0AFAEADACABAAA9A8A7A6A5A4A4A2A2A1A09F9F9D9D9C9B9A9999989797969694949393929191908F8F8E8E8D8D8D8C8B8B8A8A8A897E6E5747361B0B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A192D3D4C66757F7F7F7F7F7F7F80808080808080808181818181818282838383838484848485858585868686878788888989898A8A8A8B8B8C8D8D8D8E8E8F8F9091919293939494959697979899999A9B9C9D9D9F9FA0A1A1A2A4A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B6B7B8B9BABBBCBDBFC0C1C2C4C5C6C7C8C9CACCCDCECFD0D2D3D4D5D6D7D8D9DBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEBECEDEEEFEFF0F1F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9F9F9F8F8F7F7F7F6F5F5F4F4F3F2F2F1F0F0EFEEEDECECEBEAE9E8E7E6E5E4E4E2E1E0DFDEDDDCDBD9D8D7D6D5D4D3D2D0CFCECDCBCAC9C8C7C5C4C3C2C1C0BFBDBCBBB9B8B7B6B5B4B3B2B0AFAEADADABAAA9A8A8A6A5A4A4A2A1A1A09F9E9D9C9C9B9A99989897969695949393929291908F8F8E8E8D8D8C8B8B8B8A8A6E5842311B05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005192D3C50657E7E7E7E7F7F7F7F7F7F7F8080808080808181818182828283838384848484858585868686878888888989898A8A8B8B8B8C8D8D8E8E8F8F90919292939394959696979898999A9B9C9C9D9E9FA0A1A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B2B3B4B5B6B7B8B9BBBCBDBEC0C1C2C3C4C5C6C8C9CACBCDCECFD0D2D3D4D5D6D7D8D9DBDCDDDEDFE0E1E2E4E4E5E6E7E8E9EAEBEBECEDEEEFEFF0F1F2F2F3F4F4F5F5F6F7F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9F9F9F8F8F8F7F7F6F5F5F4F4F3F3F2F1F0F0EFEEEEECECEBEAE9E8E7E6E5E4E4E2E1E0DFDEDDDCDBD9D8D7D6D5D4D3D2D0CFCECDCBCAC9C7C6C5C4C2C1C0BFBEBDBBBAB9B8B7B6B4B3B2B1B0AFAEADABAAA9A9A8A6A5A4A4A2A1A1A09F9E9D9C9C9B9A99989797969594949392929191908F8E8E8D8D8C8B8B866E53422C16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001423374B64787D7D7D7E7E7E7F7F7F7F7F7F80808080818181818282838383838484848585858686868788888889898A8A8A8B8B8C8D8D8E8E8F8F91919292939494959697979899999B9B9C9D9E9FA0A1A1A2A4A4A5A6A8A8A9AAABADAEAFB0B1B2B3B4B6B7B8B9BABBBCBEBFC0C1C2C4C5C6C7C9CACBCDCECFD0D1D3D4D5D6D7D8D9DBDCDDDEDFE0E1E2E4E4E5E6E7E8E9EAEBECECEEEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9F9F9F8F8F7F7F6F5F5F4F4F3F3F2F2F0F0EFEEEEECECEBEAE9E9E7E6E5E5E4E2E1E0DFDEDDDCDBD9D8D7D6D5D4D3D1D0CFCECCCBCAC9C7C6C5C4C2C1C0BFBDBCBBB9B8B7B6B5B4B3B2B0AFAEADACABAAA9A8A6A6A5A4A2A2A1A09F9E9D9C9B9B99999897969695949393929191908F8F8E8E8D8C8B7A64482C16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F2841546E7D7D7D7D7D7D7E7E7F7F7F7F7F8080808081818181828283838384848485858586868787888889898A8A8A8B8B8C8D8D8E8F8F90919192939394959696979899999B9B9C9D9E9FA0A1A1A2A4A5A5A6A8A9AAABACADAEAFB0B2B3B4B5B6B7B8B9BBBCBDBFC0C1C2C4C5C6C7C9CACBCCCDCFD0D1D2D4D5D6D7D8D9DBDCDDDEDFE0E1E2E4E5E5E6E7E8E9EAEBECECEEEEEFF0F0F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9F9F9F8F8F8F7F7F6F5F5F4F4F3F2F2F1F0EFEFEEEDECEBEAEAE9E7E6E6E5E4E2E1E0DFDEDDDCDBD9D8D7D6D5D4D2D1D0CFCDCCCBCAC8C7C6C5C3C2C1C0BEBDBCBBB9B8B7B6B4B3B2B1B0AFADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9B999998979696949493929291918F8F8E8E8D8D75593D260B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A1E364F687C7C7D7D7D7D7D7E7E7F7F7F7F80808080818181818283838383848485858586868787888889898A8A8A8B8C8D8D8E8E8F8F919192929394949696979898999B9B9C9D9E9FA0A1A2A2A4A5A6A7A8A9AAABACADAEAFB1B2B3B4B6B7B8B9BBBCBDBEC0C1C2C3C4C6C7C8C9CBCCCDCED0D1D2D4D5D6D7D8D9DBDCDDDEDFE0E1E2E4E5E6E6E7E9E9EAEBECEDEEEFEFF0F1F2F2F3F3F4F5F5F6F7F7F7F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9F9F8F8F8F7F7F6F5F5F4F4F3F3F2F1F0F0EFEEEDECEBEBEAE9E8E7E6E5E4E3E2E1E0DEDDDCDBD9D8D7D6D5D4D2D1D0CECDCCCBC9C8C7C5C4C3C2C0BFBEBDBBBAB9B8B6B5B4B3B2B0AFAEADABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9B999898979696949493929291908F8F8E8E7C5F432705000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051D3B546D7C7C7C7D7D7D7D7D7E7E7F7F7F7F8080808181818282838383848484858586868687888889898A8A8B8B8C8D8D8E8F8F909192929394949596979898999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABADAEAFB0B2B3B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C7C8C9CACCCDCED0D1D2D4D5D6D7D8D9DBDCDDDEDFE0E1E2E4E5E6E7E7E9EAEBEBECEDEEEFEFF0F1F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9F9F9F8F8F7F7F7F6F5F4F4F3F3F2F2F0F0EFEEEEECECEBEAE9E8E7E6E5E4E3E2E1E0DEDDDCDBDAD8D7D6D5D4D2D1D0CECDCCCAC9C8C7C5C4C2C1C0BFBDBCBBBAB8B7B6B5B3B2B1B0AFAEACABAAA9A8A6A5A4A4A2A1A09F9F9D9C9B9B999998979696949493929291908F8F8E6B4A2D11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A28405E777C7C7C7D7D7D7D7D7E7E7F7F7F8080808081818182838383848484858586868787888889898A8A8B8C8D8D8E8E8F909192929394949696979898999B9B9C9D9E9FA0A1A2A3A4A5A6A8A9AAABACADAEB0B1B2B3B4B6B7B8B9BBBCBDBFC0C1C2C4C5C6C8C9CACCCDCED0D1D2D4D5D6D7D8D9DBDCDDDEE0E1E2E3E4E5E6E7E8E9EAEBECECEEEEEFF0F0F2F2F3F3F4F4F5F5F6F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9F9F8F8F8F7F7F6F5F5F4F4F3F2F2F1F0EFEFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DEDDDCDBDAD9D7D6D5D4D2D1D0CECDCCCAC9C8C6C5C4C2C1C0BFBDBCBBB9B8B7B6B4B3B2B0AFAEADACAAA9A8A7A6A5A4A2A2A1A09F9D9D9C9B9A9998979696949493929291908F8366432200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001D3B53717C7C7C7C7D7D7D7D7E7E7F7F7F7F808080818181828383838484858585868687888889898A8A8B8B8D8D8E8E8F909191929394949696979899999B9C9D9D9FA0A1A1A2A4A5A6A7A8A9AAABADAEAFB0B2B3B4B6B7B8B9BBBCBDBFC0C1C2C4C5C6C8C9CACCCDCED0D1D2D4D5D6D7D8DADBDCDDDEE0E1E2E3E4E5E6E7E8E9EAEBECECEEEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F4F3F3F2F1F0F0EFEEEDECEBEAEAE9E7E6E5E5E4E2E1E0DFDDDCDBDAD9D8D6D5D4D3D1D0CECDCCCAC9C8C6C5C4C2C1C0BFBDBCBBB9B8B7B6B4B3B2B0AFAEADABAAA9A8A6A5A4A3A2A1A09F9E9D9C9B9A99989797969594939292919084603E170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014314F6C7B7C7C7C7C7D7D7D7D7E7E7F7F7F8080808181818283838384848585868686878888898A8A8B8B8C8D8E8E8F9091929293949496979798999A9B9C9D9E9FA0A1A2A3A4A5A6A8A9AAABADAEAFB0B2B3B4B5B7B8B9BBBCBDBFC0C1C2C4C5C6C8C9CACCCDCED0D1D2D4D5D6D8D9DADBDCDDDEE0E1E2E4E4E5E6E7E9EAEAEBECEDEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9F9F8F8F8F7F7F6F5F5F4F3F3F2F2F1F0EFEEEEECECEBEAE9E8E7E6E5E4E2E1E0DFDEDDDCDAD9D8D7D5D4D3D1D0CFCDCCCAC9C8C6C5C4C2C1C0BFBDBCBAB9B8B6B5B4B2B1B0AFADACABAAA9A8A6A5A4A2A1A1A09F9D9C9C9B999898979695949392929185613E17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000143653717B7C7C7C7C7D7D7D7D7E7E7F7F7F80808081818182838384848485858686878888898A8A8B8B8C8D8E8E8F9091929293949596979898999B9B9C9D9FA0A0A1A2A4A5A6A7A9AAABACADAEB0B1B2B4B5B6B8B9BABCBDBEC0C1C2C4C5C6C8C9CACCCDCED0D1D3D4D5D7D8D9DADBDDDEDFE0E1E2E4E5E6E7E8E9EAEBEBECEEEEEFF0F0F2F2F3F3F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F4F3F3F2F1F0EFEFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DEDDDCDBD9D8D7D6D4D3D2D0CFCDCCCBC9C8C6C5C4C2C1C0BEBDBCBAB9B7B6B5B3B2B1AFAEADACAAA9A8A7A6A5A4A2A1A09F9E9D9C9B9A9998979695949393928B6844220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000143A59767B7B7C7C7C7C7D7D7D7E7E7F7F7F80808081818282838384848585868687888889898A8B8B8C8D8E8E8F90919293939495969798999A9B9C9D9E9FA0A1A2A3A4A6A7A8A9AAABADAEAFB0B2B3B4B6B7B9BABBBDBEC0C1C2C4C5C6C8C9CACCCDCFD0D1D3D4D6D7D8D9DBDCDDDEDFE1E2E3E4E5E6E7E8E9EAEBECEDEEEFEFF0F1F2F3F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9F9F8F8F8F7F7F6F5F5F4F3F3F2F2F0F0EFEEEDECEBEAEAE9E7E6E5E4E3E2E1E0DEDDDCDBD9D8D7D6D4D3D2D0CFCECCCBC9C8C6C5C4C2C1C0BEBDBBBAB9B7B6B4B3B2B0AFAEADABAAA9A8A6A5A4A3A2A1A09F9D9C9B9B9998979796949493927F5128060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002240677B7B7B7C7C7C7C7D7D7D7E7E7F7F808080818181828383848485858686878888898A8A8B8B8C8D8E8F8F90919293949496969798999A9B9C9D9FA0A1A2A3A4A5A6A8A9AAABADAEAFB0B2B3B4B6B7B8BABBBDBEC0C1C2C4C5C6C8C9CBCCCDCFD0D2D3D4D6D7D8D9DBDCDDDEE0E1E2E3E4E5E6E7E9EAEAEBECEDEEEFF0F0F2F2F3F3F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F4F3F2F2F1F0EFEEEEECECEBEAE9E8E7E6E5E4E2E1E0DFDDDCDBDAD8D7D6D4D3D2D0CFCECDCBCAC8C7C5C4C2C1C0BEBDBBBAB8B7B6B4B3B2B0AFAEADABAAA9A8A6A5A4A2A1A09F9E9D9C9B9A999897969594938C694011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F3153767B7B7B7C7C7C7C7D7D7D7E7F7F7F8080808181828383838484858586878888898A8A8B8B8D8D8E8F8F919192939495969798999A9B9C9D9E9FA0A1A2A4A5A6A8A9AAABADAEAFB0B2B3B4B6B7B8BABBBDBEC0C1C2C4C5C7C8C9CBCCCECFD0D2D3D4D6D7D8D9DBDCDDDEE0E1E2E4E5E6E7E8E9EAEBECECEEEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAFAF9F9F8F8F8F7F7F6F5F5F4F3F3F2F1F0F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1DFDEDDDCDAD9D8D6D5D3D2D0CFCECDCBCAC9C7C5C4C2C1C0BEBDBBBAB8B7B6B4B3B2B0AFAEACABAAA9A7A6A5A4A2A1A09F9D9C9B9B9998979696949387582806000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022446B7B7B7B7B7C7C7C7D7D7D7E7E7F7F8080808181828383838484858686878888898A8A8B8C8D8E8E8F90919293939496969798999B9B9C9D9FA0A1A2A4A5A6A7A8AAABACAEAFB0B2B3B4B6B7B8BABBBDBEC0C1C2C4C5C7C8CACBCDCECFD0D2D3D5D6D7D9DADBDDDEDFE0E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F0F1F2F3F3F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F4F3F2F2F1F0EFEEEEECECEBEAE9E7E6E5E4E3E2E1E0DEDDDCDBD9D8D7D6D4D3D1CFCECDCBCAC9C7C6C4C2C1C0BFBDBBBAB8B7B6B4B3B2B0AFAEACABAAA8A7A6A4A3A2A1A09F9D9C9B9A9998979695947B4C1D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001840627A7B7B7B7B7C7C7C7D7D7D7E7F7F7F80808181828283838484858686878889898A8A8B8C8D8E8F8F909192939495969798999A9B9C9D9FA0A1A2A3A4A6A7A8A9ABACADAFB0B2B3B4B6B7B8BABBBDBEC0C1C2C4C6C7C9CACBCDCECFD1D2D4D5D7D8D9DBDCDDDEE0E1E2E3E4E5E6E7E9EAEBEBECEEEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F3F3F2F1F0F0EFEEEDECEBEAE9E8E7E6E5E4E2E1E0DFDDDCDBD9D8D7D6D4D3D2D0CFCDCBCAC9C7C6C5C3C1C0BFBDBCBAB8B7B6B4B3B2B0AFADACABA9A8A7A5A4A3A2A19F9E9D9C9B9998989796947046120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F36587A7A7B7B7B7C7C7C7D7D7D7E7F7F7F80808181818283838485858686878889898A8B8B8D8D8E8F90919293939496979798999B9C9D9E9FA0A2A3A4A5A7A8A9AAACADAFB0B2B3B4B6B7B8BABBBDBFC0C1C3C4C6C7C9CACBCDCED0D1D3D4D6D7D8D9DBDCDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAFAF9F9F8F8F8F7F7F6F5F4F4F3F3F2F1F0EFEEEEECEBEBEAE9E7E6E5E4E3E2E1DFDEDDDCDAD9D7D6D4D3D2D0CFCECCCAC9C7C6C5C3C2C0BFBDBCBAB9B7B6B4B3B2B0AFADACABA9A8A7A5A4A3A1A09F9E9D9C9B999897969576460B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000931587A7A7B7B7B7C7C7C7D7D7D7E7F7F7F808081818283838484858586868888898A8A8B8C8D8E8E8F919192939495969798999A9B9D9E9FA0A1A2A4A5A6A8A9AAACADAFB0B2B3B4B6B7B8BABCBDBFC0C1C3C5C6C7C9CACCCDCFD0D2D3D4D6D7D9DADBDDDEDFE1E2E3E4E5E6E7E9EAEBEBECEEEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F9F9FAFAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F3F3F2F2F0F0EFEEEDECEBEAE9E8E7E6E5E4E2E1E0DEDDDCDBD9D8D7D5D4D2D0CFCECDCBC9C8C6C5C4C2C0BFBDBCBBB9B7B6B4B3B2B0AFADACABA9A8A6A5A4A2A1A09F9E9C9B9A999897967747120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000930587A7A7B7B7B7B7C7C7C7D7D7E7F7F7F808081818283838484858586878888898A8B8B8D8D8E8F909192939495969798999A9B9C9D9FA0A1A2A4A5A6A8A9AAACADAFB0B2B3B4B6B7B9BABCBDBFC0C2C4C5C6C8C9CBCDCECFD0D2D4D5D7D8D9DBDCDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F8F8F8F7F7F6F5F4F4F3F3F2F1F0EFEEEEECEBEBEAE9E7E6E5E4E3E2E0DFDEDCDBD9D8D7D6D4D3D1D0CECDCBCAC8C7C5C4C2C1BFBEBCBBB9B8B6B4B3B2B0AFAEACABA9A8A6A5A4A2A1A09F9D9C9B9A9998977847120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000935627A7A7A7B7B7B7C7C7C7D7D7E7F7F7F808081818283838484858686878889898A8B8C8D8E8F8F9192929394969798999A9B9C9D9FA0A1A2A4A5A6A8A9AAACADAFB0B2B3B4B6B7B9BBBCBDBFC1C2C4C5C7C8CACBCDCED0D1D3D4D6D7D8D9DBDCDDDFE0E1E3E4E5E6E7E9EAEBEBECEEEEEFF0F1F2F3F3F4F4F5F6F7F7F8F8F8F9F9FAFAFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAFAF9F9F8F8F7F7F6F5F5F4F4F3F2F2F0F0EFEEEDECEBEAE9E8E7E6E5E4E2E1E0DEDDDCDAD9D7D6D5D3D2D0CFCDCCCAC9C7C6C4C2C1C0BEBCBBB9B8B6B5B3B2B0AFAEACABA9A8A6A5A4A2A1A09F9D9C9B9A98978A4E1E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F3F6B7A7A7A7B7B7B7C7C7C7D7D7E7F7F7F8080818182838484858586878888898A8B8B8D8E8E8F909192939495969798999B9C9D9FA0A1A2A4A5A6A8A9ABACAEAFB0B2B3B5B6B8B9BBBCBEC0C1C2C4C6C7C9CACCCDCFD0D2D3D4D6D7D9DADCDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F0F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F3F3F2F1F0EFEEEEECECEBEAE9E7E6E5E4E3E1E0DFDDDCDBD9D8D7D5D4D2D1CFCECDCBC9C7C6C5C3C1C0BFBDBBB9B8B7B5B4B2B0AFAEADABAAA8A7A5A4A2A1A09F9D9C9B99989160290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001D49707A7A7A7B7B7B7C7C7D7D7D7E7F7F8080818182838384848586868888898A8A8B8C8D8E8F909192939495969798999B9C9D9FA0A1A2A4A5A6A8A9ABACAEAFB0B2B3B5B7B8B9BBBDBFC0C1C3C5C6C7C9CBCCCECFD0D2D4D5D7D8D9DBDCDDDFE0E1E3E4E5E6E7E9EAEBEBECEEEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F8F8F8F7F7F6F5F4F4F3F2F2F0F0EFEEEDECEBEAE9E8E7E6E5E4E2E1E0DEDDDCDAD9D7D6D4D3D2D0CECDCBCAC8C7C5C4C2C0BFBDBCBAB8B7B6B4B2B1AFAEADABAAA8A7A5A4A2A1A09F9D9C9B99986D3606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000527577A7A7A7A7B7B7B7C7C7D7D7D7E7F7F8080818182838484858586878889898A8B8C8D8E8F909192939495969798999B9C9D9FA0A1A2A4A5A7A8AAABADAEAFB1B2B4B6B7B8BABCBDBFC0C2C4C5C6C8CACBCDCED0D1D3D4D6D7D8DADCDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F0F2F2F3F4F4F5F6F7F7F8F8F8F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAFAF9F9F8F8F7F7F6F5F5F4F4F3F2F1F0EFEFEEECECEBEAE9E7E6E5E4E3E1E0DFDDDCDBD9D8D7D5D3D2D0CFCECCCAC9C7C6C4C2C1BFBDBCBBB9B7B6B4B3B1B0AEADABAAA9A7A6A4A3A1A09F9D9C9B998C4F12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F396A7A7A7A7A7B7B7C7C7C7D7D7E7F7F7F80818182838384858586878888898A8B8B8D8E8E8F9192939495969798999B9C9D9FA0A1A2A4A5A7A8AAABADAEAFB1B3B4B6B7B9BBBCBDBFC1C2C4C6C7C9CACCCDCFD0D2D3D5D6D8D9DBDCDDDEE0E1E2E4E5E6E7E9EAEBECECEEEFEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F5F4F3F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E2E1E0DEDDDCDAD8D7D6D4D3D1CFCECDCBC9C8C6C5C3C1C0BEBCBBB9B8B6B4B3B2B0AEADABAAA9A7A6A4A3A1A09F9D9C9B996731000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002151797A7A7A7B7B7B7C7C7C7D7D7E7F7F80808181828384848586868888898A8B8B8D8D8E8F9192939394969798999B9C9D9FA0A1A3A4A6A7A9AAABADAEB0B2B3B4B6B8B9BBBCBEC0C1C3C5C6C7C9CBCDCECFD1D3D4D6D7D8DADBDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F4F4F3F2F2F0F0EFEEEDECEBEAE9E7E6E5E4E3E1E0DFDDDCDBD9D8D6D5D3D2D0CFCDCBCAC9C7C5C4C2C0BFBDBBBAB8B7B5B3B2B0AFADACAAA9A8A6A5A3A2A09F9D9C9B86490C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F2C4C6097A2CEEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9E9E9E9EAEBEAEAE9E9EEF8E6DEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D59B8282828282828282828282D0FFFFFFFFFFFFFFEDCEAD9760552C0F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093569797A7A7A7B7B7B7C7C7D7D7E7E7F7F808181828384848585868788898A8A8B8D8D8E8F9191929394969798999B9C9D9FA0A1A3A4A6A7A9AAABADAFB0B2B3B5B7B8B9BBBDBFC0C2C4C5C7C8CACBCDCFD0D2D3D5D6D8D9DBDCDDDEE0E1E3E4E5E6E7E9EAEBECEDEEEFF0F0F2F2F3F4F4F5F6F7F7F8F8F8F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F5F4F3F3F2F1F0EFEFEEECEBEAE9E8E7E6E5E4E2E1E0DEDDDCDAD8D7D6D4D3D1CFCECDCBC9C7C6C4C2C1BFBDBCBBB9B7B6B4B2B0AFAEACAAA9A8A6A5A3A2A09F9D9C9B6E3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001935608DADCEF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEEEEEFEEEFEFF1F1F1F6FDEEE9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADA9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCEAD8D6035190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000215779797A7A7A7B7B7C7C7C7D7D7E7F7F808081828383848585868788898A8A8B8D8D8E8F9191929394969798999B9C9D9FA0A2A3A5A6A8A9AAACAEAFB0B2B4B6B7B8BABCBDBFC1C2C4C6C7C9CBCCCECFD1D2D4D6D7D8DADBDDDEE0E1E2E4E5E6E7E8E9EAEBECEEEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFAFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAFAF9F9F8F8F7F7F6F5F5F4F3F3F2F1F0EFEEEDECEBEAE9E8E6E5E4E3E2E0DFDDDCDBD9D8D6D5D3D2D0CFCDCBCAC8C6C5C3C1C0BEBCBBB9B8B6B4B3B1AFAEADABA9A8A6A5A4A2A19F9E9C955618000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C5582ADCEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E7E7E7E6E7E7E6E7E7E7EAF6E4DBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCEAD82552C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F436F797A7A7A7B7B7B7C7C7D7D7E7F7F80808181838384848586878889898A8B8C8D8E8F9191929395969798999B9C9D9FA0A2A3A5A6A8A9ABACAEAFB1B3B4B6B8B9BBBCBEC0C1C3C5C6C8CACBCDCED0D2D3D5D6D8D9DBDCDDDFE0E2E3E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F4F4F3F2F2F0F0EFEEEDECEBEAE9E7E6E5E4E2E1E0DEDDDCDAD9D7D6D4D3D1CFCECCCAC9C7C5C4C2C0BFBDBCBAB8B7B5B3B2B0AEADABAAA8A6A5A4A2A1A09E9D823E06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000235582ADD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDDCDEDEDCDBDBDADBDBDCE2EEDBD3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D59B8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9AD8D552C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052B6078797A7A7A7B7B7C7C7D7D7D7E7F80808181828384848586878889898A8B8C8D8E8F91929394959697989A9B9C9E9FA1A2A4A5A6A8AAABADAEB0B2B3B5B7B8B9BBBDBFC0C2C4C5C7C9CACCCECFD1D2D4D6D7D8DADCDDDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F0F2F2F3F4F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F8F7F7F6F5F4F4F3F2F1F0EFEEEEECEBEAE9E8E7E6E5E4E2E1DFDEDCDBD9D8D7D5D3D2D0CFCDCBCAC8C6C5C3C1C0BEBCBBB9B7B6B4B2B0AFAEACAAA9A7A6A4A2A1A09F9D772B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007356097CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAEAEAEAEAE9E9E9E9E9EEF8E7DEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9A28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE976A35070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001D577879797A7A7B7B7B7C7C7D7D7E7F7F808181828384848586878889898A8B8C8D8E8F91929394959698999A9C9D9EA0A1A2A4A5A7A9AAABADAFB0B2B4B6B7B9BBBCBEC0C1C3C5C6C8CACBCDCED0D2D3D5D6D8D9DBDCDEDFE1E2E3E5E6E7E8E9EAEBECEEEEEFF0F1F2F3F4F4F5F6F7F7F8F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F5F4F3F3F2F1F0EFEEEDECEBEAE9E7E6E5E4E3E1E0DEDDDCDBD9D7D6D4D3D1CFCECCCAC9C7C5C4C2C0BFBDBBB9B8B6B4B3B1AFAEADABA9A8A6A5A3A1A09F97641900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007356AADD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF1F1F2F2F1F1F1EFEFEEF3FBEBE4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE19F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3AD75350700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013487378797A7A7A7B7B7C7C7D7D7E7F7F808181828384848586868889898A8B8D8D8E8F91929394959798999B9C9D9FA0A1A3A5A6A8A9ABACAEAFB1B3B4B6B8B9BBBDBFC0C2C4C5C7C9CACCCECFD1D3D4D6D7D9DBDCDDDEE0E1E3E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFAFAF9F9F8F8F7F7F6F5F5F4F3F3F2F0F0EFEEEDECEBEAE9E7E6E5E4E2E1E0DEDDDBDAD8D7D5D3D2D0CFCDCBCAC8C6C5C3C1C0BDBCBAB8B7B5B3B2B0AFADABAAA8A6A5A4A2A19F91510C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000236097CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E6E4E4E6E7E6E7E7EAEEF7E6DEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDB9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9A2602C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009396F78797A7A7A7B7B7C7C7D7D7E7F7F808081828384848586868889898A8B8D8D8E8F91929394969798999B9C9D9FA0A2A4A5A6A8AAABADAEB0B2B3B5B7B8BABCBDBFC1C2C4C6C8CACBCDCFD0D2D3D5D7D8D9DBDDDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F0F2F3F3F4F4F5F6F7F7F8F8F9F9FAFAFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F4F4F3F2F2F0EFEFEEECEBEAE9E8E7E6E5E3E2E0DFDDDCDBD9D8D6D4D3D1CFCECCCAC9C7C5C4C2C0BFBDBBB9B8B6B4B2B0AFAEACAAA9A7A6A4A2A1A092450600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074075B9F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E4E4E6E7E7E7E9E7E9EEF8E7E1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDB9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B9824007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000535657879797A7A7B7B7B7C7C7D7D7F7F808081828384848586868889898A8B8D8E8E8F919293949697989A9B9D9EA0A1A2A4A5A7A9AAACADAFB0B2B4B6B7B9BBBDBFC0C2C4C5C7C9CACCCECFD1D3D4D6D7D9DBDCDDDFE0E2E3E4E6E7E8E9EAEBECEEEFEFF0F2F2F3F4F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F4F4F3F2F1F0EFEEEDECEBEAE9E7E6E5E4E3E1E0DEDDDCDAD8D7D6D4D2D0CFCDCBCAC8C6C5C3C1C0BDBCBAB8B7B5B3B2B0AEADABA9A8A6A5A3A1A085390600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F4C8DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F3F3F4F4F4F3F4F3F3F9FFEEEAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D09B8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE8D4C0F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B657879797A7A7B7B7B7C7C7D7D7F7F8080818283848485868788898A8A8B8D8E8F90919293959697999A9C9D9FA0A1A3A5A6A8A9ABADAEB0B2B3B5B7B8BABCBDBFC1C3C5C6C8CACBCDCFD0D2D4D5D7D8DADCDDDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F8F7F7F5F5F4F3F3F2F1F0EFEEEDECEBEAE9E7E6E5E4E2E1E0DEDCDBD9D8D6D5D3D2D0CECDCBC9C7C6C4C2C0BFBDBBB9B8B6B4B2B0AFADABAAA8A7A5A4A2A1853900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074C8DD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFEFEFEEEEEEEEEEEEEFF4FBEAE4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D99C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD98D4C0F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B5B7878797A7A7A7B7B7C7C7D7D7F7F8080818283848485868788898A8B8B8D8E8F90919394959798999B9C9D9FA0A2A4A5A6A8AAABADAFB0B2B4B6B7B9BBBDBFC0C2C4C5C7C9CBCDCED0D2D3D4D6D8D9DBDCDEDFE1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F5F4F3F3F2F0F0EFEEEDECEBEAE8E7E6E5E3E2E0DFDDDCDBD9D7D6D4D3D1CFCECCCAC8C6C5C3C1C0BEBCBAB8B7B5B3B2AFAEACAAA9A8A6A4A2A17A330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074082C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E6E4E4E4E4E3E6E6E6E9F4E2DADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD99C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE82400700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5B7878797A7A7A7B7B7C7C7D7D7F7F8080818283848485868788898A8B8C8D8E8F91929394969798999B9C9EA0A1A2A4A6A8A9AAACAEAFB1B3B5B7B8BABCBDC0C1C3C5C6C8CACBCDCFD0D2D4D6D7D9DBDCDDDFE0E2E3E5E6E7E8E9EAEBECEEEFF0F0F2F3F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F4F3F2F2F0EFEFEEECEBEAE9E8E7E5E4E3E1E0DEDDDCDAD8D7D5D3D2D0CECDCBC9C7C6C4C2C1BFBDBBB9B8B6B4B2B0AFADABAAA8A6A5A3A2862600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000196AB9F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEAEAEAEAEAEBEAECECF2F9EAE2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDE9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB97523000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5B7878797A7A7A7B7B7C7C7D7D7F7F8080818283848485868788898A8B8C8D8E8F919293949697999A9C9D9FA0A2A3A5A6A8AAABADAFB0B2B4B6B7B9BBBDBFC0C2C4C6C7C9CBCDCED0D2D3D5D7D8DADCDDDEE0E1E3E4E5E6E8E9EAEBECEEEFEFF0F2F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F4F3F2F1F0EFEEEDECEBEAE9E7E6E5E4E2E1E0DEDDDBD9D8D6D4D3D1CFCECCCAC9C7C5C4C1C0BEBCBBB8B7B5B3B2AFAEACAAA9A7A5A4A28739000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007408DE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E2E1E1E1E1E1DFE1E1E1E4EEDED7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDE9F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3974C0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5B7878797A7A7A7B7B7C7C7D7D7F7F8080818283848585868788898A8B8D8E8F90919294959698999B9C9D9FA1A2A4A5A7A9AAACAEAFB1B3B5B7B8BABCBEC0C1C4C5C7C9CACCCECFD1D3D4D6D8D9DBDCDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAFAF9F9F8F8F7F7F6F5F4F4F3F2F1F0EFEEEDECEBEAE9E7E6E5E4E2E1DFDDDCDBD9D7D6D4D2D0CFCDCBCAC8C6C5C2C1BFBDBBB9B8B6B4B2B0AFADABAAA8A6A5A3873A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F60B9F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDEDFDEDFE1E1E1E1E1E1E7F2E2DADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DF9F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB96019000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C657878797A7A7A7B7B7C7C7D7D7F7F8081818283848585868889898A8B8D8E8F919293949697989A9B9D9EA0A1A3A5A6A8A9ABADAFB0B2B4B6B8B9BBBDBFC1C2C4C6C8CACBCDCFD0D2D4D6D7D9DBDCDDDFE1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F6F5F4F3F3F2F1F0EFEEEDECEBEAE8E7E6E4E3E2E0DEDDDCDAD8D7D5D3D2D0CECDCBC9C7C6C4C2C0BEBCBBB9B7B5B3B2B0AEACAAA9A7A5A4883A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002375CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAECECEAEBEAEAEBECECF1F9E9E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE752C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B657878797A7A7A7B7B7C7C7D7D7F7F80818183838485868688898A8B8C8D8E8F919293959697999B9C9D9FA0A2A4A5A7A9AAACAEB0B2B3B5B7B9BBBCBEC0C2C4C5C7C9CBCDCED0D2D3D5D7D8DADCDDDEE0E1E3E4E6E7E8EAEBECEDEEEFF0F1F2F3F3F4F5F5F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F9F8F8F7F7F5F5F4F3F3F2F0F0EFEEECEBEAE9E8E7E5E4E2E1E0DEDDDBD9D8D6D4D3D1CFCECCCAC9C7C5C3C1BFBDBCBAB8B6B4B3B1AFADABAAA8A6A5964700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C82E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E6E7E7E9E7E9E9E7E7ECF7E6DEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3824000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B6F7878797A7A7A7B7B7C7C7D7E7F7F80818183838485868788898A8B8C8E8F90919394959798999B9C9EA0A1A3A4A6A8AAABADAFB0B3B4B6B8B9BCBDBFC1C3C5C6C9CACCCECFD1D3D4D6D8D9DBDDDEE0E1E2E4E5E7E8E9EAEBECEEEFF0F0F2F3F3F4F5F5F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F5F4F3F3F2F0EFEFEEECEBEAE9E7E6E5E4E2E1E0DEDCDBD9D8D6D4D3D0CFCDCBCAC8C6C4C2C1BFBDBBB9B7B6B4B2B0AEADABA9A7A59E4E060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C82E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E7E9E9E9E7E7E7E6E6E4E9F3E2DADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBA48282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3822C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005346F7878797A7A7A7B7B7C7D7D7E7F7F80818283848485868788898A8B8D8E8F919293949697999A9C9D9FA0A2A4A5A7A9AAADAEB0B2B3B6B7B9BBBDBFC0C2C4C6C8CACBCDCFD0D2D4D6D7D9DBDCDEE0E1E2E4E5E6E7E9EAEBECEEEFEFF0F2F2F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F5F4F3F2F2F0EFEEEEECEBEAE9E7E6E5E4E2E1DFDDDCDBD9D7D6D4D2D0CECDCBC9C7C5C4C2C0BEBCBAB8B7B5B3B1AFAEABAAA8A69F5B0D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C82E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9E9E9E9E9EAEBECEFEEF2FBEBE4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DF9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3822C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000943737878797A7A7A7B7C7C7D7D7E7F80808182838485868688898A8B8C8D8E90919294959798999B9C9EA0A1A3A5A6A8AAABADAFB1B3B4B7B8BABCBEC0C2C4C5C7C9CBCDCED0D2D4D6D7D9DBDCDDDFE1E2E4E5E6E7E9EAEBECEDEEEFF0F2F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F4F3F2F1F0EFEEEDECEBEAE9E7E6E5E3E2E0DEDDDCDAD8D7D5D3D2D0CECCCAC9C6C5C3C1BFBDBBB9B8B6B4B2B0AFADABA9A8A56F1A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001975E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9E9E9EAE9E9E7E9E7E7ECF7E7DFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D79C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE38219000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4C787878797A7A7B7B7C7C7D7D7E7F80808182838485868788898A8B8D8E8F919293949697989A9C9D9FA0A2A4A5A7A9ABADAEB0B2B4B6B8B9BBBDBFC1C3C5C6C9CACCCED0D2D3D5D7D8DADCDDDEE0E2E3E5E6E7E9EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F4F3F2F1F0EFEEEDECEBEAE8E7E6E4E3E1E0DEDDDBD9D8D6D4D3D1CFCECCCAC8C6C4C2C0BFBDBBB9B7B5B3B2B0AEACAAA9A68A270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F60C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E1E2E1E2E3E3E3E3E3EAF4E3DBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADA9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE600F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5F787878797A7A7B7B7C7C7D7E7F7F80818183848485868788898A8C8D8E8F919294959798999B9C9EA0A1A3A5A6A8AAACAEAFB2B3B5B7B9BBBDBFC0C2C4C6C8CACBCECFD1D3D4D6D8D9DBDDDEE0E1E3E4E6E7E8EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F4F3F2F1F0EFEEEDECEBE9E8E7E5E4E2E1E0DEDDDBD9D8D6D4D2D0CFCDCBC9C7C6C4C2C0BEBCBAB8B6B4B3B1AFADABAAA899420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004CADF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEDEE1E2DFE1E1DEDEDEDEE3EBDED7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDB9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB94C0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B6E787879797A7A7B7B7C7C7D7E7F80808182838485868688898A8B8D8E8F909293949697989A9C9D9FA1A2A4A6A8A9ABADAFB0B3B4B6B8BABCBEC0C2C4C5C7C9CBCDCFD0D2D4D6D8D9DBDCDEE0E1E2E4E5E7E8E9EBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F3F3F2F1F0EFEEECEBEAE9E8E6E5E4E2E1E0DEDCDBD9D7D6D4D2D0CECDCBC9C7C5C3C1BFBDBCB9B8B6B4B2B0AEADABA9A05D0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000238DEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F3F3F2F1F2F1F1F1F2F6FCECE6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED8D2300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053E72787879797A7A7B7B7C7D7D7E7F80808182838485868788898A8B8D8E8F919294959798999B9D9EA0A1A3A5A7A9AAADAEB0B2B4B6B8B9BBBDBFC1C3C5C7C9CBCDCED0D2D4D6D7D9DBDCDEDFE1E2E4E5E6E8E9EAEBECEEEFF0F1F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F3F3F2F1F0EFEEECEBEAE9E7E6E5E4E2E1DFDDDCDAD8D7D5D3D2D0CECCCAC9C6C5C2C1BFBDBBB9B7B5B3B1AFAEACAAA8781B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000755C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2E2E2E1E2E2E2E2E1E1E6EFDED7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDB9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE60070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E51777878797A7A7B7B7C7C7D7E7F7F808182838484858688898A8B8C8E8F909293949697999A9C9D9FA1A2A4A6A8AAABAEAFB1B3B5B7B9BBBDBFC1C2C5C6C9CACCCED0D2D3D5D7D8DADCDDDFE1E2E4E5E6E7E9EAEBECEEEFF0F1F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F3F3F2F0F0EFEEECEBEAE9E7E6E5E4E2E0DFDDDCDAD8D7D5D3D1CFCECBCAC8C6C4C2C0BEBCBAB8B7B4B3B0AFADABA994350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C97F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFDFDFE1DFDFE1E1E1E3ECDCD6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADA9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6972C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002164787878797A7A7B7B7C7C7D7E7F80808182838485868788898A8B8D8E8F919294959798999B9D9FA0A2A4A5A8A9ABADAFB0B3B4B6B8BABCBEC0C2C4C6C8CACBCECFD1D3D5D7D8DADCDDDEE0E2E4E5E6E7E9EAEBECEEEFF0F0F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F3F2F0EFEFEEECEBEAE9E7E6E5E3E2E0DEDDDBD9D8D6D4D3D1CFCDCBC9C7C6C4C2C0BEBCBAB8B6B4B2B0AEACAAA25706000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000755C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EFEFEFF1F1F1EFEEEFF1F6FCECE4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7A28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE550700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053972787878797A7A7B7C7C7D7D7F7F808181838484858688898A8B8C8E8F909293949697999B9C9EA0A1A3A5A6A9AAACAEB0B2B4B6B8B9BCBDC0C1C4C5C7C9CBCDCFD1D3D4D6D8D9DBDDDEE0E2E3E5E6E7E9EAEBECEEEFEFF0F2F3F3F4F5F5F7F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F3F2F0EFEEEDECEBEAE9E7E6E5E3E1E0DEDDDBD9D8D6D4D2D0CFCDCBC9C7C5C3C1BFBDBBB9B7B6B3B2AFAEABAA791B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F82EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAEBECEBEBECEBEBECECF2F9E9E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDC9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED8D19000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E51777878797A7A7B7B7C7C7D7E7F80808182838485868788898A8B8D8E8F9192949697989A9C9D9FA1A2A4A6A8AAABAEAFB1B3B5B7B9BBBDBFC1C3C5C7C9CBCDCFD0D2D4D6D8D9DBDDDEE0E1E3E5E6E7E9EAEBECEDEEEFF0F2F3F3F4F5F5F7F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFAFAF9F9F8F8F7F7F5F5F4F3F3F2F0EFEEEDECEBEAE9E7E6E4E3E1E0DEDCDBD9D7D6D4D2D0CECDCAC9C7C5C3C1BFBDBBB9B7B5B3B1AFADAB9C360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEAEAEAECEEEEEFEEEFF4FCECE6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1A58383838383838383838383D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002669787878797A7A7B7B7C7D7D7E7F808181838484858688898A8B8C8E8F919293949698999B9D9FA0A2A4A5A7A9ABADAFB1B3B5B7B9BBBDBFC1C2C5C6C9CACDCED0D2D4D6D7D9DBDCDEE0E1E3E4E6E7E9EAEBECEDEEEFF0F2F2F3F4F5F5F7F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F2F2F0EFEEEDECEBEAE8E7E6E4E2E1E0DEDCDBD9D7D6D3D2D0CECCCAC8C6C4C2C0BFBCBAB8B6B4B2B0AEADAA650D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E7E7E9E6E7E6E6E7E6E6EBF6E6DCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E19F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD955070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054777787878797A7A7B7C7C7D7E7F7F808182838485868788898A8B8D8E909193949697999B9C9EA0A1A3A5A7A9AAADAEB0B2B4B6B8BABCBEC0C2C4C6C8CACCCED0D2D3D6D7D9DBDCDEE0E1E2E4E6E7E8EAEBECEDEEEFF0F2F2F3F4F5F5F6F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F6F5F5F4F3F2F2F0EFEEEDECEBEAE8E7E5E4E2E1E0DEDCDBD9D7D5D3D2CFCECBCAC8C6C4C2C0BEBCBAB8B6B4B2B0AEAC8F2F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F6AEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E4E3E3E4E4E6E6E4E4EAF4E2DADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D69B8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED750F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001864777878797A7A7B7B7C7C7D7E7F808181838484858688898A8B8D8E8F9192939597989A9C9D9FA1A2A4A6A8AAACAEB0B2B4B6B8B9BCBEC0C2C4C6C8CACBCECFD2D3D5D7D9DBDCDDDFE1E2E4E5E7E8E9EBECEDEEEFF0F2F2F3F4F5F5F6F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F6F5F5F4F3F2F2F0EFEEEDECEBE9E8E7E5E4E2E1DFDDDCDAD8D7D5D3D1CFCDCBC9C7C6C4C1C0BDBBB9B7B6B3B2AFAEAB590700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198DF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDDEDEDFDEDFE1DFE1E1E1E3ECDBD3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFC8BCBCBABABCBCBC836A6A6A6A6A748282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6972300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053972787878797A7A7B7C7C7D7D7F7F808182838485868788898B8C8D8F909293949698999B9D9FA0A2A4A6A8AAABAEAFB2B3B6B7B9BBBDBFC1C4C5C7C9CBCDCFD1D3D5D7D8DADCDDDFE1E2E4E5E6E8E9EBECEDEEEFF0F2F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F6F5F5F4F3F2F2F0EFEEEDECEBE9E8E6E5E4E2E1DFDDDCDAD8D7D4D3D1CFCDCBC9C7C5C3C1BFBDBBB9B7B5B3B1AFAD89220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEEEEEEEEECEBEBEAEAEEF9E9E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFB7B79E8E8E6262603F3736360F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F12323D3D476F6F79A1A1B5D3DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA22300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000135F777878797A7A7B7B7C7C7D7E7F808181838485858688898A8B8D8E8F9193949697999B9C9EA0A1A4A5A7A9ABADAFB1B3B5B7B9BBBDBFC1C3C5C7C9CBCDCFD1D3D4D7D8DADCDDDFE1E2E4E5E6E8E9EBECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F6F5F5F4F3F2F2F0EFEEEDECEBE9E8E6E5E4E2E1DFDDDCDAD8D6D4D3D0CFCDCBC9C7C5C3C1BFBDBBB8B7B4B3B0AFAD52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E1DFDEDEDEDFE1E1E3E9F3E1D9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDACBB392885D55352D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3D3D6579A1B5D3EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB935000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003972777878797A7A7B7C7C7D7D7F808081828384858688898A8B8D8E8F9192939597989A9C9D9FA1A3A5A7A9ABADAFB0B3B4B7B8BBBDBFC1C3C5C7C9CBCDCFD0D3D4D6D8DADCDDDFE0E2E4E5E6E8E9EBECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F2F1F0EFEEEDECEBE9E8E6E5E4E2E0DFDDDCDAD8D6D4D2D0CFCDCAC9C6C5C2C0BFBCBAB8B6B4B2B0AE902200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEFEFEEEFEFEFEFEFEFF3FBEBE4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5B7A1885D44350F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3D5B79A1CAE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC435000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000135F77787878797A7B7B7C7D7D7E7F808182838485868788898B8C8D8F909293949698999B9D9FA1A2A4A6A8AAACAEB0B2B4B6B8BABCBFC0C2C5C6C9CACDCED0D2D4D6D8D9DBDDDEE0E2E4E5E6E8E9EAECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F2F1F0EFEEEDECEAE9E8E6E5E4E2E0DEDDDBD9D8D6D4D2D0CECDCAC8C6C4C2C0BEBCBAB8B6B4B2B0AE5A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E3E3E3E2E1E1E2E1E1E1E6F1E2DADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2C7A27C553A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3D658DB5DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003972777878797A7A7B7C7C7D7E7F808081838484858688898A8B8D8E909193949697999B9C9FA0A2A4A6A8AAACAEB0B2B4B6B8BABCBEC0C2C4C6C8CACCCED0D2D4D6D8D9DBDDDEE0E2E4E5E6E7E9EAECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F2F2F0EFEEEDECEAE9E8E6E5E4E2E0DEDDDBD9D8D6D4D2D0CECCCAC8C6C4C2C0BEBCB9B8B6B3B2AF9222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EFF1F1F2F3F3F3F3F3F3F7FDECE7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D1AA7F552C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3D6F98CAF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000135F777878787A7A7B7B7C7D7D7F7F8081828384858688898A8B8D8E8F9192949697989B9C9EA0A1A4A5A8A9ABADAFB2B3B6B7B9BCBDC0C2C4C6C8CACCCED0D2D4D6D8D9DBDDDEE0E2E4E5E6E7E9EAEBEDEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F2F2F0EFEEEDECEAE9E7E6E5E4E2E0DEDDDBD9D8D6D4D2D0CECCCAC8C6C4C2C0BDBBB9B7B5B3B1AF61070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9E9E9E9E9E6E7E7E7E7ECF8E6DCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3DCB38053260F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F346598CAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC43500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053E77777878797A7A7B7C7C7D7E7F808181838485868788898B8C8E8F9192939597989A9C9D9FA1A3A5A7A9ABADAFB1B3B5B7B9BBBDC0C2C4C6C7CACCCED0D2D4D6D7D9DBDDDEE0E2E4E5E6E7E9EAEBEDEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F8F7F7F5F5F4F3F2F2F0EFEEEDECEAE9E7E6E5E4E2E0DEDDDBD9D7D6D4D2D0CECCCAC7C6C4C1C0BDBBB9B7B5B3B1A1300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEAEAE9EBEBEAEAEAEAEFF8E6DEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDABD95602E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3D79ACE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC435000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002169777878797A7A7B7B7C7D7D7F7F8081838384858688898A8B8D8E909293949698999B9D9FA1A2A5A6A9ABADAFB0B3B5B7B9BBBDBFC1C4C5C7CACCCED0D2D3D6D7D9DBDDDEE0E2E4E5E6E7E9EAEBEDEEEFF0F2F2F3F4F5F5F7F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F8F7F7F6F5F4F3F2F2F0EFEEEDECEAE9E7E6E5E4E2E0DEDDDBD9D7D6D3D2D0CECCCAC7C5C4C1BFBDBBB9B7B4B3B07E0E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAEAEAEAEAEBEAEAEAEBEFF8E7E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFCE91551F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2B6598DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA223000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055177777878797A7B7B7C7C7D7E7F8081828384858688898A8B8D8E8F9193949697999B9D9FA0A2A4A6A8AAADAEB0B3B4B7B9BBBDBFC1C3C5C7CACBCECFD2D3D6D7D9DBDDDEE0E2E3E5E6E7E9EAECEDEEEFF0F2F2F3F4F5F5F7F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F6F5F4F3F3F2F0EFEEEDECEAE9E7E6E5E4E2E0DEDDDBD9D7D6D3D2CFCECBCAC7C5C3C1BFBDBBB8B7B4B2A94C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F8DF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEFECEFEFEFF1F1F1F1F6FCECE6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEC085471D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F5B98E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B72777878797A7A7B7C7C7D7E7F8081818384858687888A8B8D8E8F9192949697999B9C9FA0A2A4A6A8AAACAEB0B2B4B6B8BBBDBFC1C3C5C7C9CBCECFD2D3D6D7D9DBDDDEE0E2E3E5E6E7E9EAECEDEEEFF0F2F2F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F6F5F4F3F3F2F0EFEEEDECEBE9E8E6E5E4E2E0DEDDDBD9D7D6D3D2CFCECBC9C7C5C3C1BFBDBBB8B6B4B2941C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000775F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEEEEEEECECEEEEEFEFF4FCEAE4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDED098581D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2B6FB5EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68D0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5F777778787A7A7B7B7C7D7D7F7F8081838384858788898A8C8E8F9192939597989A9C9EA0A2A4A6A8AAACAEB0B2B4B6B8BBBCBFC1C3C5C7C9CBCECFD2D3D5D7D9DBDDDEE0E2E3E5E6E7E9EAECEDEEEFF0F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F6F5F4F3F3F2F0EFEEEDECEBE9E8E6E5E4E2E0DEDDDBD9D7D6D3D2CFCECBC9C7C5C3C1BFBCBAB8B6B4B27107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E7E7E7E7E6E7E9EAEBEEF8E6DFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1B2752F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F478DD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED6A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054277777878797A7B7B7C7C7D7E7F8081828384858688898A8B8D8E9092939597989A9C9DA0A1A3A5A8A9ABAEAFB2B4B6B8BABCBFC1C3C5C7C9CBCECFD1D3D5D7D9DBDDDEE0E2E4E5E6E7E9EAECEDEEEFF0F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F7F7F6F5F4F3F3F2F0EFEEEDECEBE9E8E6E5E4E2E0DEDDDBD9D7D6D3D2CFCECBC9C7C5C3C1BFBCBAB8B6B4AB3F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E4E6E6E6E6E4E6E4E4E3E7F2E3DADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4DBA45A1D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2B6FC0F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002672777878797A7A7B7C7C7D7E7F8081828384858688898A8B8D8E909193949698999C9D9FA1A3A5A7A9ABADAFB2B4B6B8BABCBFC1C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E7E9EBECEDEEEFF0F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFBFAF9F9F8F7F7F6F5F4F3F3F2F0EFEEEDECEBE9E8E6E5E4E2E0DEDDDBD9D7D6D3D2CFCDCBC9C7C5C2C1BFBCBAB8B6B38E1C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000019A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFEFF1EFF1F1EFEEEEEEF3FBEAE3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECDB964B0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F175BB5EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB923000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5F777778787A7A7B7B7C7D7D7F8080818384858687888A8B8D8E8F9193949698999B9D9FA1A3A5A7A9ABADAFB1B3B6B8BABCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8E9EBECEDEEEFF0F2F3F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F8F7F6F5F4F4F3F2F0EFEEEDECEBE9E8E6E5E4E2E0DEDDDBD9D7D6D3D2CFCDCBC9C7C5C2C0BEBCBAB8B6B363070000000000000000000000000000000000000000000000000000000000000000000000000000000000000782F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBECEBECECEEEFF1F1EFF4FCECE6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFC78E470F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52A1EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D07000000000000000000000000000000000000000000000000000000000000000000000000000000000000054277777878797A7B7B7C7D7D7E7F8081828384868788898B8C8E8F9192949697999B9D9FA1A2A5A6A9ABADAFB1B3B6B8B9BCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8E9EBECEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F8F7F6F5F4F4F3F2F1F0EFEDECEBEAE8E6E5E4E2E0DEDDDBD9D7D6D3D2CFCDCBC9C7C5C2C0BEBCB9B8B6AC40000000000000000000000000000000000000000000000000000000000000000000000000000000000000004CE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E6E7E9E7E7E6E6E6E7EBF6E6DEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFD08E370F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52A1F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED55000000000000000000000000000000000000000000000000000000000000000000000000000000000000002672777878797A7A7B7C7C7D7E7F8081828384858688898A8C8D8F9192949697999B9D9FA1A2A4A6A9AAADAFB1B3B6B7B9BCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8E9EBECEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F5F4F4F3F2F1F0EFEEECEBEAE8E7E5E4E2E0DEDDDBD9D7D6D3D2CFCDCBC9C7C5C2C0BEBCB9B7B69D1C00000000000000000000000000000000000000000000000000000000000000000000000000000000000023B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F8F8F8F8F7F7F8F7F7F9FFEFE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD192450F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F175BB5F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4230000000000000000000000000000000000000000000000000000000000000000000000000000000000000E64777778787A7A7B7B7C7D7E7F8081828384858688898A8B8D8F9092939597999B9C9FA0A2A4A6A8AAADAFB1B3B5B7B9BCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8EAEBECEDEFF0F1F2F3F4F4F5F6F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F5F5F4F3F2F1F0EFEEECEBEAE8E7E5E4E2E0DEDDDBD9D7D6D3D2CFCDCBC9C7C5C2C0BEBCB9B7B5810700000000000000000000000000000000000000000000000000000000000000000000000000000000000782F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF3F3F2F2F1F1EFEFEFEEF4FBEBE4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6AE53150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F176FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D070000000000000000000000000000000000000000000000000000000000000000000000000000000000055077777878797A7B7B7C7D7D7F8080818384858688898A8B8D8E9092939597989B9C9EA0A2A4A6A8AAADAFB0B3B5B7B9BCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E7E8EAEBECEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F5F5F4F3F2F1F0EFEEECEBEAE9E7E5E4E2E1DFDDDBD9D7D6D3D2CFCECBC9C7C5C2C0BEBCB9B7B55D00000000000000000000000000000000000000000000000000000000000000000000000000000000000040E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F3F3F2F2F2F2F2F3F3F9FFEFE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBBE731C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2B8DE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED4C0000000000000000000000000000000000000000000000000000000000000000000000000000000000003877777878797A7B7B7C7D7D7F7F80818384858687898A8B8D8E9092939597989A9C9EA0A2A4A6A8AAACAEB0B3B5B7B9BCBEC0C2C5C7C9CBCDCFD1D3D6D7D9DBDDDEE0E2E4E5E7E8EAEBECEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F6F5F4F3F2F1F0EFEEECEBEAE9E7E6E4E2E1DFDDDBD9D8D6D3D2CFCECBC9C7C5C2C0BEBCB9B7AE3200000000000000000000000000000000000000000000000000000000000000000000000000000000000FADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E4E3E3E2E3E1E3E3E3E9F3E1DADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2DB91400F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52B5F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD1900000000000000000000000000000000000000000000000000000000000000000000000000000000001C6E777778797A7A7B7C7C7D7E7F80818283858687888A8B8D8E8F91939497989A9C9EA0A2A4A6A8AAACAEB0B3B5B7B9BCBEC0C2C5C7C9CBCDCFD2D3D6D7D9DBDDDFE1E2E4E5E7E9EAEBECEEEFF0F1F2F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F7F7F6F5F4F3F2F2F0EFEEECEBEAE9E7E6E4E2E1DFDDDCD9D8D6D4D2CFCECBC9C7C5C2C0BEBCB9B79F16000000000000000000000000000000000000000000000000000000000000000000000000000000000060EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7ECECEEEEEEEEEFEFEFEFF2FBE9E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDABD60150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F79E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5E777778787A7A7B7C7C7D7E7F80818283848687888A8B8C8E8F91939496989A9C9EA0A2A4A6A8AAACAEB0B3B5B7B9BCBEC0C2C5C7C9CBCECFD2D3D6D8D9DBDDDFE1E2E4E6E7E9EAEBECEEEFF0F2F2F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBFAF9F9F8F7F7F6F5F4F3F3F2F0EFEEEDEBEAE9E7E6E4E2E1DFDDDCDAD8D6D4D2D0CECBC9C7C5C2C0BEBCB9B78A070000000000000000000000000000000000000000000000000000000000000000000000000000000023B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EEEEEEECECEEEEEFEFEFF4FBEBE4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6DE9B400F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52B5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE2300000000000000000000000000000000000000000000000000000000000000000000000000000000055077777878797A7B7B7C7D7E7F8081828384858688898B8C8E8F91939496989A9C9DA0A1A4A6A8AAACAEB0B3B5B7B9BCBEC0C2C5C7C9CBCECFD2D4D6D8D9DCDDDFE1E2E4E6E7E9EAEBECEEEFF0F2F3F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F4F3F2F0EFEEEDECEAE9E7E6E5E3E1DFDDDCDAD8D6D4D2D0CECBC9C7C5C2C0BEBCB9B766000000000000000000000000000000000000000000000000000000000000000000000000000000000075F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E3E2E2E1E1E1DEDFE1E1E6EFDFD9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6D6771D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F8DEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68200000000000000000000000000000000000000000000000000000000000000000000000000000000003E77777878797A7B7B7C7D7D7F8081818384858688898A8C8E8F9192949698999C9DA0A1A4A6A8AAACAEB0B3B5B7B9BCBEC0C2C5C7C9CBCED0D2D4D6D8DADCDDDFE1E2E4E6E7E9EAEBEDEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F4F3F2F0EFEEEDECEBE9E7E6E5E3E1E0DEDCDAD8D6D4D2D0CECBC9C7C5C2C0BEBCB9B0480000000000000000000000000000000000000000000000000000000000000000000000000000000023CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EBEBEBE9E9EBEAE9EBEBF2F9E9E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFB1590F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F176FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE23000000000000000000000000000000000000000000000000000000000000000000000000000000002B72777878797A7A7B7C7D7D7F7F80818384858688898A8C8D8F9192949698999C9DA0A1A4A6A8AAACAEB0B3B5B7B9BCBEC0C2C5C7C9CBCED0D2D4D6D8DADCDDE0E1E3E5E6E7E9EAECEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F5F5F4F3F2F1F0EFEDECEBE9E8E6E5E3E1E0DEDCDAD8D6D4D2D0CECCCAC7C5C3C1BFBCB9A92B0000000000000000000000000000000000000000000000000000000000000000000000000000000075F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFBFBFBF9F9F9F8F9FBFBFDFFF2EFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDC953E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF675000000000000000000000000000000000000000000000000000000000000000000000000000000001C68777778797A7A7B7C7C7D7F7F80818384858688898A8C8D8F9192949698999B9D9FA1A4A5A8AAACAEB0B3B5B7B9BCBEC0C2C5C7C9CBCED0D2D4D6D8DADCDEE0E1E3E5E6E7E9EBECEDEEF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F7F6F5F4F3F2F1F0EFEEECEBEAE8E6E5E4E2E0DEDCDBD8D7D4D2D0CECCCAC7C5C3C1BFBCBAA21600000000000000000000000000000000000000000000000000000000000000000000000000000019C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF1F3F2F2F2F2EFF1F1F2F7FCECE7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEE68E1E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34ACF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE230000000000000000000000000000000000000000000000000000000000000000000000000000000E63777778797A7A7B7C7C7D7E7F80818384858688898A8B8D8F9192949697999B9D9FA1A4A6A8AAACAEB0B3B5B7B9BCBFC1C3C5C7CACCCED0D2D4D6D8DADCDEE0E1E3E5E6E8EAEBECEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBFAF9F9F8F7F7F6F5F4F3F2F1F0EFEEECEBEAE8E7E5E4E2E0DEDCDBD9D7D4D3D0CECCCAC7C5C3C1BFBCBA8C0E00000000000000000000000000000000000000000000000000000000000000000000000000000060F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E7E7E9E7E7E6E6E6E7E7ECF7E7DFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E4E4E6E4E6E4E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBCC711C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F98F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF675000000000000000000000000000000000000000000000000000000000000000000000000000000055A777778787A7A7B7C7C7D7E7F80818384858688898A8B8D8F9192949697999B9D9FA1A4A6A8AAACAEB0B3B5B8BABCBFC1C3C5C7CACCCED0D2D4D7D8DBDCDEE0E2E4E5E7E8EAEBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F3F2F0EFEEECEBEAE9E7E5E4E2E0DEDDDBD9D7D5D3D0CFCDCAC8C6C4C1BFBCBA760700000000000000000000000000000000000000000000000000000000000000000000000000000FB9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEDDEDEDFE1DFDFDFDFE1E1E3EBDCD6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D7D6D6D7D6D7D7D7D7D7D5D5D7D7D7D9DADBDADADADADBDBDBDCDBDBDADADADBDADADADBDCDCDEDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCCE6A150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F79EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9190000000000000000000000000000000000000000000000000000000000000000000000000000004777777878797A7B7B7C7D7E7F80818284858687898A8B8D8F9192949697999B9D9FA1A4A6A8AAACAEB1B3B6B8BABCBFC1C3C5C7CACCCED0D3D5D7D9DBDDDEE0E2E4E5E7E9EAEBECEEEFF0F2F2F3F4F5F6F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F4F3F2F0EFEEEDEBEAE9E7E6E4E2E1DEDDDBD9D7D5D3D1CFCDCAC8C6C4C1BFBCBA6700000000000000000000000000000000000000000000000000000000000000000000000000000040EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCF4F4F6F4F4F6F4F7F7F8FCFFF2EEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D3D3D3D5D5D5D7D6D7D7D7D5D5D3D1D1D3D5D3D1D1D1D1D1D1D0D0D0D0D0D0D0D0D0D0D0D0D0D3D3D3D3D5D5D5D5D5D5D5D6D7D7D6D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADABD57150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1779EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED4C0000000000000000000000000000000000000000000000000000000000000000000000000000003877777878797A7B7B7C7D7E7F80818283858687898A8B8D8E9092949697999B9D9FA1A4A6A8AAADAFB1B3B6B8BABCBFC1C4C6C8CACDCFD1D3D5D7D9DBDDDEE0E2E4E6E7E9EAEBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F7F5F4F4F3F2F0EFEEEDECEAE9E7E6E4E2E1DFDDDBD9D7D6D3D1CFCDCAC8C6C4C1BFBDBB4A0000000000000000000000000000000000000000000000000000000000000000000000000000078DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF7ECECEBEBECEEECECECECF1F9E9E2E2E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2DFE1E1DFDFDFDEDFDFE1E1E1E1DFE1E1DFDFE1E1E2E2E2E2E1E1E1E2E2E1DFDEDEDBDBDBDEDEDEDEDEDEDEDEDEDBDBDBDEDEDEDEDEDFE1E1E1E1E2E2E2E2E3E3E4E4E4E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADABC550F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1779EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970700000000000000000000000000000000000000000000000000000000000000000000000000002F72777878797A7B7B7C7D7E7F80818283848687898A8B8D8E9092949697999B9DA0A1A4A6A8AAADAFB1B3B6B8BABDBFC1C4C6C8CACDCFD1D3D5D7D9DBDDDFE1E2E4E6E7E9EAEBEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBFAF9F8F8F7F7F6F5F4F3F2F1F0EFEDECEBE9E7E6E5E3E1DFDDDCD9D8D6D3D2CFCDCBC9C6C4C2BFBDB43B000000000000000000000000000000000000000000000000000000000000000000000000000023D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEFDEDEDCDBDBDCDCDEDEDEE3EBDAD5D5D6D7D7D7D7D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E1E1E1E1E1E1E1E1E1E1E1E1DFE1DFDFDFDFDFDFE1E1E1DFDFDFDFDFDFE1E1E1E1E1DFE1E1DFDFDFDFE1E1E2E2E3E4E4E4E3E3E3E2E2E3E1E1DFDFDFE1E1E2E1E2E3E2E2E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2C35A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1779EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE32C00000000000000000000000000000000000000000000000000000000000000000000000000001C71777878797A7A7B7C7D7D7F80818283848687888A8B8D8E9092949697999B9DA0A2A4A6A8AAADAFB1B3B6B8BBBDBFC1C4C6C9CBCDCFD1D3D6D8D9DCDDDFE1E3E5E6E7E9EAECEDEEF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBFAF9F9F8F7F7F6F5F4F3F2F1F0EFEEECEBEAE8E6E5E3E1E0DEDCDAD8D6D4D2CFCDCBC9C6C4C2C0BDB42C000000000000000000000000000000000000000000000000000000000000000000000000000055F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF6EBEBEBECECECECEFEEEEF3FBEAE3E2E3E3E3E3E3E3E6E3E3E3E2E2E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E4E3E3E3E2E2E2E3E2E2E1E1E1E1E1E1E1E1DFDEDEDEDEDBDBDBDCDCDCDCDBDBDBDBDBDBDBDBDBDEDCDBDEDEDBDCDCDEDCDBDADAD9DAD9DADADADADADADADBDCDBDEDBDADBDEDEDEDCDEDBDCDBDADBDCDCDEDEDBDBDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1D06B0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1779EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66A00000000000000000000000000000000000000000000000000000000000000000000000000001C6D777778797A7A7B7C7D7D7F80818283848587888A8B8D8E9092949698999C9DA0A2A4A6A8AAADAFB2B4B6B8BBBDC0C2C4C6C9CBCDCFD2D4D6D8DADCDDE0E1E3E5E6E8E9EBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F3F2F0EFEEECEBEAE8E7E5E4E2E0DEDCDAD8D6D4D2D0CECBC9C7C5C2C0BDA4250000000000000000000000000000000000000000000000000000000000000000000000000007A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF7EBEEEEEEEFF1EFF2F1F1F7FCECE4E6E6E6E6E6E4E4E3E3E2E3E3E2E2E2E3E3E4E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9E9E9E9E9E9E9E9E9E6E7E7E7E7E7E6E6E9E9E9E9E9E9E9E6E6E6E6E4E3E2E1E1E1E1E1E1E1DFE1E1E1DFDFDEDEDEDEDEDEDFDFDFDFDFDFE1DFDFE1E1E1DFDFDFDFE1DFE1DFDFDEE1E1DFDFDEDFDFDFDEDCDBDEDEDCDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEE074150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F98F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD07000000000000000000000000000000000000000000000000000000000000000000000000000E68777778797A7A7B7C7D7D7F80818283848587888A8B8D8E9092949698999C9EA0A2A4A6A9ABADAFB2B4B6B8BBBDC0C2C5C7C9CBCED0D2D4D6D8DADCDEE0E2E4E5E6E8EAEBECEEEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F4F3F2F0EFEEECEBEAE9E7E5E4E2E0DEDCDBD8D7D4D2D0CECBC9C7C5C2C0BEA416000000000000000000000000000000000000000000000000000000000000000000000000002CD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9F1F2F2F2F2F4F2F2F2F2F4FCEBE3E3E3E4E3E3E3E2E3E3E3E3E1E1E1E1E1E1E1E2E1DFDFE1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADAD9D9D9DADBDBDBDAD9D9D7D6D5D5D5D5D6D7D7D9DADAD9D7D9DAD9D9D9D7D9DADADADADADADADADADBDADADBDADADBDCDCDCDEDEDEDEDEDEDEDBDCDBDBDCDBDBDBDCDCDBDBDBDADADBDCDCDBDBDBDBDBDEDEDEDEDEDEDEDEDCDEDEDEDBDBDBDEDEDEDEDEDEDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDED6841C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE32C000000000000000000000000000000000000000000000000000000000000000000000000000E68777778787A7A7B7C7C7D7F80818283848587888A8B8D8F9192949698999C9EA0A2A4A6A9ABADAFB2B4B7B9BBBDC0C2C5C7C9CBCED0D2D4D7D8DBDCDEE0E2E4E5E7E9EAEBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F7F5F5F4F3F2F0EFEEEDEBEAE9E7E6E4E2E1DEDDDBD9D7D5D3D0CECCCAC7C5C3C0BE9616000000000000000000000000000000000000000000000000000000000000000000000000006AF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEF1E3E3E3E4E6E6E6E6E4E6EBF6E6DCDEDBDCDBDADBDCDCDEDEDBDBDADAD9D9D9D7D7D7D6D6D6D5D3D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDEDEDEDEDBDBDEDEDEDEDEDEDFDFDFDFDFDEDEDEDEDFDFDEDFE1E1E1E1E1E1E3E3E2E2E1E1E1DFDFDFDEDEDEE1E1DEE1E1E1DEDEDEDEDEDEDFDEDEDFDEDEDEDEDEDEDEDEDEDEDEDEDFDEDEDEDEDEDCDEDEDEDEDEDEDEDEDEDEDEDEDFE1E1E1E1E2E1E2E1DFDEDFDEDEDFDEDCDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2981D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34B5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66A00000000000000000000000000000000000000000000000000000000000000000000000000055A777778787A7A7B7C7C7D7F80818283848587888A8B8D8F91929496989A9C9EA0A2A4A6A9ABAEB0B2B4B7B9BCBEC0C2C5C7CACCCED0D3D4D7D9DBDDDEE0E2E4E6E7E9EAEBEDEEEFF0F2F3F4F4F5F7F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBFAF9F9F8F7F7F6F5F4F3F2F1F0EFEDECEAE9E7E6E4E2E1DFDDDBD9D7D5D3D1CFCDCAC8C5C3C1BF8F0700000000000000000000000000000000000000000000000000000000000000000000000007A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF6ECECECEAEBECEAE9E9E9EEF7E6DEDEDCDCDEDEDFDEDEDEDFE1E1E1E1E1E1E1DFDFDFDFE1E1E1E1E1DFDFDFE1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADADADADADADADBDCDBDEDBDADBDEDEDEDCDEDBDCDBDADBDCDCDEDEDBDBDADAD9D9D9D7D6D6D5D5D5D3D3D5D5D5D6D7D7D7D7D7D6D7D7D9D9D7D6D6D7D6D6D6D7D7D9D9DADADADADAD9D7D7D7D9D9D9D7D7D7D6D6D5D7D7D6D7D9D9D9D9DADADAD9D9D9DAD9D7D9DADADADADAD7D7D7D7D7D7D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCAE2E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD07000000000000000000000000000000000000000000000000000000000000000000000000055A77777878797A7B7C7C7D7F80818283848587888A8B8D8F91929496989A9C9EA0A2A5A7A9ABAEB0B2B5B7B9BCBEC1C3C5C7CACCCED0D3D5D7D9DBDDDFE1E2E4E6E7E9EAECEDEEF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EFEEECEBE9E8E6E5E3E1E0DDDCD9D8D6D3D1CFCDCAC8C6C4C1BF8F0700000000000000000000000000000000000000000000000000000000000000000000000019CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF0E3E4E4E3E3E2E2E2E3E1E6EFDED9D9D7D9D7D7D9D9D9D7D7D6D5D6D6D6D7D7D7D7D7DADADAD7D7D9DADBDADBDCDEDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E4E4E4E3E3E3E2E3E2E1E2E2E2E1E2E3E3E2E2E2E3E3E3E3E2E1E1E1E1E1E1E2E1E1E1E1E1DEDEDCDBDADADBDCDEDEDEDCDCDEDEDEDEDEDCDCDCDCDCDCDCDBDBDADADADADADADAD9D9D9D9D7D7D7D7D9DADBDBDCDBDADADADADBDADADBDBDBDADADADADAD9D7D7D7D7D7D9D7D7D9D9D9D9D9DADBDBDADBDBDBDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD923000000000000000000000000000000000000000000000000000000000000000000000000055A77777878797A7B7C7C7D7F80818283848587898A8B8D8F91929496989A9C9FA0A2A5A7A9ABAEB0B3B5B7B9BCBFC1C4C6C8CACDCFD1D3D6D7D9DCDDDFE1E3E5E6E8E9EBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F3F2F0EFEEECEBEAE8E6E5E4E1E0DEDCDAD8D6D4D2CFCDCBC9C6C4C1BF900700000000000000000000000000000000000000000000000000000000000000000000000040F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF8F2F4F3F2F4F4F4F4F3F2F7FBECE7E9E7E9E9E9EAEAEAEAEAE9EAEAEAEAEAE9E9E6E7E9E9E9E9E9EAE9E9E9EAEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDEDFDEDFDFDFDFDFDFDFDFDEDEDEDEDEDBDBDBDEDEDEDEDEDEDFDFDFDEDEDFE1E1E1E1DEDFDFDFE1E2E1DFDFDFE1DFE1E2E1E1E1E1E2E3E4E4E3E2E2E3E3E3E3E4E6E6E4E3E3E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E3E1E2E2E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E1E1E1DFE1DFDFE1E1E1E1E1E2E2E2E1E1E1DFDEDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDE600F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1782F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64C000000000000000000000000000000000000000000000000000000000000000000000000054B77777878797A7B7C7C7D7F80818283848687898A8B8D8F91929496989A9C9FA1A3A5A8AAACAEB0B3B6B8BABCBFC1C4C6C9CBCDCFD2D3D6D8DADCDEE0E1E3E5E6E8EAEBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F7F5F5F4F3F2F0EFEEEDEBEAE9E7E5E4E2E0DEDCDBD8D6D4D2D0CECBC9C6C4C2C0880700000000000000000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF7EBEAEAEBEBEBECECECEFF2F8E9E1E2E1E1E1E1E1E1E1DFE1E1E1DFDFDFE1E1E1DFDEDEDEDEDCDEDEDEDEDEDEDEDEDCDCDEDEDEE1E1E2E2E3E3E3E3E3E3E3E2E2E2E1E1E1E1E1E2E1E1DFDFE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDEDEDFE1E1E1E1E1DFDFDFDFDFDFDFE1E2E3E3E3E3E3E3E3E3E2E3E3E3E4E4E6E4E6E6E6E6E4E3E4E4E4E4E3E6E6E4E4E6E3E2E2E2E3E3E3E3E1E3E3E3E3E3E1E1E1E1E1E2E2E2E2E2E2E1E1E1E1E2E2E3E4E4E6E4E4E6E6E4E3E4E6E4E4E4E3E3E2E2E1E2E2E1E1E2E3E3E4E3E4E4E3E3E3E3E3E3E3E3E3E1E1E1DFDEDEDFDFDFE1E1E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2620F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000000000000000000000000000004777777878797A7B7C7C7D7F80818283848687898A8C8D8F91939497989B9D9FA1A3A5A8AAACAFB1B3B6B8BBBDBFC2C4C6C9CBCDCFD2D4D6D8DADCDEE0E2E4E5E7E9EAEBECEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFAF9F9F8F7F7F6F5F4F3F2F1F0EEEDECEAE9E7E6E4E2E1DEDDDBD9D7D4D2D0CECBC9C7C5C2C07100000000000000000000000000000000000000000000000000000000000000000000000007ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF0E4E3E2E3E4E4E4E4E6E6EAF3E2DADADADADBDBDCDEDEDEDBDBDADBDBDBDBDADBDADAD9D9DADBDADADADADADADBDBDBDBDBDADADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E7E9E7E7E7E6E6E7E9EAE9E9E7E7E7E7E9E9E9EAE9E7E9EAE9E9EAEAEAE9E9E7E7E6E7E7E9E7E7E7E7E9E9E9E9E7E7E9E9E7E7E7E7E6E4E4E6E6E6E6E6E7E6E7E7E9E7E6E6E7E6E7E6E4E4E4E6E6E4E4E4E4E4E4E3E3E1E1E1E1DFDFDFE1DFDEDEDCDEDCDCDBDBDCDBDADBDBDBDBDBDEDEDEDEDEDEDEDEE1DFDFDFDEDEDEDEDEDEDEDEDFE1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1620F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4070000000000000000000000000000000000000000000000000000000000000000000000004777777878797A7B7C7C7D7F80818283848688898A8C8E8F91939497999B9D9FA1A3A5A8AAADAFB1B4B6B8BBBDC0C2C5C7C9CBCED0D2D4D7D8DBDDDEE0E2E4E6E7E9EAECEDEEEFF1F2F3F4F5F5F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EFEEECEBE9E7E6E4E2E1DFDDDBD9D7D5D3D0CECCCAC7C5C2C07200000000000000000000000000000000000000000000000000000000000000000000000019D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCF8F2F2F2F2F3F3F3F3F4F6F9FCECE9E9E9E9E9E9E9E9E9E9E9EAEAE9EAEAEBEBEBECECECECEBEBEBECEEEEEEEEEEECECEBECECECECEEEFEFEEEEEEEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDEDEDEDBDBDBDBDAD9D9D7D7D7D9DADADADADBDADADADADBDEDBDBDADADADADADAD9D9D9D9D9D7D7D7D7D7D7D7D7D6D6D6D5D5D5D5D3D0D0D1D0D1D1D1D1D3D3D1D1D0D1D1D1D3D3D3D5D5D5D5D5D3D3D1D0D0D1D3D1D0D0D0D0D0D0D0CFD0D0D0D0D0D0D0D0D0D0D0D1D3D1D1D3D3D5D3D3D3D3D5D6D7D6D7D7D6D6D6D6D6D6D7D6D6D7D7D6D5D5D5D5D6D7D6D6D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDF620F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1782F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3190000000000000000000000000000000000000000000000000000000000000000000000004777777878797A7B7C7C7D7F80818283858688898A8C8E8F91939597999B9D9FA1A4A6A8AAADAFB2B4B6B9BBBDC0C2C5C7CACCCED0D3D5D7D9DBDDDFE1E2E4E6E7E9EBECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F3F2F0EFEEECEBEAE8E6E5E3E1E0DDDCD9D7D6D3D1CFCDCAC8C5C3C17200000000000000000000000000000000000000000000000000000000000000000000000035EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBEDDEDEDCDBDBDBDCDEDEE1E6F1DED6D7D7D7D7D7D6D7D9D9DADAD9D9D9D9DADAD9DADADADADBDCDCDCDEDEDEDEDEDEDEDBDCDBDBDCDBDBDBDCDCDBDBDBDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D6D6D6D7D7D7D7D7DADADAD7D7D9DADBDADBDCDEDEDEDEDEDEDEDEDFDEDEDFDEDEDEDEDEE1DEDEDCDEDCDCDCDCDEDEDEDEDEDEDCDBDAD9DADAD9D9D9DADAD9DADADADADADBDADADAD7D7D6D6D6D7D7D7D9DADAD9DADBDBDCDCDCDCDBDCDCDCDCDBDCDCDEE1E1E1E1E1E1DFDEDFDEDEDEDEDEDEDEDEDEDEDBDADADADCDCDCDEDBDBDBDBDBDEDEDEDFE1E1E2E1E2E2E3E4E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D65E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6400000000000000000000000000000000000000000000000000000000000000000000000004777777878797A7B7C7C7D7F80818283858688898A8C8E8F91939597999B9DA0A1A4A6A9ABADAFB2B4B7B9BCBEC0C3C5C8CACDCFD1D3D5D7D9DCDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBFAF9F8F8F7F7F5F5F4F3F2F0EFEEECEBEAE9E7E5E4E2E0DEDCDAD8D6D4D2CFCDCBC9C6C4C17300000000000000000000000000000000000000000000000000000000000000000000000060F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBEDDEDEDFDFE1E1E1E2E3E3E9F3E1D9DADBDCDCDCDADCDCDBDAD9D9DADBDCDBDADBDCDCDCDBDBDBDBDBDBDBDBDBDBDCDCDEDEDEDEDCDCDBDBDBDBDBDADBDADADAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDCDBDBDADADADBDADADADBDCDCDEDCDCDEDEDEDCDEDEDEDEDEE1DEE1E1E2E2E2E3E3E3E4E3E4E4E6E6E4E4E4E4E3E4E6E7E6E6E4E4E4E4E6E6E6E7E6E4E6E7E6E6E7E7E7E6E6E4E4E3E4E4E6E4E6E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E3E4E6E6E6E6E6E7E6E6E6E9E7E6E6E7E6E7E6E4E4E4E6E6E4E6E4E6E4E4E3E3E2E1E1E2E1E1E1E1E1DFDFDEDFDEDEDCDBDEDBDADBDBDBDBDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000000000000000000000000004777777878797A7B7C7D7D7F80818284858688898B8C8E8F92939697999B9DA0A2A4A6A9ABAEB0B2B5B7B9BCBFC1C4C6C8CACDCFD1D3D6D8DADCDEE0E2E4E5E7E8EAEBECEEEFF0F2F3F4F4F5F7F7F8F8F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F9F8F7F7F6F5F4F3F2F1F0EEEDECEAE9E7E6E4E2E0DEDCDBD8D6D4D2D0CECBC9C6C4C1730000000000000000000000000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAEFE2E3E3E3E3E4E3E4E6E4E9F3E2DBDBDADADADBDBDBDCDCDCDCDCDCDCDADADADBDEDEDEDEDEDEDFDEDCDCDCDCDBDADBDBDBDADBDBDBDBDADADAD9D7D7D9D9D9D9D7D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDBDBDBDBDCDEDCDBDBDADAD9D9D9DADADADBDBDBDADBDCDCDEDEDEDEDCDEDEDEDCDBDCDCDEE1E1E1E1E1E1DFDEDFDEDEDCDCDCDCDCDCDCDBDAD9D9D9DADAD9DAD9D9D7D7D7DADADADBDEDEDEDEDEDEDFE1E2E2E1E1E2E2E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E2E1E1E2E1E1E1E2E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E2E2E1E1E2E3E3E3E3E2E1E1E1E1E1E1E2E1E2E1E1E1DFDEDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970700000000000000000000000000000000000000000000000000000000000000000000004777777878797A7B7C7D7D7F80818284858688898B8D8E9092939698999C9EA0A2A5A7A9ABAEB0B3B5B8BABCBFC1C4C6C9CBCDCFD2D4D6D8DBDCDEE0E2E4E5E7E9EAECEDEEF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EFEEECEBE9E7E6E4E2E1DFDDDBD9D7D4D2D0CECBC9C7C5C273000000000000000000000000000000000000000000000000000000000000000000000007B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9EEE1E2E1DFDFDEDEE1DEDEE4EBDBD3D5D5D5D3D1D1D0D0D1D3D3D5D3D3D3D3D3D3D3D3D5D6D6D6D6D6D6D5D5D5D5D6D6D7D6D6D5D5D5D6D5D5D5D5D7D6D5D6D6D6D6D5D3D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDEDEDCDCDBDBDBDBDBDADBDADAD9D9DADBDADADAD9DAD9DADBDBDADADAD9D7D7D9D7D9DADAD9D9D7D7D9D9DADAD7D9D9D9D7D7D7D7D7D7D5D3D3D3D1D0D0D0D1D1D1D0D0CFCFCECECBCBCBCBCBCECECBCBCED0D0CECBCBCBCBCECFD0D1D0CFD0CFCECECECBCBCBCECBCFCECED0D0D3D3D3D5D5D5D3D3D5D5D6D6D6D6D6D5D5D6D6D7D7D9DAD9DAD9D9DADBDBDCDBDBDADADADBDADADADBDCDCDEDCDCDEDEDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFB92F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC407000000000000000000000000000000000000000000000000000000000000000000000047777778787A7A7B7C7D7E7F80818384858688898B8D8E90929496989A9C9EA0A2A5A8AAACAEB1B3B6B8BBBDC0C2C4C7C9CBCED0D2D4D7D9DBDDDEE1E2E4E6E7E9EBECEEEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBFAF9F8F8F7F6F5F4F4F3F2F0EFEEECEBEAE8E6E5E3E1DFDDDCD9D7D5D3D0CECCCAC7C5C273000000000000000000000000000000000000000000000000000000000000000000000019CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9ECDEDEDEDEDFDFDEE1E1E1E4EEE1DADADADADADBDCDCDCDCDCDEDBDBDBDBDBDBDBDBDCDCDBDADADADADBDCDEDEDEDEDEDEE1E1DFDEDEDEDEDEDEDEDEDEDEDCDEDFDFDFDEDFE1E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDBDBDBDEDEDEDCDCDBDBDADBDBDBDBDBDAD9D9D9D9DADADADADADADADADBDCDBDCDCDEDCDEDEDFDFDFDFDFDEDFDFDFDEDEDEDEDFDFDEDEDEDEDEDEDEDEDEDFDFDEDEE1E1E1E1E2E3E3E2E2E1E1E1E2E2E3E3E4E3E3E3E3E3E3E3E4E3E3E3E4E3E3E2E3E2E2E2E2E3E3E3E3E3E4E6E6E6E6E6E4E6E6E7E7E7E7E9EAEAEAEBEBEBEBEBEAEBEBEBEAE9EAE9E7E7E9E9E7E7E7E6E4E3E3E4E4E4E4E4E4E4E3E3E4E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1DA750F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F178DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000000000000047777778787A7A7B7C7D7E7F808183848586888A8B8D8F91929496989A9C9FA1A3A5A8AAADAFB1B4B6B8BBBDC0C2C5C7CACCCED0D3D5D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEEDEBEAE9E7E5E4E2E0DEDCDAD8D6D3D1CFCDCAC8C5C393000000000000000000000000000000000000000000000000000000000000000000000023E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F4EEEEEFEEECEEEFEEEFF1F6F9EAE6E4E4E3E4E4E6E4E6E6E6E7E7E7E7E7E6E7E7E7E7E7E7E6E4E4E6E6E7E7E7E9E7E9E9EAE9E7E9EAE9E9E7E6E6E6E7E7E6E6E6E7E6E6E4E4E3E2E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDBDBDBDEDEDEDCDBDEDEDEDFDEDEDEDEDEDCDEDCDCDCDCDCDEDCDEDEDCDEDEDEDEDEDEDEDEDCDCDBDCDBDADAD9DADBDADADADBDBDBDBDADBDBDCDCDCDCDBDBDBDBDCDEDCDADADADCDADCDEDCDCDBDCDEDFE1E1DFDEDEDFDFDFDFE1E1E1E1DFDFE1DFDEDFDEDFE1E1E1E1E1E1E1E1DFE1DEDFDFDEDEDEDEDEDFDFDEDFDFDFE1E1E1E1E1DEDFDFDEDEDEDEDEDFE1DFE1E1E1E1DFE1E1DFDEDEDEDCDBDCDCDCDCDCDCDBDCDBDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5AF2C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE335000000000000000000000000000000000000000000000000000000000000000000000047777778787A7A7B7C7D7E7F808183848587888A8B8D8F91939496989B9D9FA1A4A6A8AAADAFB2B4B7B9BCBEC0C3C5C7CACDCFD1D3D6D8DADCDEE0E1E4E5E7E9EAEBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EFEDECEAE9E7E6E4E2E0DEDCDBD8D6D4D2CFCDCBC9C6C493070000000000000000000000000000000000000000000000000000000000000000000035F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F4ECECECECECECECEEECEEF2F7E7E1E1E1E2E3E3E3E3E4E6E6E6E6E6E4E6E6E7E7E7E7E9E9EAEAEBEBEBEBEBEAEBEBEBEAE9EAE9E7E7E9E9E7E7E7E6E4E3E3E4E4E4E4E4E4E4E3E3E4E3E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2DFE1E1E1E1E2E1E1E1E1E1DFE1E1DFDFDFDEDFDEE1E1E1E1DEE1E1DEDEDFDFE1E1E1E1DFDEDEE1E1DFDEDBDAD9D9D9DADADADADAD9D9D9D9D7D7D7D7D7D9D9D9DADADADADADBDBDBDBDCDBDEDEDEDEDCDCDBDBDBDADBDBDBDEDEDEDEDBDCDCDCDEE1E1E1DFE1E1E1DFE1E1E1E1E1E1E1E3E3E4E6E3E3E3E4E4E3E3E3E4E4E4E4E4E3E2E2E1E1E1E1E3E3E3E2E2E3E4E4E6E7E7E6E7E7E7E7E6E6E4E3E3E4E4E4E4E3E2E3E3E3E2E2E1DFE1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBD5680F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F178DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64000000000000000000000000000000000000000000000000000000000000000000000005A777778797A7A7B7C7D7E7F808183848587898A8B8D8F91939497999B9D9FA1A4A6A9ABADB0B2B4B7B9BCBFC1C4C6C8CBCDCFD2D4D6D8DBDCDEE0E2E4E5E7E9EAECEDEEF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F3F2F0EFEEECEBE9E7E6E5E3E1DFDDDBD9D7D4D2D0CECBC9C6C494070000000000000000000000000000000000000000000000000000000000000000000060F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6ECDFDFE1DFE1E1E1E1E2E3E9F2E1D7D9D7D7D9D7D9D9D7D9D7D9D9DAD9D9D9D9D7DAD9D9D9DAD9D9D9DADBDBDADADADADCDEDEDFDEDEDEDFE1E1E1E2E3E2E3E4E3E3E2E1E1DFDEDEDEDCDBDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9E9E9E9EAE9E9E9E9E9E9E9E9E7E9E9E9E9E9E7E9E9E9E9EAEAE9EBEBE9E9E9E9E7E7E7E7E7E7E7E6E6E7E7E6E7E7E7E7E7E7E9E9E9E7E6E6E7E9E9E9E9E7E6E6E4E6E6E6E6E6E9E9E7E7E7E7E7E7E6E6E6E6E6E6E6E7E6E6E6E6E6E7E7E7E7E7E9E9E9E9EAEAEAE9E9EAE9E9E9E9E9E9E9E9E9E9E9EAEAEBEBEAE9E9E7E7E6E6E6E7E9E7E6E7E9E9E9E7E6E6E6E6E6E6E6E6E6E7E6E6E7E7E9E7E9E9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E3E3E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7B12D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000000000000000000000000000000000000000000000000000000000000000000000055A777778797A7A7B7C7D7E7F808183848687898A8C8E8F91939597999B9DA0A2A4A6A9ABAEB0B3B5B8BABCBFC1C4C6C9CBCED0D2D4D7D9DBDDDEE1E2E4E6E7E9EBECEEEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEBEAE8E6E5E3E1E0DDDCD9D7D5D3D0CECCCAC7C59B080000000000000000000000000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F7F7F7F7F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5EDE3E1E2E1E3E4E6E4E3E3E9F3E2DBDCDCDCDBDCDEDFE1E1E1DEDEE1E1E1E1E2E3E3E3E2E2E3E2E1E2E1E2E3E3E3E3E3E4E3E3E3E3E1E2E2E1E1E1E2E2E2E2E1E1E1E1E2E2E2E2E2E1E1E1DFE1DFE1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E1E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E3E3E2E2E2E2E2E1DFDFE1DFE1E1DEDEDEDEDEDEDEDCDCDCDCDCDBDBDADAD9D9D9D9D7D7D6D6D5D6D5D5D5D5D3D3D3D3D3D0D0D1D0D0D0D0D0D0D0D0CECECECECECECFCECECECECBCBCBCBCECECBCBCACACACACACBCAC9C9C9C9C9C9C9C9C8C8C8C6C6C8C6C8C9CACBCBCBCBCECECECED0D0D0D1D3D1D1D3D1D0D3D3D3D1D3D5D7D7D7D7D7DADADADADADADADADADADBDBDBDBDBDBDCDEDEDBDBDBDBDBDBDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4770F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000000000000000000000055A777778797A7B7B7C7D7F7F808283848688898A8C8E8F92939697999C9EA0A2A5A7A9ACAEB0B3B6B8BBBDC0C2C5C7C9CCCED0D3D5D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EEEDECEAE9E7E5E4E2E0DEDCDAD8D6D3D1CFCDCAC7C5AB170000000000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F7F7F7F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F5F5F5F5F5E3D3D5D5D5D7D7D7D7D7D7DCE4D5CBCACACBCFCECBCBCBCBCBCECBCACBCBCBCBCBCBCECECECECED0D1D0D1D3D3D3D3D3D3D3D5D6D6D5D7D7D5D5D5D5D5D6D7D6D6D7D7D6D5D5D5D5D6D7D6D6D6D5D5D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDBDBDBDEDEDEDEDEDEDEDEDCDEDEDEDBDBDBDCDCDCDEDEDEDEDCDCDCDADADADADCDCDEDEDEDEDEDCDADAD9D9D9D6D7D7D7D6D7D6D5D6D5D5D3D1D0D0D1D1D1D1D0D0D0CFD0CFCECECECECECECECECECBCBCECBCECFCECECFCFCECECECFD0D1D1D1D1D1D1D1D1D0D0D0D0D0D0CECED0CFCFD0CFCFD0D0D0D0D0CFCECFCFD0D0D0D0D1D1D3D5D5D3D3D5D6D7D6D7D9DBDBDBDBDCDCDCDEDEDEDEDEDEDEDEDEDEE1DFDFDEE1DEDEDEDEDFDFDFDFDFDFDEDEDBDADBDBDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1C0360F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000000000000055A777778797A7B7B7C7D7F80818283858688898B8D8E90929496989A9C9EA0A3A5A8AAACAFB1B4B6B9BBBDC0C2C5C7CACDCFD1D3D6D8DADCDEE0E2E4E5E7E9EAEBEDEEEFF1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EFEEECEBE9E7E6E4E2E0DEDCDBD8D6D4D2CFCDCBC9C6AC170000000000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F3F3F3F3F3F3F3F3E6D7D9D9D7D9DADADADBDADEEAD9D3D3D1D3D5D3D3D5D5D6D6D7D9D9D7D7D7D9D7D7D7D7D9D7D7D7DADAD9D9DAD9D9D9DADADADADADADADBDCDEDCDEDEDCDCDCDEDEDEDBDBDBDEDEDEDEDEDEDEDEDEDEDCDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D6D5D6D6D6D7D7D7D7D7DADADAD7D7D9D9DAD9DADBDEDEDCDBDCDCDCDEDEDEDEDEDEDEDCDCDCDEDCDCDBDBDADADADADADADADADAD9D7D6D5D3D5D3D3D3D3D5D5D1D3D3D3D3D3D3D3D1D1D0D0CECECECFCFCFCFD0D0CFD0D1D1D3D3D3D3D1D3D3D3D3D1D3D3D6D7D7D9D9DAD9D7D6D7D6D6D5D6D6D6D6D6D7D7D5D3D3D3D5D5D5D6D5D5D6D6D6D7D9DADBDCDCDEDEDEDEDFE2E3E3E2E2E3E3E3E3E4E6E6E6E4E4E6E4E4E4E4E6E6E6E6E6E4E3E3E4E3E3E3E4E4E4E4E4E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDF84150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2070000000000000000000000000000000000000000000000000000000000000000000E68777778797A7B7C7C7D7F80818284858688898B8D8E91929496989A9C9FA1A3A6A8AAADAFB2B4B7B9BCBFC1C4C6C8CBCDCFD2D4D6D8DBDCDEE0E2E4E6E7E9EBECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEBEAE8E6E5E3E1DFDDDBD9D7D4D2D0CECBC9C6BC1F00000000000000000000000000000000000000000000000000000000000000000007B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F7F7F7F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F7F7F7F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1E6DADBDCDEDEDCDEDEDEDBE2ECDBD5D5D6D5D3D5D5D7D7D6D5D5D5D5D6D7D7D7D6D6D5D7D7D7D7DAD9D9D7D9D9D9D9DADBDBDBDADADBDCDCDEDCDCDCDEDEDBDCDCDEDEDEDEDEDEDEDFDEDFDFDFDFDFDFDFDFDEDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E1E1E2E2E2E2E2E1E1E1DFE1DFDFE1E1E1E1E1E1E1E1DFDFDFDEDCDBDBDADADADADADADADAD9DAD7D7D7D7D6D6D7D7D7D7D9D7D7D5D5D5D5D5D3D3D1D3D3D1D1D3D5D3D3D1D1D3D5D3D3D3D5D5D6D3D3D3D3D3D3D1D3D3D5D5D6D7D6D7D7D6D6D6D6D6D7D6D6D5D3D3D3D6D5D6D6D6D7D7D9D9D9D9D9D9DADADADADADADADADBDBDBDADADADBDBDADADADBDBDCDCDADADBDBDBDCDCDBDBDBDEDEDCDCDCDCDBDBDBDBDADADADADADADADADADBDADADADADAD7D7DAD9D9D9D7D9D9D9DAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3D3510F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4070000000000000000000000000000000000000000000000000000000000000000000E68777878797A7B7C7D7D7F808183848586888A8B8D8F91939497989B9D9FA1A4A6A9ABADB0B2B5B7BABCBFC1C4C6C9CBCED0D2D4D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EEEDEBEAE9E7E5E4E1E0DDDCD9D7D5D3D0CECCCAC7BD2E00000000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F9F9F9F8F8F8F8F7F7F7F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F3F3F3F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F7F7F8F8F8F8F9F9F9F9F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0E4D9D7D7D7D9DBDADCDBDBE1EBDBD3D5D6D6D6D7D9D7D9D9DADADADCDEDEDFDFE1E1E2E3E1E1E2E1E1E2E4E6E4E4E3E4E4E4E6E6E6E7E7E6E7E9E7E7E9EAEAE9E9E7E7E6E9E9E9E9E9E9E9EAEAEAEAEAE9EAEAEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E1E1DFDFE1E1E1DEDEDEDEDEDEDEDEDEDEDCDBDBDCDEDEDCDCDCDCDBDADBDBDBDBDBDBDAD9D9D9DADAD9D7D6D6D6D7D9D7D6D5D5D5D5D5D5D5D6D5D3D3D3D3D1D1D1D3D3D3D0D0D1D3D3D3D1D1D0D1D1D0D0D0D0D0D0D0D1D0D0D1D0D1D1D1D1D1D0D0D1D0D0D0D0D0CFCFCFD0D1D0D0D0D1D3D3D3D0D3D5D6D6D6D6D5D6D7D7D9DADAD7D7D7DAD7DADADBDBDADBDCDFE1E1DFDEDEE1E1E1E1E2E3E3E3E2E2E3E2E1E3E2E3E4E3E3E3E3E4E3E3E3E3E2E3E3E2E1E1E2E2E2E2E1E1E1E1E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1B2260F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4070000000000000000000000000000000000000000000000000000000000000000001C71777878797A7B7C7D7E7F808183848587888A8B8D8F91939597999B9DA0A2A4A6A9ABAEB0B3B6B8BBBDC0C2C5C7CACCCED0D3D5D7D9DCDDE0E1E4E5E7E9EAEBEDEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EFEEECEBE9E7E6E4E2E0DEDCDAD8D6D3D1CFCDCAC8C53600000000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F9F9F9F8F8F8F7F7F6F6F6F6F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F5F5F5F5F5F5F5F5F5F5F6F6F6F7F7F8F8F8F8F9F9F9F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F7F7F7F6F6F6F6F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEFEFEFEFEFEFEFEFEFE6DEDCDEDEDEDEDCDEDEDEE1EADAD0D0D0D0D1D1D3D3D1D3D3D1D1D1D3D3D5D5D5D5D7D7D6D6D6D6D5D6D6D6D5D7D7D7D7D9DAD9DAD9D9DADBDBDBDCDEDEDFDEDEDEDEDEDEDEDFDFE1E1E2E3E2E3E3E2E2E2E2E2E3E2E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADAD9D9D7D9D9D9D9D7D6D6D6D6D6D7D7D6D7D5D3D3D3D5D5D5D3D3D1D1D1D1D1D1D1D0CFCECECECECECBCAC9C9C9C9C9C8C8C9C9C9C9C9C9C9CAC9CACBCACACBCECACACAC9C8C9C9C9C8C9C9CACBCBCECBCECECBCBCBCBCBCBCACACBCACBCBCBCBCECECECBCBCBCBCBCBCECFCFCFD0D0D0D0D0D0D1D1D0D1D1D1D1D1D3D5D6D5D7D9D7D7D9D9DADADADADADADADADBDBDCDEDFDFDFE1DFDEDEDEE1E1E1DFDEDEDCDBDBDCDCDBDEDCDCDEDEDEDEDEDEDEDEDEDEDFDFDFDFDEDEDEDBDEDEDBDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6810F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1798FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9190000000000000000000000000000000000000000000000000000000000000000001C727778787A7A7B7C7D7E7F808183848587898A8C8E8F92939597999C9EA0A2A5A7AAACAEB1B3B6B8BBBDC0C3C5C7CACDCFD1D3D6D8DADCDEE0E2E4E6E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEBEAE8E6E5E2E1DFDDDBD9D7D4D2CFCDCBC9C64E00000000000000000000000000000000000000000000000000000000000000000019C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F9F9F8F8F8F7F7F6F6F6F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F3F3F3F3F3F3F3F3F5F5F5F5F5F5F5F6F6F6F7F7F8F8F8F9F9F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F8F8F8F8F8F7F7F6F6F6F6F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F1F1F1F1F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEDEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEDEDEDEDE2D7D7D9D7D7D7D9DADBDBDFE9DAD1D3D5D5D5D5D5D3D3D6D7D7D7D7D9D9DADADADADADBDEDEDEDCDCDCDBDADBDAD9D9DBDBDADBDBDBDCDCDEDCDCDCDEDCDCDEDEE1E1DFE1DEDFE1E1E1E1E1DFDFDFDFDFE1DFE1E1E1E1E2E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E2E2E3E3E4E4E4E4E3E3E3E3E4E6E7E6E4E6E6E6E3E3E3E4E3E3E3E4E6E6E6E7E4E4E4E4E4E3E2E2E3E3E1E1E1DFDEDEDBDBDBDBDCDBDCDADADADBDBDCDCDCDCDCDCDCDBDAD9D7D7D5D7D6D6D6D5D3D3D3D3D3D3D1CFCFCECFD0D0CFCECECECECBCBCBCBCBCBCBCACACACACAC9CACACACBCAC9C9C8C8CAC9C9CAC9C9C8CAC9C9C9C6C6C5C6C8C9CACAC9C9C9CACACBCBCBCECFD0D0D1D0D0D0D0D0D0D0D0D3D1D1D0D1D1D3D3D3D3D5D6D5D5D5D5D5D5D3D1D3D5D5D3D5D5D3D5D6D6D6D6D5D5D5D5D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBC53E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3190000000000000000000000000000000000000000000000000000000000000000002B777778787A7A7B7C7D7E7F808183848687898A8C8E90929496989A9C9EA1A3A5A8AAADAFB2B4B7B9BCBFC1C4C6C9CBCDCFD2D4D6D8DBDDDEE1E2E4E6E7E9EBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1EFEEEDEBEAE9E7E5E3E1E0DDDCD9D7D5D3D0CECBC9C75E00000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F9F9F8F8F8F7F6F6F6F5F5F5F5F5F5F3F3F3F3F3F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F3F3F3F3F3F3F5F5F5F5F5F5F6F6F6F7F8F8F8F9F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F9F8F8F8F8F7F7F6F6F6F6F5F5F5F5F5F5F5F5F3F3F3F3F3F1F1F1F1F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEDEDEDEDEDECECECECECECECECECECECECECECECEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9EBEBEBEBEBEBECECECECECECECECE2D6D5D6D6D6D7D7D9D7D7DCE6D7D0D0CFCECECFD0D1D0D0D0D0CFD1D0D3D3D3D3D3D3D5D5D3D5D5D6D7D7D7D6D7D9DADBDADADADADADADADADBDBDBDBDCDBDCDEDCDEDEDEDEDEDEDEDFDEDEDEDEDEDBDBDBDEDEDEDEDEDEDFE1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E2E2E2E2E2E1E1E1DFE1DFDFE1E1E1E1E1E1E1E1DFDFDFDEDCDBDBDADADADADADADADAD7D9D7D6D6D6D6D5D7D7D6D6D7D6D5D3D3D3D1D1D1D0D0D0D0CFCFD0D0CFD0CFCED0D0D0D0D0D1D1D1D0D0CFD0CFCFCECFCED0D0D1D1D1D1D1D0D0D0D0D0D1CFCFCECBCBCBCFCFD0CFCFD0D0D3D3D3D1D1D1D1D1D3D3D3D3D3D3D5D5D3D3D3D3D5D5D5D3D3D6D5D6D7D5D3D5D6D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D9D9DAD9D7D7D7D7D7D7D7D7D7D7D7D7D7D9D9D7D6D6D6D6D6D7D7D6D7D6D5D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFB1260F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3190000000000000000000000000000000000000000000000000000000000000000002F777778797A7B7B7C7D7E7F818283858688898B8D8E90929496989A9C9FA1A4A6A8ABADB0B2B5B7BABCBFC1C4C6C9CBCED0D3D5D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFAF9F8F8F7F6F5F4F3F2F1F0EFEDECEAE9E7E6E4E2E0DEDCDAD8D6D3D1CFCCCAC77600000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F9F8F8F8F7F6F6F6F5F5F5F5F5F3F3F3F3F1F1F1F1F0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F3F3F3F3F5F5F5F5F5F6F6F6F7F8F8F8F9F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F8F8F8F8F7F7F6F6F6F5F5F5F5F5F5F5F3F3F3F3F3F3F1F1F1F0F0F0F0F0F0F0F0EFEFEFEFEFEFEDEDEDEDECECECECECECECECECECEBEBEBE9E9E9E9E9E9E9E8E8E8E8E8E8E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9DDD0D0D0D1D1D3D1D3D5D5DAE3D3C9C9CACBCACBCECECECECBCECFCFD0D0CED0D0D1D0D0D0D0D3D3D0D0D0D0D0CFCFCFD0D0D0D0D0CFCFCECECECECFD0D0D1D1D0D0D1D3D3D1D0D0D0D0D0D3D3D6D3D3D3D3D1D1D1D0D0D0D1D0D1D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E7E9E7E7E7E6E6E7E9EAE9E9E7E6E6E6E9E9E7E7E7E6E7E9E7E6E7E7E7E6E6E4E4E3E4E3E4E3E3E3E3E3E3E3E3E2E1E2E2E1E1E1DFDEDBDBDCDCDCDCDCDCDBDCDBDCDBDADADAD9DAD7D6D6D6D6D6D5D5D5D5D3D3D1D1D0CFCECECBCBCBCECBCACAC9CAC9C9C9C8C9C8C6C8C8C8C8C8C9C9CAC9C9CACACACECBCECECBCBCECECECBCECFD0D1D1D1D3D1D1D5D5D3D1D1D1D1D3D5D5D5D6D6D6D5D5D6D7D7D9D9D9D9D9D7D9DADADADADBDADADADADCDCDBDAD9DADBDBDEDBDBDBDBDBDBDBDCDCDEDBDBDBDBDBDBDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E27D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000000047777778797A7B7B7C7D7F80818284858688898B8D8F91939497999B9D9FA1A4A6A9ABAEB0B3B6B8BBBDC0C2C5C7CACCCED1D3D6D8DADCDEE0E2E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEBEAE8E6E5E2E1DEDDDBD8D6D4D2CFCDCAC89708000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F8F8F8F7F6F6F6F5F5F5F5F3F3F3F3F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEDEDEDEDEDEDEDEDECECECECECECECECECECECECECECECECEDEDEDEDEDEDEDEFEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F3F3F3F3F5F5F5F5F6F6F6F7F8F8F9F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F8F8F8F8F7F7F6F6F6F5F5F5F5F5F5F3F3F3F3F3F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEDEDEDEDECECECECECECECECEBEBE9E9E9E9E9E8E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E5E5E5E5E5E5E5E5E5E5E5E5E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E0D5D7D7D9D9DADADADBDCE1E7DAD5D5D5D5D7D6D7D7D9D7D7D7D9D9D9DAD9DADBDADBDBDBDADADADCDCDCDCDBDEDEDFDEDFDEDEDEDEDEE1E1E1E1E1E1E1E1E1E1E2E2E3E4E4E4E4E4E6E6E4E3E6E6E6E6E6E4E4E3E3E2E3E3E2E2E2E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E3E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1DFE1E1DEDFDEDEDEDEDEDEDEDEDEDEDCDCDBDBDBDCDBDBDCDBDADBDAD7D7D7D7D9D9DADADADADADAD9D7D7D6D6D7D5D5D1D1D1D1D1D3D1D1D3D1D1D1D3D1D1D0D0D0D0D0CFCFCFCECECECFCFCECECFCECECFCFCFCFCFD0D1D1D3D1D1D1D0D0D0D0D0D0D1D0D1D1D1D3D1D5D5D5D5D6D5D5D5D6D6D7D5D6D7D7D7D7D6D7DADADADBDCDCDCDADBDBDBDADAD9D7D9D9D9D9DAD9D7DADBDBDADADAD9DADADADADCDEDEDEDEDEDFDEDEDEDFE1DEDEDEDEE1DFE1DFDFDEE1E1DFDFDEDFE1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4DC480F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000000055777778797A7B7C7D7D7F808183848586888A8B8D8F91939597999B9DA0A2A5A7AAACAFB1B4B6B9BBBEC0C3C6C8CACDCFD2D4D6D8DBDCDEE1E2E4E6E7E9EBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EEEDEBEAE9E7E5E3E1DFDDDBD9D7D4D2D0CECBC9AE08000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F8F8F7F7F6F6F5F5F5F5F3F3F3F1F1F1F0F0F0F0F0EFEFEFEFEDEDEDEDECECECECECECECECECECECECECECECECECEBEBECECECECECECECECECECECECECECECECECEDEDEDEDEFEFEFEFF0F0F0F0F0F1F1F3F3F3F3F5F5F5F5F6F6F7F8F8F8F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F8F8F8F7F7F6F6F6F5F5F5F5F5F5F3F3F3F3F1F1F1F0F0F0F0F0F0F0EFEFEFEFEDEDEDEDECECECECECECECEBEBE9E9E9E8E8E8E8E8E7E7E7E7E7E7E7E7E7E5E5E5E5E5E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E5E5E5E5D7C8C9C6C6C9CACACBCECED1DECFC8C8C9C8C8C8C8C8C8C9CACACBCAC9CAC9C9C8C9C9C9CACBCBCFD0D0D0CED0D1D0D1D1D0D1D3D3D5D6D5D5D5D6D7D7D7D7DAD9D9DADADADADBDCDCDCDCDCDCDBDCDBDBDCDBDBDBDCDCDBDBDBDADADBDCDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADAD9D9D7D9D9D7D9D7D7D7D7D7D7D7D7D6D6D5D5D6D5D6D7D7D7D7D7D5D5D6D6D7D7D7D7D7D7D7D6D5D5D5D3D3D1D1CFCFD0CFCFCECECBCECECECACAC9C8C9C8C6C8C6C6C8C8C9C9C9C6C5C6C6C9C6C8C9CAC9C9C9CAC9C9C9CAC9C9C9C8C8C8C8C8C9C8C8C6C8C6C6C5C5C6C6C6C6C6C6C5C5C4C4C4C4C4C4C4C5C5C5C5C5C5C6C8C9C9C8C8C6C6C5C6C6C9C9C9CACACBCACECFCFD0D1D1D1D0D3D3D3D5D5D5D6D7DADADADBDBDBDBDADBDBDBDADBDBDBDBDBDEDCDADADADADADADBDCDBDBDADADBDEDEDEDFE1E1E2E1E2E2E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9B2240F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3190000000000000000000000000000000000000000000000000000000000000000055E777778797A7B7C7D7E7F808183848587898A8C8E8F92939698999C9EA0A3A5A8AAADAFB2B4B7B9BCBFC1C4C6C9CBCED0D2D4D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F1F0EFEEECEAE9E7E6E4E2E0DEDCDAD8D6D3D1CECCCAB718000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0F0F0EFEFEFEDEDEDECECECECECECECEBEBE9E9E9E9E9E9E9E8E8E8E8E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9EBEBECECECECECECECEDEDEDEFEFEFF0F0F0F0F0F1F1F3F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F9F9F8F8F8F7F7F6F6F6F5F5F5F5F5F3F3F3F3F3F1F1F1F0F0F0F0F0EFEFEFEFEFEDEDEDECECECECECECEBE9E9E9E9E8E8E8E8E7E7E7E7E7E7E7E5E5E5E5E5E5E5E4E4E4E4E4E3E3E3E3E3E3E3E1E1E1E1E1E1E1E0E0E0E0E0E0E0E0E0E0E0E0E0E0E1E1E1E1E1E1E3E3E3E3E3E3E3E4E4DCD0CFD0CFD0D0D0D0D0CFD5DCCAC4C4C3C3C5C6C6C8C9CAC9C9C9CACBCECECECBCBCECECFCFCECECECFD0CECFCFCFD0D0D0D0D0D0D0CFCFCFD0CFCECECFCFD0D0D1D1D3D3D1D1D0D1D3D3D5D5D5D6D5D7D7D7D5D5D3D1D1D3D5D3D1D1D1D1D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D7D7D9DADADADAD9D9D9D9D9D9DADBDADAD9D7D7D6D5D5D5D3D3D5D5D5D7D7D7D5D3D5D5D3D3D3D1D1D3D3D3D3D1D1D1D0D1D1D0D0D0CFCFCFD0D0D0D0D0D0CFCECECECACAC9C9C9C9C9C9C9C9C6C6C6C5C5C5C5C5C4C4C4C4C4C5C5C5C4C5C5C4C4C4C4C4C4C1C1C1C4C4C4C5C5C5C5C5C5C5C3C4C3C4C5C5C5C6C6C6C8C6C5C5C5C5C5C5C6C6C6C5C6C8C6C9C6C8C9C8C6C8C8C9C9C9C9C9CACACACACACBCBCBCBCBCECECECECED0CFD1D3D1D1D5D5D1D3D3D5D7DADADADADADAD9D9D9DAD9D9D7D7D7D7D9D9D7D9D7D7D9D9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDC9C150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000000E687778787A7A7B7C7D7E7F808183848687898A8D8E90929496989A9C9FA1A4A6A9ABAEB0B3B5B8BABDC0C2C5C7C9CCCED0D3D5D7D9DCDEE0E2E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEBEAE8E6E5E2E1DEDDDBD8D6D4D2CFCDCAC02F000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0F0EFEFEFEDEDECECECECECEBE9E9E9E9E8E8E8E8E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E8E8E8E8E9E9E9EBEBECECECECECEDEDEFEFEFF0F0F0F0F1F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F9F9F8F8F8F7F7F6F6F5F5F5F5F5F3F3F3F3F1F1F1F0F0F0F0F0EFEFEFEFEDEDEDECECECECECECEBE9E9E9E8E8E8E7E7E7E7E7E7E7E5E5E5E5E5E4E4E4E4E3E3E3E3E3E1E1E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0DEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEE0E0E0E0E0E0E0E0E0E0E0E0E0E0D5C8C8CACACBCACBCBCBCBD1DAC9C1C4C4C4C5C6C6C6C6C8C9CACBCBCBCBCECFCFCFD0D0D0D0D0D0D0D1D1D3D3D5D5D5D5D5D3D3D5D6D9D9D9D9D9DADBDBDBDADADBDBDBDBDBDBDBDCDADCDEDEDEDEDEE1E1E1E1E1E1E2E3E4E3E3E3E3E2E2E1E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDAD9D9D7D6D6D6D6D7D9D9D9D7D9D9D9D7D6D6D6D6D5D5D5D6D5D5D5D5D5D3D3D1D0D0D0D1D3D1D1D3D5D5D5D5D6D7D5D5D5D1D1D0D0D0CFCFCECBCBCACAC9CACACAC9C9C9C9C9C9CAC9CAC9CAC9C9CACAC9C9C9C9C9C9C9C9C9C6C6C8C8C8C6C6C5C5C5C6C6C6C6C8C8C6C6C8C8C8C8CACACACACACACACACACACECECECBCECBCBCFCFCFD0D0D0D0D1D0D1D1D0D0D0D0D1D3D5D5D5D6D7D9D9DADADAD9DADBDCDEDEDEE1E1E1E2E3E4E4E4E4E4E4E6E6E4E3E6E4E4E4E4E4E4E4E4E3E3E2E1E3E3E3E3E3E3E3E3E3E4E3E3E2E2E1E2E2E1E1E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3750F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000000018727778787A7A7B7C7D7E7F818283858688898B8D8F91929497989B9D9FA2A4A7A9ABAEB0B3B6B8BBBDC0C3C5C7CACDCFD2D4D6D8DBDCDEE1E2E4E6E7E9EBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1F0EEEDEBEAE9E7E5E4E1DFDDDBD9D7D4D2D0CECBC947000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F1F1F0F0F0F0EFEFEDEDECECECECEBE9E9E9E8E8E7E7E7E7E7E7E7E7E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E7E7E7E7E7E7E7E8E8E8E9E9E9EBECECECECEDEDEFEFF0F0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F9F9F8F8F8F7F7F6F6F5F5F5F5F5F3F3F3F1F1F1F0F0F0F0F0EFEFEFEDEDEDECECECECECEBE9E9E9E8E8E8E7E7E7E7E7E7E5E5E5E5E4E4E4E3E3E3E3E1E1E0E0E0E0E0E0E0E0DEDEDEDEDEDEDDDDDDDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDDDDDDDDDEDEDEDEDCD5D7D7D7D9D9D9D7DADAE1E3D7D1D3D5D5D5D6D7D7D9D9D7D7D9D9D7D7D9D7D7D7D7D9D7D9D9D9D7D7D7D9DADADADADADADADADCDBDCDBDBDADCDCDBDCDCDBDBDBDBDCDBDCDBDCDCDCDCDCDBDCDCDBDEDBDBDCDEDEDEDEDEDEDEDEDFE1E1E1DFE1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1DFDFDFE1DFE1E1E1E1E2E1E1E1E1E1DEE1DFDEDEDEDCDEDEDFDFDFDFDEDEDEDBDBDEDCDEDEDCDCDADAD9DADAD9D7D6D3D1D1D1D1D1D0D0D0D0D0CFCECBCACACBCBCBCBCACBCBCBCACACBCBCBCACBCACBCBCBCBCAC9C8C8C8C5C6C6C6C8C8C8C8C5C5C5C5C6C9C9C9C6C8C8C8C5C6C6C8C6C6C6C9CACACACBCAC9CACACAC9C9CACBCBCACACACACACBCACACACBCBCBCECBCECFD1D1D3D5D5D5D6D7D7D6D5D6D6D5D5D7D7D9D9D9D7D9DADADADAD9D7D9D7D9DADADADAD9DADAD9DADBDBDBDADADADADADBDAD9DADADBDBDBDADAD9D9DAD7D7DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBD5460F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000000021777778797A7B7B7C7D7F808182848586888A8B8D8F91939597999B9DA0A2A5A8AAADAFB2B4B7B9BCBFC1C4C6C9CBCDD0D2D4D7D9DBDDDFE1E3E5E6E8EAEBEDEEF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F4F3F2F0EFEEECEAE9E7E6E4E2E0DEDCDAD8D6D3D0CECCC968000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F3F1F0F0F0F0EFEFEDEDECECECEBE9E9E8E8E7E7E7E7E7E5E5E5E5E5E4E4E4E4E4E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E5E5E5E5E5E7E7E7E7E7E8E8E9E9EBECECECEDEDEFEFF0F0F0F0F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F9F8F8F8F7F7F6F6F5F5F5F5F3F3F3F3F1F1F0F0F0F0EFEFEFEFEDEDECECECECECEBE9E9E9E8E8E7E7E7E7E7E5E5E5E5E4E4E4E3E3E3E1E1E0E0E0E0E0E0DEDEDEDEDDDDDDDDDCDCDCDCDCDCDCDCDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADCDCDCDCDCD0C5C6C8C6C9CACACBCECED5DECAC3C5C6C8C9CACBCECBCBCACACECECED0D0D0D1D1D1D0D1D3D3D3D3D1D3D5D5D3D3D5D5D5D6D6D7D7D7D7D7D6D6D7D7D7D7D9D9D9DADBDADADADBDBDCDEDEDFDFE1E1E1E2E2E2E1E1E1E1E1E1E1DFDFE1E1E1DEDEE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADAD9D9D7D9D9DADADADAD9DAD7D7D9D9D6D7D9D9D7D6D5D5D5D5D1D0D0D1D0D3D0D0D1D0CED0CFD0D1D1D0D0D0D0CFCFCECECECBCBCECBCBCECECBCBCECECECBCAC9CACAC9CACACACACAC9C9C9C6C6C6C6C5C5C5C5C5C6C6C5C5C5C5C5C5C4C5C5C5C6C6C6C5C6C6C6C5C5C4C4C4C4C4C4C5C5C4C4C5C5C4C4C4C5C4C4C5C4C5C5C6C5C6C5C5C5C5C5C8C8C8C9C9C9CACAC9CACBCBCBCFD0D1D1D1D3D5D3D3D5D5D5D6D6D6D6D5D6D6D7D9D7D9D9DADADCDBDEDEDEDEDEDEDEDEDFDFDFDEDFDEDEDCDCDEDEDEE1E1E1E1E1E1E2E3E4E4E4E4E3E4E4E4E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6CE260F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000000034777778797A7B7C7C7D7F808183848587898A8C8E8F92939698999C9FA1A3A6A8AAADB0B2B5B7BABDBFC2C4C7C9CBCED0D3D5D7D9DCDEE0E2E4E5E7E9EAECEEEFF0F1F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F0EFEEECEBEAE8E6E5E3E1DEDDDBD8D6D4D2CFCDCA87000000000000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F1F0F0F0EFEFEDECECECECE9E9E8E8E7E7E7E7E5E5E5E4E4E4E3E3E3E1E1E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E1E1E3E3E3E4E4E4E5E5E5E7E7E7E7E8E8E9EBECECECEDEDEFEFF0F0F0F1F1F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F9F8F8F7F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0F0EFEFEFEDEDEDECECECECEBE9E9E8E8E8E7E7E7E7E5E5E5E5E4E4E3E3E3E1E0E0E0E0E0E0DEDEDEDDDDDDDCDCDCDCDCDCDADADADADADADADADAD9D9D9D9D9D9D8D8D8D8D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D8D8D8D8D9D9D9D9D9D9DADADAD1C5C5C4C4C6C8C9C9C9C9CED9CAC3C4C4C3C3C3C4C4C4C5C4C4C4C4C5C5C6C5C6C5C6C6C8C6C6C8C8C9CBCECFD0D0CFCFD0D0D1D0D0D3D1D3D1D3D3D3D3D1D1D1D1D1D3D5D3D5D6D7D7D7D7D9D9D9D9DADADADADAD9D9D7DADADADADBDADADADADBDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFDFE1E1E1E1E1E1E2E3E4E3E3E3E3E1E1E1DEDEDEDBDBDBDADADADAD9D7D7D6D6D7D6D6D5D6D5D3D1D1D1D1D0D0D0CECBCECECECECECBCBC9C9C8C8C9CAC9C8C6C6C6C6C5C3C4C4C4C4C4C4C1C0BFBFBDBBBBBBBBBBBBBBBBB9B9B9B9B9B8B8B6B6B6B6B5B6B5B5B5B3B3B3B3B3B2B2B2B3B5B5B5B8B9B9B9B9BCBDBCBBBBBBBBB9BBBCBCBBBBBBBBBCBCBDBFBFBFBFBFC0C3C3C4C5C4C5C6C8C8C9CACBCBCBCECED0D0D1D1D3D1D1D3D6D7D6D7D7D7D7DADADADADCDCDCDEDFE1E1E1E3E3E4E3E3E3E3E4E6E6E7E9E9E7E7E6E7E9E9E9E9E9E9E9E9E9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4B3150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000004B777778797A7B7C7D7E7F808183848687898A8D8E90929496989B9D9FA1A4A6A9ABAEB0B3B6B8BBBDC0C2C5C7CACDCFD1D4D6D8DBDCDEE1E2E4E6E8EAEBECEEEFF0F2F3F4F5F5F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F1F0EEEDEBEAE9E7E5E4E1E0DDDBD9D7D4D2D0CECBA9080000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F0F0F0EFEFEDEDECECEBE9E9E8E7E7E7E7E5E5E4E4E3E3E1E0E0E0E0E0E0E0DEDEDEDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEDEDEE0E0E0E0E0E0E1E1E3E3E4E4E5E5E7E7E7E7E8E9E9ECECECEDEDEFEFF0F0F1F1F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F9F8F8F8F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0F0EFEFEFEDECECECECEBE9E9E9E8E8E7E7E7E7E5E5E5E4E4E3E3E3E1E0E0E0E0E0DEDEDEDDDDDDDCDCDCDCDADADADADADADAD9D9D9D9D8D8D7D7D7D7D6D6D6D6D6D6D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D6D6D6D6D6D6D7D7D7D2C9C9CACACBCECECFCFCFD5DACBC6C6C5C5C6C5C6C6C8C6C8C8C8C9C9C9C9CACAC9CACACAC9C9C9C9CACBCBCECECBCECFCFCFD0D0D1D5D3D3D5D6D5D5D5D7D6D6D5D5D5D5D5D6D7D7D7D9D9D9DADADADBDADADBDCDCDCDBDEDBDCDBDADBDCDCDEDEDBDBDADBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D6D6D5D7D7D6D7D9D9D9D9DAD9D9D7D7D7D7D7D7D7D7D7D7D9D7D5D3D3D3D3D3D3D0D0D1D1D0D0D0D0CFCECECECBCECECFCFCFCECBCECBC9CAC9C9C6C9C5C4C3C3C3C3C1C3C1BFC0BFBFBFBFBFBFBDBDBDBDBCBCBBBBB9B9B9B9B9B9B9B9B8B8B8B8B9B6B8B9B9B8B8B6B6B6B6B5B5B3B3B5B6B8B8B8B8B9B9B9B8B8B8B8B9B9B9BBBBBDBCBCBDBBBCBDBFBFBFBFC1C3C3C3C4C4C4C3C4C5C6C6C6C9CACACACBCECED0D1D1D1D1D1D1D1D1D3D1D5D5D7D7D7D9D9DAD9D9DADADADADBDBDBDEDEDCDCDCDCDCDCDCDCDEDEDEDEDEDEDEDEDEDCDEDEDEDEDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEF9B0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30700000000000000000000000000000000000000000000000000000000000000055A7778787A7A7B7C7D7E7F808283858688898B8D8F91929497999B9DA0A2A5A7AAACAFB1B4B7B9BCBEC1C4C6C8CBCDD0D2D4D7D9DBDDDFE1E3E5E7E9EAEBEDEEF0F1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEBE9E7E6E4E2E0DEDCDAD8D6D3D0CECCB9180000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F0F0F0EFEFEDECECECE9E8E8E7E7E7E5E5E4E4E3E1E0E0E0E0DEDEDEDDDDDDDCDCDCDCDCDCDCDCDCDADADADADADADADADCDCDCDCDCDCDCDCDCDDDDDDDEDEDEE0E0E0E0E1E3E4E4E5E5E7E7E7E8E9E9ECECECEDEFEFF0F0F0F1F3F3F5F5F5F6F6F7F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F8F8F8F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0EFEFEFEDEDECECECEBE9E9E8E8E7E7E7E7E5E5E5E4E4E3E3E1E0E0E0E0E0DEDEDDDDDDDCDCDCDADADADADADAD9D9D9D8D8D7D7D7D6D6D6D6D4D4D4D4D4D4D3D3D3D3D3D3D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D3D3D3D3D3D3D4D4D4C7B9B9BBBBBCBFBFBFBFBFC4CEBFB8B9B8B9BBBCBDBDBDBDBFBFC0C0C0C1C3C3C3C4C5C6C6C9CACAC9C9CACBCACBCBCBCECECFCFD0D0D0D0D1D0D1D1D5D5D5D5D5D6D6D7D9DAD9DADADADADADBDBDBDADADADBDCDCDEDEDEDEDEDEDEDCDCDBDCDEDEDFDFDFDFE1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D7D9D9D7D7D7D9DADBDBDBDBDBDADADAD9DAD9D7D7D7D6D6D7D6D6D5D5D3D5D5D3D1D0D0CFD0CFCFCFCFCECFCED0CFCECBCBCBCECECACBCECECBCBCACACACACACACAC9C9C6C6C6C6C5C5C5C5C3C4C1C1C0BFBFBFBFBFBFBDBDBBB9B8B9B8B6B6B6B6B6B5B5B5B5B5B6B6B5B3B3B2B2B1B1B1B2B2B2B3B3B3B3B3B6B6B8B8B8B8B8B8B9B9B9B9BBBBBDBFBFC0C1C1C1C0BFC1C0C0C0C1C1C3C3C3C5C4C3C3C4C4C5C5C6C9C6C8C9C9C9CBCECFD1D1D3D5D5D7D7D9DADBDCDCDCDEDEDFE1E1E3E3E3E3E3E3E3E3E3E4E3E3E3E4E4E3E3E3E4E3E3E3E4E4E4E4E4E3E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DA670F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC407000000000000000000000000000000000000000000000000000000000000000E697778787A7B7B7C7D7F808182848586888A8B8D8F91939597999C9EA0A2A5A8AAADAFB2B4B7BABCBFC1C4C6C9CCCED0D3D6D8DADCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F1EFEEECEBEAE8E6E5E3E1DFDDDBD8D6D4D2CFCDCA300000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F6F5F5F5F3F3F1F0F0EFEFEDECECECEBE9E8E7E7E5E5E4E4E3E1E0E0E0DEDEDDDDDCDCDCDCDADADADADADADAD9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9DADADADADADADADCDCDCDCDDDDDEDEE0E0E0E1E3E4E5E5E7E7E7E8E9EBECECEDEDEFF0F0F0F1F3F3F5F5F5F6F6F7F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0EFEFEDEDECECECEBE9E9E8E8E7E7E7E5E5E5E4E4E3E3E1E0E0E0E0DEDEDDDDDCDCDCDCDADADADAD9D9D9D8D7D7D7D6D6D6D4D4D4D4D4D3D3D3D3D1D1D1D1D0D0D0D0D0D0D0D0D0D0D0CECECECECECECECECECCCCCCCCCECECECECECECECED0D0D0D0D0D0D0D0D0D0D0D1CAC0C1C1BFC0C1C3C1C3C3C8D1C1BBBBBDBDBFBDBFBFC1C1C1C4C5C5C5C5C5C4C5C5C6C6C5C5C5C5C8C9C8C9C8C9C9CACACBCECECECFD0D0D0D1D3D3D3D3D3D5D6D6D7D7D7D7D9DADBDAD9DADADCDCDEDEDFDFDFDFE1DFDFE1E1E2E3E3E2E2E1DFDFE1E1E1E1E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EEEFEEEEEEECECECEEEEECEEEFEEEEECECECEEEEEEECEEECEBEBECEAE9E9E9E9E9E7E7E6E6E4E4E3E2E1E1DFDFDFDEDEE1DFDFDEDEDEDEDCDAD9D6D5D5D5D5D3D0D0D0CECBCBCACACAC9C9C6C6C4C4C3C3C3C3C1C1C0BFBFBDBDBBBBB9B9B8B8B8B8B8B8B8B8B6B8B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B6B8B8B6B6B6B9BBBBBCB9BBB9B9B9BBBBB9B9B9B9BCBDBDBFC0C1C0C1C1C1C3C3C4C4C5C5C6C9CACBCBCBCECED0D0D3D5D6D6D7D7D7D9D9D9DADBDBDBDBDBDBDCDEDEDFDFE1E1E3E3E3E6E6E6E4E6E6E4E4E4E6E7E7E7E7E9E9E9E9E7E7E7E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2DA470F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC407000000000000000000000000000000000000000000000000000000000000001C727778797A7B7B7C7D7F808183848587898A8C8E8F929396989A9C9FA1A4A6A9ABAEB0B3B6B8BBBDC0C2C5C7CACDCFD2D4D6D8DBDDDEE1E3E5E6E8EAEBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EFEDECEAE9E7E5E4E2E0DDDCD9D7D5D2D0CECB580000000000000000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F6F5F5F5F3F3F1F0F0EFEFEDECECEBE9E8E7E7E5E5E4E3E3E0E0E0DEDEDDDCDCDCDADADADAD9D9D9D8D8D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D7D7D7D7D8D8D9D9DADADADADADCDCDCDDDEDEE0E0E1E3E4E4E5E7E7E7E8E9ECECECEDEFEFF0F0F1F3F3F5F5F5F6F6F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F3F1F1F0F0F0EFEFEDEDECECECEBE9E8E8E7E7E7E5E5E5E4E3E3E1E0E0E0E0DEDEDDDDDCDCDCDADADADAD9D9D8D7D7D7D6D6D4D4D4D4D3D3D3D1D1D1D0D0D0D0D0D0D0D0CECECCCCCCCCCCCCCCCCCCCCCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCCCCCCCCCCCCCCCCCCCCCEC6BCBDBDBDBDC0C1C1C1C1C5D0C1BBBBBCBDBCBCBDBFBFBFC0BFC0BFC1C3C3C3C3C4C5C5C4C4C4C5C6C6C8C9C9C9CACBCBCFCFD0CFCFD0D0CFD0D0D3D3D3D5D3D5D5D6D5D5D6D6D6D7D6D7D7D9D7D9D9DADBDBDADADADBDCDEDEDFDEDFDFE1E1E1E1E2E3E2E3E4E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1DFDEDEDEDEDFDFDFE1E2E2E3E2E2E1E1E3E2E1E1E1E1E1E1E1E1DFDFDEDEDEDEDEDCDCDBDBDBDBDBDADADADAD9D7D7D7D7D5D3D5D3D3D3D1D3D1D1D3D1D1D3D1D0D0D0CFCECECBCACBCAC9C9C9C8C6C6C5C4C5C4C3C3C3C3C3C1C1C1C1C0C1C3C1C0C0BFBFBDBDBDBDBDBDBDBDBDBDBCBBBCBCBDBDBDBDBFBDBDBFBFBFBFC0C1C1C1C1BFC0BFC1C1C1C3C4C5C5C5C5C5C6C9C9C9C9C9C9CACACBCFCECECFD0D0D1D3D3D5D6D9D7D9DADBDCDCDEDEDFDFDEDFE1E1E2E1E2E2E3E4E6E6E9EAE9E9E7E6E6E6E6E6E7E9E7E7E9E9E9E9E9E7E7E7E7E9E9E9E9E9E9E7E7E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5BF3C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC400000000000000000000000000000000000000000000000000000000000000002B777778797A7B7C7D7E7F808183848687898A8D8E90929496989B9DA0A2A4A7A9ACAEB1B4B6B9BCBEC1C3C6C9CBCED0D2D4D7D9DBDDE0E1E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F0EFEEECEBE9E7E6E4E2E0DEDCDAD8D6D3D1CECC89000000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F8F6F6F5F5F5F3F3F1F0F0EFEFEDECECEBE9E8E7E7E5E4E4E3E0E0E0DEDDDCDCDADADADAD9D9D8D7D7D6D6D6D4D4D4D4D4D3D3D3D3D3D3D3D3D3D3D3D3D3D4D4D4D4D4D4D6D6D6D7D7D8D9D9DADADADCDCDCDDDEE0E0E0E3E4E5E5E7E7E8E9EBECECEDEFEFF0F0F1F3F3F5F5F5F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F1F1F0F0F0EFEFEDEDECECEBE9E9E8E7E7E7E5E5E5E4E3E3E0E0E0E0DEDEDDDDDCDCDADADADAD9D9D8D7D7D6D6D4D4D4D4D3D3D1D1D1D0D0D0D0D0D0CECCCCCCCCCCCCCCCBCBCBCBCACAC9C9C9C9C9C9C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C9C9C9C9C9CACACBCBCBBEB1B1B2B1B1B2B2B5B6B6BCC5B6B1B1B1B2B2B3B3B3B6B5B6B9B9BBBCBDBFC0C1BFC0C3C3C3C5C5C6C8C9C9CACBCACACBCECECECFD1D3D3D5D6D7D7D9DADAD9DADBDCDEDEE1DFE2E1E3E2E2E1E2E3E3E3E2E3E4E3E3E4E4E3E3E3E4E3E4E4E3E4E6E6E4E4E3E3E2E2E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E3E4E4E3E3E3E3E3E3E3E3E3E1E1DFDEDEDEDEDEDEDFDFDFDFDFDFDFDFE1E1E1E1DEDFDFDEDEDBDAD9DADADAD9D7D7D7D6D6D6D7D6D3D5D1D3D3D1D1D0CFCECBCACAC9C5C5C5C5C5C4C3C3C1C0C0BFBFBDBDBDBDBBB9B8B8B8B8B6B6B6B6B5B3B3B3B2B2B2B2B2B2B2B2B1B1B1B1B1B1B0B1B1B1B2B2B3B3B3B2B2B2B1B2B3B1B1B1B1B1B1B3B5B3B5B6B5B6B6B8B9B9B9BBBBBCBCBCBCBDBDBFBFC0C1C1C3C4C3C4C5C6C8C9C9CACECED0D0D0D1D1D1D3D5D5D5D7D6D7D9DADCDBDCDEDEE1E1E1E1E2E3E3E3E2E3E3E4E4E4E3E4E6E7E6E7E9E9E7E6E6E6E6E4E3E2E1E1E1E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2C8260F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000000000000000047777878797A7B7C7D7E7F808283858688898B8D8F91939597999C9EA0A2A5A8AAADAFB2B4B7BABCBFC1C4C7C9CCCED0D3D6D8DADCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F5F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F1F0EEEDEBEAE9E6E5E3E1DFDDDBD9D7D4D2CFCDAA08000000000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEFEDECECE9E8E7E7E5E5E4E3E0E0E0DEDDDCDCDADAD9D9D8D7D6D6D4D4D4D3D3D3D1D1D1D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D1D1D1D3D3D3D4D4D4D6D7D7D8D9DADADADCDCDDDEE0E0E1E3E4E5E5E7E7E8E9ECECEDEFEFF0F0F1F3F3F5F5F5F6F7F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F3F1F0F0F0EFEFEDEDECECEBE9E8E8E7E7E7E5E5E4E3E3E0E0E0DEDEDDDDDCDCDADADADAD9D8D7D7D6D6D4D4D4D3D3D1D1D1D0D0D0D0CECECCCCCCCCCCCBCBCBCACAC9C9C9C7C7C7C7C7C7C7C7C7C5C5C5C5C5C5C5C5C5C5C5C5C5C5C4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C5C5C5C7C7C7C7C7C7BAACAEAEAEB1B2B2B3B5B5BBC5B6B1B1B0B1B1B1B1B2B3B6B6B6B6B5B6B5B6B5B6B6B6B9B9BBBFBFBFBFBFC0C3C1C3C3C3C4C6C6C9C9C9C9CACACBCECECFD0D0D0D1D5D5D5D6D7D9D7D7D9D9D7D9D7D9DADADADADADADADADADADADADBDBDBDBDBDBDBDEDEDEDEDEDEDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDADBDBDBDBDADADAD9D7D7D9D9D7D7D7D7D7D6D7D6D6D6D5D5D5D3D3D3D3D0D0D1D0D1D1D0D0D0D0CECECECECFD0CFCFCFCBCBCACAC9C9C8C6C5C4C3C3C3C1C0BFBFBDBFBCBCB9B9B8B6B5B5B5B5B3B3B3B3B3B3B3B1B0B1B1B2B0B1B1B1B1B1B1B1B0B0B1B1B0B0B0AEAEAEAEAEB0AEAEACAEACACABABACACACACACACACACAAA8AAAAAAAAAAABACABACACACACAEB1B0B0B0AEAEAEAEAEB1B2B2B3B5B6B5B8BBBBBDBFBFBFBFC1C1C3C3C3C5C5C8CACBCBCECFCFCFCED0D0D1D0D1D1D1D3D5D6D6D5D3D5D5D7D7D7D9D9D9D9DADADBDCDCDEDFE1E1E1E1E2E3E4E6E6E4E4E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCAD1C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D00000000000000000000000000000000000000000000000000000000000000055E7778787A7A7B7C7D7F808183848586888A8B8D8F919396989A9C9FA1A4A6A8ABAEB0B3B6B8BBBDC0C2C5C7CACDCFD2D4D6D8DBDDDFE1E3E5E6E8EAEBEDEEF0F1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEBE9E7E6E4E2E0DEDCD9D7D5D3D0CEC3180000000000000000000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F5F3F3F1F0F0EFEFEDECECE9E8E7E7E5E4E3E1E0E0DEDDDCDADADAD9D8D7D6D4D4D4D3D1D1D0D0D0D0D0CECECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCECED0D0D0D0D1D1D3D3D4D4D6D6D7D8D9DADADCDCDDDEE0E0E1E3E4E5E7E7E8E9ECECEDEFEFF0F0F1F3F3F5F5F6F6F7F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F1F0F0EFEFEDEDECECEBE9E8E8E7E7E5E5E4E4E3E1E0E0DEDEDDDCDCDCDADADAD9D8D7D7D6D6D4D4D3D3D1D1D0D0D0D0CECCCCCCCCCCCBCBCBCAC9C9C9C7C7C7C7C7C7C5C5C5C5C5C4C4C4C4C4C3C3C3C3C3C3C3C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C3C3C3C3C3C3C3C4C4C4C4C5BDB2B3B3B3B3B2B2B1B2B2B5BFB1AAAAAAAAAAABACAEAEB1B1B1B2B3B2B3B6B6B9B6B6B8B9B9BBBBBCBDBFBFC3C3C3C4C4C4C3C4C5C6C9C6C6C6C8C6C8C8CACBCACBCECFCFD0D1D3D3D1D1D3D5D3D3D5D6D7D7D9D7D7D6D6D7D7D7D7D5D5D7D7D7D7D9D9D9D7D7D7D7D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADAD9DADADADADADBDBDBDBDBDBDBDADADBDBDBDADADADADAD7D7D6D5D6D7D7D7D7D7D7D7D5D3D5D3D1D1D3D0D0D0D1D0CFCFCBCACBCECAC9C9CACAC9C8C6C6C5C3C3C3C3C1C0C0C0BFBFBFBFBFBFBDBDBBB9B8B8B6B5B5B2B3B2B5B3B1B2B1B1B0B0AEAEACACAEACACACABABAAAAAAAAAAAAA8AAA8A8AAA8A7A8A8A8A7AAA8AAAAA8A8A8AAABABAAABACB0B0AEB1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B3B6B5B5B6B6B6B8B9B9BCBDBDBFC0C1C1C3C3C4C4C4C5C8C9C9C9CBCBCECED0D1D0D0D0D1D5D6D7D7DADADBDBDEDBDCDEDFE1E1E1E1E1DEDEDEE1E1E1E1E1DFE1E2E3E4E3E4E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6AD150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000000000000000000E6E7778797A7B7B7C7D7F808183848587898A8C8E90929496989B9D9FA2A4A6A9ACAEB1B4B6B9BCBEC1C4C6C9CBCED0D3D5D7D9DCDEE0E2E4E5E7E9EAECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F1EFEEECEBEAE8E6E5E2E1DEDCDBD8D6D3D1CFCD410000000000000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F6F5F5F3F3F1F0F0EFEFEDECECE9E8E7E7E5E4E3E0E0DEDDDCDADADAD9D7D6D4D4D3D3D1D0D0D0CECCCCCCCCCCCBCBCBCBCACACAC9C9C9C9C9C9C9C9CACACBCBCBCBCBCCCCCCCCCED0D0D0D0D1D3D4D4D6D6D7D9DADADCDCDDDEE0E0E3E4E5E7E7E8E9ECECEDEFEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F0F0F0EFEFEDECECECE9E8E8E7E7E5E5E4E3E1E0E0E0DEDDDCDCDADADAD9D9D7D7D6D4D4D4D3D3D1D0D0D0D0CECCCCCCCCCBCBCACAC9C9C7C7C7C7C7C5C5C5C5C4C4C4C3C3C3C1C1C1C1C1C1C1C1C1C1C0C0C0BEBEBEBEBEBEBEBEBEBEBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEC0C0C0C0C1C1C1C1C1C1BDB6B9BBBBBBBBB9BBBBBBC1C8BBB2B2B1B1B1B1B2B2B2B5B5B5B6B8B8B8B8BBBBBBBBBDBDBFBFC0BFC0C1BFC3C3C1C4C5C5C6C8C6C8C9C9CACACBCFD0D0D1D1D0D1D0D3D3D3D3D3D5D3D3D6D7D9DADADBDAD9D9DADADAD9DAD9D7D7D7D7D9D9DADADADADADBDBDBDBDBDBDBDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E1E1E1E3E2E2E3E4E3E3E2E2E2E2E1E1E1E2E1E2E1E3E1E1E1DEDEDEDEDCDCDAD9D9D7D7D7D9DAD9D9D6D7D7D7D7D6D5D5D5D1D1D0D0D0CFCECBCBC9C8C8C9C5C6C4C4C3C1C1C1BFBFBCBCBBB9B8B6B5B5B2B2B1B1B0AEAEB0B0AEAEACACAEACACACACACACAAAAAAA8AAAAAAA8A8A7A8A7A7A7A7A7A7A5A7A7A7A7A8A8A8ACABABACABABACACACACAEAEAEAEAEB0B1B1B1B2B2B2B3B5B6B8B9B8BBBBBBBCBDBDBFC0C0C1C1C3C5C4C6C6C9C9CACACBCECBCFD1D1D1D3D3D3D3D5D7D7D7D7D9DADADADADADBDEDEDCDFDEE1E2E2E1E1E1E1E1E1E3E3E4E4E6E6E6E4E6E6E4E3E3E3E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9880F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17CAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000000000000000021777778797A7B7C7D7E7F808183848688898B8D8F91939597999B9EA0A2A5A8AAADAFB2B4B7BABCBFC2C4C7CACCCFD1D3D6D8DADCDEE1E2E4E6E8EAEBECEEEFF1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F3F2F0EFEDECEAE9E7E5E4E1E0DDDBD9D7D4D2CFCD6A0000000000000000000000000000000000000000000000000000000000000035F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F5F3F1F0F0EFEFEDECECE9E8E7E5E5E4E3E0E0DEDDDCDADAD9D7D6D4D4D3D1D0D0D0CCCCCCCBCBCAC9C9C9C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C9C9CACBCBCCCCCCCED0D0D0D1D3D4D4D6D7D9DADADCDDDEE0E0E3E4E5E7E7E8E9ECECEDEFF0F0F1F1F3F5F5F5F6F7F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F3F3F3F1F0F0EFEFEDECECECE9E9E8E7E7E5E5E4E3E1E0E0DEDDDDDCDADADAD9D8D7D6D6D4D4D3D3D1D0D0D0D0CCCCCCCCCBCBCAC9C9C7C7C7C7C5C5C5C5C4C4C4C3C3C1C1C1C1C1C1C0C0BEBEBEBDBDBDBDBDBDBDBDBDBDBDBDBBBBBBBBBBBABABABABABABABABABABABABBBBBBBBBDBDBDBDBDBDBDBDBDBDBDBEB4A8A8A8AAAAAAABACAEB1B6BFB0ABAAA8ABACAAABACACABACACAEAEAEB1B1B1B2B2B3B3B6B8B9B9B9BBBCBDBFBFBFBFC0C1C1C3C4C5C6C6C8C8C9CACACBCECFD0D0CFD0D0D1D0D0D0D0D3D5D6D7D7D7D9DAD9D9D9DAD9DADBDADADBDEDCDCDCDBDBDEDEDEDEDEDEDFDFDFDFDFDFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1DFDFDFDFDFE1DFDFE1DFDEDEDEDEDEDEDEDBDCDCDCDEDCDBDCDBDAD9DAD9DAD9D7D7D6D7D7D6D5D5D5D6D6D3D5D3D1D3D1CFCECBCACACAC8C5C4C3C4C4C1C0BFBFBDBCBCBBBBBBB9B8B9B9B6B5B5B3B2B1B1B1B1B1B0AEACACACACACABA8A8A7AAA8AAA8AAAAA8A8A8A7A7A7A7A7A7A7A7A7A5A5A5A5A5A5A5A5A4A5A7A7A8A7AAAAAAAAAAAAABABABABABACACACACACAEAEB0B1B1B2B6B6B8B9BBBCBDC1C1C1C3C3C5C5C6C8C9C9C8CACACACBCBCECFD0D1D0D3D7D7D7D7D9DADCDEDEDEE1E1E1E1E3E3E3E3E3E4E6E6E7E6E7E7E7E7E7E7E7E7E7E9E9EAEBEBEBEEECECEEECEBEAE9E9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEA950F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6350000000000000000000000000000000000000000000000000000000000000038777878797A7B7C7D7E808182848586888A8B8D8F919396989A9C9FA1A4A6A8ABAEB0B3B6B8BBBDC0C3C5C8CBCDCFD2D4D7D9DBDDDFE1E3E5E7E9EAECEDEFF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F0EFEEECEBE9E7E6E4E2E0DEDCDAD8D6D3D0CE9A0000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F6F6F5F5F3F3F1F0F0EFEDECECE9E8E7E5E5E3E1E0DEDDDCDADAD9D7D6D4D4D3D1D0D0CCCCCCCBCAC9C9C7C7C7C5C5C5C5C5C4C4C4C4C4C4C4C4C4C4C4C4C4C4C4C5C5C5C5C5C7C7C7C7C9C9CBCBCCCCCED0D0D1D3D4D4D6D7D9DADCDCDDE0E0E3E4E5E7E7E8E9ECECEDEFF0F0F1F3F3F5F5F6F6F8F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F3F3F1F1F0F0EFEFEDECECEBE9E8E7E7E5E5E4E3E1E0E0DEDDDCDCDADAD9D8D7D6D6D4D4D3D1D0D0D0CECCCCCCCBCBCAC9C9C7C7C7C7C5C5C5C4C4C3C3C1C1C1C1C1C0C0BEBEBDBDBDBDBDBDBDBBBABABABABAB9B9B9B9B9B9B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B9B9B9B9B9BABABABAB4ACACACABAEACAEAEAEB0B3BFB1A8A8AAABAEB0AEB1B1B1B2B1B1B1B2B2B2B5B5B3B3B3B6B9B8B9B9B9BBBBBDBDBFC0C0C1C4C4C4C5C5C6C6C8C9C9CBCECECECED0D0D1D3D3D1D3D5D6D7D7D9DADBDBDCDEDCDCDEDFE1E1E1E1E1DEDEDEE1E1E1E1DFDFE1E2E3E4E3E4E4E4E4E4E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F1EFEEEFEEEEEEECECECEEECEBECEEEEECEBEBEBECECECEAEBEBEAE9EAE9E7E6E6E6E4E3E3E2E2E1E1DFDEDEDBDBDADAD9D9DAD9D7D7D6D5D5D3D1CFCBCACAC9C9C8C5C5C4C3C1C0BFBFBFBCBBBBB9B6B6B5B3B3B2B2B1B1B0AEACACAAAAAAA8A7A7A7A5A5A5A5A5A4A4A4A4A4A4A4A4A4A5A4A4A2A2A4A4A4A2A2A4A4A2A2A2A5A5A5A7A5A5A5A5A5A5A5A5A5A5A5A7A8A8A8ACACACACACAEAEB0B0B1B1B2B3B5B8BBBBBBBBBCBDBFC1C3C5C5C6C8C9C9C9CACBCECECECED0D1D1D5D5D6D7D9D9DBDCDCDEDFE1E1E1E1E1E1E1E3E3E4E4E4E7E6E6E6E4E6E6E7E7E9E9E9E9E9E9EAEBEBEBECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3750F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61900000000000000000000000000000000000000000000000000000000000000557778787A7B7B7C7D7F808183848587898A8C8E90929496989B9D9FA2A4A7A9ACAEB1B4B7B9BCBFC1C4C6C9CBCED0D3D5D7D9DCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEEDEBEAE9E6E5E3E1DFDDDBD8D6D4D2CFBD1900000000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F3F3F1F0F0EFEDECECE9E8E7E5E5E3E1E0DEDDDCDADAD8D7D4D4D3D1D0CECCCCCBCAC9C7C7C7C5C5C4C4C3C3C3C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C3C3C4C4C5C5C5C7C7C7C9CBCBCCCCD0D0D1D3D4D6D7D9DADADCDDDEE0E1E4E5E7E7E8E9ECECEDEFF0F0F1F3F5F5F5F6F7F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F3F3F1F1F0F0EFEDEDECECE9E8E7E7E5E5E4E3E1E0E0DEDDDCDADADAD9D7D7D6D4D4D3D1D0D0D0CCCCCCCBCBCAC9C7C7C7C7C5C5C4C4C3C3C1C1C1C1C1C0BEBEBDBDBDBDBDBDBBBABABAB9B9B9B7B7B7B7B7B7B7B7B6B6B6B5B5B5B5B5B5B5B5B4B4B4B4B4B4B4B4B4B4B4B4B4B5B5B5B5B5B5B5B5B6B6B6B7B7B7B7B7AFA5A7A7A7A8A8A7A8A8A8AEB6A7A2A1A2A4A4A4A4A5A5A7A7A8A7A7A7A7AAAAABACAEAEB0B1B3B5B5B3B5B8B9BBBBBDBFC1C3C4C4C5C6C6C9CACACACBCECECFD0D1D1D3D3D1D5D5D5D6D6D7D7D7D9DADADAD9D7D7D7D9D9D9D9DADAD9DADADADADBDCDBDBDBDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DEDEDEDEDEDEDFDEDCDBDBDADBDBDBDCDBDADADADADBDCDCDCDEDEDEDCDEDCDEDEDEDEDCDBDCDBDBDADADBDADAD7D6D6D5D3D3D1D0D0CFCECBCBC9C9C9C6C5C4C4C4C3C3C1BFBDBDBBBBB9B6B6B6B6B3B3B3B2B1B1B0B0AEAEAEACAAAAA8A8A7A7A7A7A7A5A5A5A2A29F9E9E9C9E9F9F9E9E9C9C9E9E9E9E9E9C9C9C9C9C9C9C9B9B9B9B9B9C9C9C9C9C9C9C9C9B9C9C9E9EA1A2A2A4A4A4A4A5A5A7A5A7A8A8A8A8A8AAABACACACAEAEAEB0B2B3B3B6B8B9B9BBBDBFBFC0C3C4C4C5C5C5C5C6C9C9CACBCECFCFD0D0D3D6D6D6D7D7D9DADBDBDBDCDEDBDBDBDBDCDCDCDCDEDEDEDCDBDBDBDBDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D75E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30F00000000000000000000000000000000000000000000000000000000000009697778797A7B7C7D7D7F808183848688898B8D8F91939597999B9EA0A2A5A8AAADAFB2B5B7BABDC0C2C5C7CACDCFD2D4D6D8DBDDDFE1E3E5E6E8EAEBEDEEF0F1F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F8F7F6F5F4F3F2F0EFEEECEBE9E7E6E4E2E0DEDCD9D7D5D2D0CE3900000000000000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F6F5F5F3F1F0F0EFEFECECEBE8E7E7E5E3E1E0DEDDDCDAD9D7D6D4D3D1D0D0CCCCCBC9C9C7C7C5C5C4C3C1C1C1C1C0BEBEBEBEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBEBEBEC0C1C1C1C1C3C3C4C5C5C7C7C9CACBCCCCD0D0D1D3D4D6D8D9DADCDDDEE0E1E4E5E7E7E8EBECEDEFF0F0F1F3F3F5F5F6F6F7F8F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F3F3F1F0F0F0EFEDECECEBE9E8E7E7E5E4E3E1E0E0DEDDDCDADAD9D8D7D6D4D4D3D1D0D0D0CCCCCCCBCAC9C7C7C7C5C5C5C4C4C3C1C1C1C1C0BEBEBDBDBDBDBBBBBABAB9B9B9B7B7B7B7B7B6B6B5B5B5B4B4B4B4B4B3B3B3B3B3B3B2B2B2B2B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B2B2B2B2B3B3B3B3B3B4B4B4B4AA9E9FA19F9F9F9FA1A2A2A7B0A29E9FA1A2A2A2A2A4A4A4A5A5A7A7A7A8A8A8ACACAEAEAEB0B1B1B1B2B3B3B6B9B9BBBCBFBFC0BFC0C3C4C6C6C8C6C9CAC9C9C9C9CBCED0CFCFD0D1D3D3D5D5D5D5D5D5D5D5D6D6D9D9DADCDCDCDADAD9DADBDBDAD9DADADAD9D9DADBDADADADADADADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADADAD9D7D7D7D6D5D5D5D5D5D5D3D3D1D1D0D0CFCFCFCFCECFCFCBCBCECFCFCBC9C9C8C8C8C9C9C9C6C5C5C4C3C1C1BFBDBCBDBBBCBBB9B9B9BBB9B8B8B6B6B5B3B3B2B2B1B0AEAEABAAABAAAAA8AAAAA7A8A7A7A7A7A5A7A4A4A2A2A1A29F9F9E9F9F9F9F9E9C9E9E9E9B9C9C9C9C9C9E9C9E9C9E9E9E9FA1A1A1A1A1A1A2A4A2A2A4A2A2A4A5A5A5A5A5A5A5A7A7A8A7AAAAAAABACACACAEB0B1B1B1B1B1B1B3B3B6B6B8B9B9BCBDBDC0C0C1C1C4C4C5C6C8C8C6C9CACECECFD0D3D3D5D6D9D9D9DADBDBDEDCDBDCDEDFE1DEE1E1E2E1E2E1E2E1E1E1E1DEDEDFE1DFDFDFDEDFDEDEDCDBDEDBDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDE620F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4070000000000000000000000000000000000000000000000000000000000001C777778797A7B7C7D7E7F8182838586888A8B8D8F919396989A9C9FA1A4A6A9ABAEB0B3B6B8BBBEC0C3C6C9CBCED0D2D5D7D9DCDDE0E2E4E5E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F1F0EEEDEBEAE8E6E5E2E1DEDCDBD8D6D3D1CE6A0000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F3F3F1F0F0EFEDECEBE9E7E7E5E4E1E0DEDDDCDAD9D7D6D4D3D0D0CCCCCBC9C7C7C5C5C4C3C1C1C1BEBEBDBDBDBDBBBBBABABABABABABAB9B9BABABABABABABBBBBDBDBDBDBDBEC0C1C1C1C3C4C5C5C7C7C9CBCCCCD0D1D3D4D6D7D9DADCDDDEE0E3E4E5E7E8E9ECECEDEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9F9FAFBFBFBFBFBFBFBFBFBFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F3F3F1F0F0F0EFEDECECEBE9E8E7E5E5E4E3E0E0DEDDDCDADAD9D8D7D6D4D3D1D1D0D0CCCCCCCBC9C9C7C7C7C5C5C4C3C3C1C1C1C0BEBEBDBDBDBBBABABAB9B9B7B7B7B7B7B6B5B5B5B4B4B4B3B3B3B2B2B1B1B1B1B1B1B1B1B1AFAFAFAFAFAFAFAFADADADADADADADADADADADADADAFAFAFAFAFAFAFAFB1B1B1B1B1B1B1B1B0AAACACACAEACACAEACACB1B8AAA5A5A7A7AAA8A8ABABACB0B1B1B1B2B3B5B3B3B5B5B5B5B8B9BBBBBBBBBCBDBDBFBFBFBFBFBFC3C4C5C5C5C4C5C5C6C9C9C9C9CACBCBCECECFCECECFD0D1D3D1D1D3D1D1D3D1D3D5D3D3D3D5D5D5D3D1D1D0D0D1D3D3D5D3D3D3D3D3D5D5D5D6D7D7D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D6D5D3D5D5D5D3D5D5D3D5D5D5D5D5D5D5D3D3D5D5D5D5D6D6D3D1D1D1D0D1D0CFD0CFCECBCBCACACBCAC9C9C8C6C8C8C8C5C5C3C3C1C1C0BFBFBFBDBCBBB9B9B9B8B6B3B3B2B1AEAEAEACACACACACABABAAA8A7A5A7A7A7A5A5A2A5A4A29F9E9C9E9E9E9B9B9B9C9C9B9B9B9B99999797979797979797999797979796969696969496949693939697969697979797999B9B9B9B9B9B9B9C9C9C9E9FA19FA29FA2A2A4A5A7A5A7A7A8A8AAABACAEB0B0B0B0B1B1B1B3B3B6B8B9B9B9B9BBBBBCBCBDBFC0C1C4C5C4C5C6C9CAC9C9C9C9CACBCECFD0D0CFD0D0D0D0D0D0CFCFD0CFD1D0D0D3D3D5D5D5D6D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEA660F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA200000000000000000000000000000000000000000000000000000000000000387778787A7A7B7C7D7F808183848587888A8C8E90929496989B9DA0A2A5A7AAACAFB2B4B7B9BCBFC1C4C7CACCCED1D3D6D8DADCDEE1E2E5E6E8EAEBECEEEFF1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F5F4F3F2F0EFEEECEAE9E7E5E4E1E0DDDBD9D7D4D2CFA4080000000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECECE9E8E7E5E4E3E0DEDDDCDAD9D7D4D3D1D0CECCCBC9C7C7C5C4C3C1C1C1BEBDBDBDBBBABAB9B9B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B9B9BABABBBDBDBEBEC1C1C3C4C5C5C7C9CACBCCD0D0D1D4D6D7D9DADCDDDEE0E3E4E5E7E8E9ECECEFEFF0F0F1F3F5F5F6F6F7F8F9F9F9F9FAFAFBFBFBFBFBFBFBFBFBFBFAFAF9F9F9F9F9F8F7F6F6F5F5F3F3F1F0F0F0EFEDECECE9E8E7E7E5E4E3E1E0DEDDDCDCDAD9D8D7D6D4D3D1D0D0CECCCCCBC9C9C7C7C5C5C4C3C3C1C1C1BEBEBDBDBDBBBABAB9B9B7B7B7B7B6B5B5B5B4B4B3B3B3B2B1B1B1B1B1B1AFAFAFAFADADADADACACACABABABABABABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABABABABABABABACACADADADADA89C9E9F9FA2A2A4A4A5A5AAB3A5A1A2A4A4A5A5A5A7A5A5A7A5A5A5A7A7A7A8ABABACACACAEB0B1B1B3B5B6B8B9B9BBBDBCBFBFBFBFC1C4C5C5C5C6C5C6C9CACACBCBCECECFD0D0D1D5D7D7DADADADADBDCDCDCDCDEDEDFDFE1E1E1E1E1E1E1E1E2E1E1E1E2E3E3E3E3E3E3E3E2E2E3E3E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E7E9E9E7E7E9E7E9E9E9E9E9E9E9EAEAE7E6E6E6E4E4E4E3E3E3E2E1E1E1DFDEDEDEDEDEDCDCDCDBDAD7D7D6D6D6D6D5D1D1CFCECACBCAC9C9C9C9C8C5C5C4C3C3C1C0BDBCBBBBBBB9B9B6B5B5B5B5B3B3B2B1B1B1B1B0B0AEAEACACABACAAA7A7A7A7A7A5A5A4A5A4A5A5A5A4A4A2A2A19F9F9F9E9E9F9E9E9E9F9F9F9F9C9C9C9E9E9F9F9F9FA19FA1A2A2A2A2A4A5A4A4A5A5A5A7A8AAAAABAAABABACACACACAEB1B1B2B2B2B6B6B6B9B8BBB9BCBDBFC0C1C1C1C4C5C5C6C6CACACACBCBCED0D0D0D1D1D5D5D5D5D5D5D5D5D5D5D3D5D5D7D7D7D7D9DBDADADADADBDEDBDBDADADADADBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7CF3C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000000000000000567778787A7B7B7C7D7F808183848687898B8D8F91939597999C9EA0A3A5A8AAADB0B2B5B8BBBDC0C2C5C8CACDCFD2D4D7D9DBDDE0E1E4E5E7E9EAECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F1EFEEECEBEAE8E6E4E2E0DEDCDAD8D6D3D0C61900000000000000000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F8F7F6F5F5F3F3F1F0F0EFEDECEBE8E7E5E4E3E0DEDDDCDAD9D7D4D3D1D0CCCCCBC9C7C5C5C3C1C1C0BEBDBDBBBAB9B7B7B7B7B6B5B5B5B4B4B4B4B4B4B3B4B4B4B4B4B4B4B5B5B5B6B7B7B7B7B9BABBBDBDBEC0C1C3C4C5C5C7C9CBCCCED0D1D3D4D7D9DADCDDE0E0E3E5E7E7E8EBECEDEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9F9FAFAFBFBFBFBFBFBFBFBFAFAF9F9F9F9F9F8F8F6F6F5F5F5F3F1F0F0F0EFEDECECE9E8E7E7E5E4E3E0E0DEDDDCDADAD8D7D6D4D3D1D0D0CCCCCBCAC9C7C7C5C5C4C3C1C1C1C0BEBDBDBDBBBAB9B9B7B7B7B7B5B5B4B4B4B3B3B2B1B1B1B1B1AFAFAFADADADACACABABABABAAAAAAAAA9A9A9A9A9A8A8A8A8A8A8A8A8A8A7A7A7A7A7A7A7A7A7A7A8A8A8A8A8A8A8A8A8A9A9A9A9AAAAAAAAA299999999979799999B9C9FA89B969797999999999B9B9B9B9C9B9C9C9E9F9FA1A2A2A2A4A5A7A8A8ACAEB1B1B2B5B6B8B8B9B9B9B9BCBDBFBFBFBFC1C3C3C4C5C6C8C8C9CACECECFD1D0D3D3D6D5D7D7D9DADADBDBDCDEDEDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E3E3E3E3E3E4E4E4E4E6E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E6E6E6E6E6E7E7E7E6E6E7E9E9E9E7E7E6E6E6E7E6E7E7E7E7E6E6E7E6E4E4E4E2E2E1E1DEDCDCDAD9D7D7D6D5D3D1D0CECBCAC9C9C8C6C5C4C4C1C1C0BDBDBBB9B6B6B6B5B3B1B0AEAEABABAAA8A7A5A5A5A5A2A2A19F9E9F9C9C9B9B9B9B9B9B999999999B9B9997979796969796969696949696979797979797979796969493939292929393929394949496979697979999999B9B9C9C9C9E9E9F9FA2A2A2A4A4A4A5A5A7AAAAACACB0B1B2B1B3B5B6B6B8BBBBBBBDBFBFC0C1C5C5C8C9C8CACBCBCED0D1D3D5D5D6D6D7D7DADADAD9D9D9D7D9D9DADBDBDBDBDBDCDCDCDBDBDBDEDEDEDEDEDFE1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3DA3F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C0000000000000000000000000000000000000000000000000000000000000E6E7778797A7B7C7D7E7F8082838586888A8B8D8F919396989A9C9FA1A4A6A9ABAEB0B3B6B9BCBFC1C4C6C9CBCED0D3D6D8DADCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F4F3F2F0EFEDECEAE9E7E5E3E1DFDDDBD9D7D4D2CF4200000000000000000000000000000000000000000000000000000000000019F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F7F6F5F5F3F1F0F0EFEDECECE9E7E7E5E3E0E0DDDCDAD9D7D4D3D1D0CCCCCAC7C7C5C4C1C1C0BDBDBBBAB9B7B7B7B5B5B4B4B3B3B2B2B1B1B1B1B1B1B1B1B1B1B1B1B1B1B2B2B3B3B4B4B5B5B7B7B7B9BABBBDBEC0C1C3C4C5C7C7CACCCCD0D1D3D4D7D9DADCDEE0E1E4E5E7E8E9ECECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9F9F9FAFAFBFBFBFBFBFBFAFAF9F9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E3E0E0DDDCDADAD9D7D6D4D3D1D0D0CCCCCBC9C7C7C5C5C4C3C1C1C1BEBDBDBDBBBAB9B9B7B7B7B6B5B4B4B3B3B2B1B1B1B1AFAFAFADADACACABABAAAAAAAAA9A9A9A8A8A8A8A7A7A5A5A5A5A5A4A4A4A4A4A4A4A4A3A3A3A3A3A3A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A5A5A5A5A5A7A7A8A2999B9B9B9C9C9C9F9F9FA5AE9F9B9B9B9B9B9C9C9C9C9C9C9C9FA19FA1A1A2A2A4A5A5A7A7A8AAACACACAEB0B1B1B2B2B5B8B9B9BBBBBDBFBFC1C1C1C3C4C5C6C9CACBCECFD0D1D0D1D5D5D6D7D9D9DAD7D7D7DADBDBDCDBDBDEDFE1E2E1E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E6E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EEEEEEECECECEEEEECEEEFEEEEECECECEEEEEEEBECECEAEAEBE9E9E9E7E7E6E4E4E3E3E2E2E1DEDEDEDBDBDBDADADAD9D7D7D6D5D3D3D0CECAC9C9C6C5C5C3C3C1BFBCBBBBB9B9B6B6B3B2B0AEAEACACAAABA8A7A5A5A2A2A2A19F9C9C9C9B9B9B9B9B9997979797979796969696969693939393939392929292929293939393939392929292929090909092939393979796979797979799979B9B9C9C9FA1A1A2A2A2A4A5A7A8ABACACAEAEB0B1B1B2B5B5B5B6B8BBBBBDBFC0C3C3C4C8C9CACBCED0D0D1D3D3D3D5D7D9DADBDCDEDEDEDFDEDFE1E3E3E3E4E4E4E6E6E7E9E9EAEBEAEBECEEECEEEEEFEEEFF1F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2DA3F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62C00000000000000000000000000000000000000000000000000000000000021777878797A7B7C7D7F808183848587898A8C8E90929496989B9DA0A2A5A8AAADAFB2B4B7BABDBFC2C5C7CACDCFD2D4D6D8DBDDDFE1E3E5E7E9EAECEDEFF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEBE9E7E6E4E2E0DEDCD9D7D5D3D08400000000000000000000000000000000000000000000000000000000000007E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F3F1F0F0EFECECE9E8E7E5E4E1E0DEDCDAD9D7D4D3D1D0CCCBC9C7C5C4C3C1C0BEBDBBBAB9B7B7B5B4B4B3B2B1B1B1B1AFAFAFADADADADADADADADADADADADAFAFAFB1B1B1B1B2B3B4B5B5B7B7B9BABBBDBEC1C1C3C5C7C7CACCCCD0D1D4D6D7D9DADCDEE0E3E4E5E7E8EBECEDEFF0F0F1F3F3F5F5F6F7F8F9F9F9F9F9FAFAFAFBFBFBFBFAFAF9F9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E1E0DEDDDCDADAD8D7D4D3D1D0D0CCCCCBC9C7C7C5C4C3C1C1C0BEBDBDBDBABAB9B7B7B7B5B5B4B4B3B2B1B1B1B1AFAFADADACABABAAAAAAA9A9A9A8A8A8A7A5A5A5A5A4A4A4A4A3A3A3A3A2A2A2A2A2A2A2A2A2A2A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A2A2A2A2A2A2A2A2A2A3A3A3A3A49B909092929093949497979BA49790909393939393979797999999999B9B9B9C9C9C9C9F9FA2A4A5A5A5A5A7A8A8ABAEB0B2B2B3B5B8B8B8B9BBBBBCBFBFBFBFC0C3C3C3C5C5C5C8C8C8C9CBCECFCED0D0D1D1D3D3D3D3D5D6D5D6D7D9D9D9D9D9D9DAD9DADBDBDBDBDBDBDBDBDADAD9D9DADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDBDEDEDEDEDEDEDFDFDFDFDEDEDCDCDEDEDEDCDEDEDEDEDEDEDEDEDEDCDCDAD9D7D7D7D6D3D5D3D3D3D0D1D0D0CECBCACAC9C8C8C5C5C5C3C1BFBFBFBCBBB9B8B8B6B5B3B2B1B1AEACABABA8A8A8A5A5A5A5A4A2A1A1A1A1A19E9E9E9C9C9B9997979696969392909090908F8F8D8E8D8D8D8D8E8D8C8C8C8C8C8C8C8C8A8A8A8A8C8C8C8C8C8C8C8D8E8E8D8D8E8F8F9090929393939494949797979999999B9B9B9B9C9C9E9F9FA1A2A5A7A8A8ACACAEB0B1B2B3B5B6B6B9BCBCBDBFC1C3C4C5C8C9CBCFD1D3D5D7DADCDEDFE1E2E2E4E6E6E7E9E9E7EAE9E9EAE9E9EAEBEBEAEBEEEEEEECEEEEEFEFEFEEEFEFEEEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2DA400F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30F000000000000000000000000000000000000000000000000000000000000427778787A7B7B7C7D7F808183848688898B8D8F91939597999C9EA1A3A6A8ABAEB0B3B6B8BBBEC0C3C6C9CBCED0D2D5D7D9DCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EFEDEBEAE9E6E5E3E1DFDDDBD8D6D4D1B608000000000000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFEDECEBE8E7E5E4E3E0DEDDDADAD7D6D3D1D0CCCBC9C7C5C4C1C1BEBDBDBAB9B7B6B5B4B3B2B1B1AFAFADACACABABABAAAAAAAAAAAAAAAAAAAAAAAAABABABACADADAFAFB1B1B2B3B4B5B7B7B9BABDBDBEC1C3C4C5C7CACCCCD0D1D4D6D8DADCDDE0E0E3E5E7E7E9ECECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9F9F9FAFAFAFAFAFAFAF9F9F9F9F9F9F8F7F6F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E1E0DEDDDCDAD9D7D6D4D3D0D0CCCCCBC9C7C7C5C4C3C1C1BEBDBDBBBAB9B7B7B7B6B5B4B3B3B2B1B1B1AFAFADACABABAAAAAAA9A9A8A8A7A5A5A5A4A4A4A3A3A3A3A2A2A2A2A2A0A0A0A0A0A0A0A0A0A0A09E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9EA0A0A0A0A0A0A0A0A0A09D949697979999999B9B9C9FA79B9797999B9B99999B9B999B9B9B9B9C9C9C9E9FA1A2A4A5A5A5A7A8A8AAABAEB1B1B1B3B2B5B6B8B9BBBCBCBDBFBFC0C4C3C5C5C8C9CACACBCBCED0CFD1D1D0D1D3D3D5D6D9D9D9DAD9DBDBDBDBDEDEDFE1E1E1DFDEDEE1E1E1DEDEDCDBDBDBDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E3E4E4E4E4E3E3E3E3E3E1E1E2E2E3E3E3E3E1E1E1E1E2E3E3E3E1E1E1E1DEDEDCDEDBDBDADBDBDADADAD7D6D5D5D3D0D0CECFCECACAC9C6C4C4C1BFBFBDBDBCBBB9B6B6B6B5B5B6B3B1B1B1AEACAAAAA7A5A5A5A4A2A29F9E9E9C9C9B9B9797969394949492908F8F8F8E8E8D8C8C8C8A8A8A8A8A89888988888988868685858685858685858385858583838382828384868685868787898988888C8D8E8E8F8F8F909090929396979797979B9B9C9C9EA1A1A4A5A5A7A8AAABACACAEB1B2B3B5B6B8B9BCBDBFC0C0C3C1C4C5C6C8CACBCECECBCFCFD0D1D0D0D1D3D1D3D3D3D5D6D6D6D6D6D7D9D9DAD9D9D7D9D7DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADAD43D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC407000000000000000000000000000000000000000000000000000000000005647778797A7B7C7D7E7F8082838586888A8B8E8F929496989B9D9FA2A4A7A9ACAFB1B4B7B9BCBFC1C4C7C9CCCED1D3D6D8DBDDDEE1E3E5E6E8EAEBEDEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEBE9E7E6E4E2E0DEDCD9D7D5D2D0290000000000000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECE9E8E7E5E4E0E0DDDCDAD8D6D4D1D0CCCBC9C7C5C4C1C1BDBDBAB9B7B6B5B4B2B1B1AFADADABABAAA9A9A9A8A8A8A7A7A7A5A5A5A5A7A7A7A8A8A8A9A9AAAAABACADAFAFB1B1B3B4B5B7B7B9BABDBEC1C1C4C5C7CACCCCD0D1D4D6D9DADCDDE0E1E4E5E7E8E9ECEDEFF0F0F1F3F5F5F5F6F7F8F9F9F9F9F9F9FAFAFAFAFAF9F9F9F9F9F9F8F8F7F6F5F5F3F3F1F0F0EFEDECECEBE8E7E7E5E4E1E0DEDCDADAD9D7D4D4D1D0CECCCBC9C7C7C5C4C3C1C0BEBDBDBAB9B7B7B7B5B5B4B3B2B1B1B1AFADADACABAAAAA9A9A8A8A7A5A5A5A4A4A3A3A3A2A2A2A2A0A0A0A0A0A0A09E9E9E9E9E9D9D9C9C9C9C9C9C9C9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9C9C9C9C9C9C9D9D9E9E9E9F9E9E9C9B9C9C9EA19F9FA5A79E9B9B999B9B9B9B9C9C9C9E9F9FA1A2A2A5A5A5A5A7A7A7A8A8ACAEB0B1B1B1B2B2B3B3B5B6B6B9B9BBBCBCBFBFC1C1C1C3C3C4C5C6C9CAC9CACACBCBCECED0D0D1D1D0D1D6D7D6D7D6D7D9D7D7D7D7D7D7D7D7D6D6D6D7D7D9D9DADBDADADADADBDEDBDBDADADADBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D5D5D5D5D3D1D0D3D3D3D3D3D3D3D3D1D1D0D1D1D0D1D0D0D1D0D0D0D0CECBCAC9C8C9C9C6C5C4C4C3C1C1BFBDBDBCBBB9B9B6B6B6B3B2B1B2B1B0AEAEAEACABAAA8A7A7A7A5A4A4A4A19F9E9C9B9B9B99979797969290909090908F8E8E8D8C8A898A8A8A8A888989888888898986868686858585858585848282818181818080818182828383828383848383838385868689898889898A898C8C8C8E8E8E8F9092939396979799999B9B9B9C9CA1A1A2A2A5A7A7A7AAABACAEB1B2B2B5B6B9BBBDBFC1C1C4C5C5C6C8C9CACBCBCBCED0D1D3D5D6D7D7D7D9D9D7D9D7DADCDCDEDEDEDEDFDEDEDEDCDCDBDADBDBDBDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDED73F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000013727878797A7B7C7D7F808183848587898A8C8E91929497999B9DA0A2A5A8AAADAFB2B5B8BBBDC0C2C5C8CACDCFD2D4D7D9DBDDE0E2E4E5E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEEDEBEAE8E6E5E3E1DEDCDAD8D6D3D16B0000000000000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F3F1F0EFEDECECE9E7E5E4E3E0DEDCDAD9D7D4D3D0CCCCC9C7C5C4C1C0BDBDBAB7B7B5B4B3B1B1AFADABAAAAA9A8A8A7A5A5A4A4A4A3A3A3A3A3A3A3A3A3A3A4A4A4A5A5A7A8A8A9AAABACADAFB1B1B3B4B5B7B7BABDBDC1C1C4C5C7CACCCED0D3D4D7D9DADCDEE0E3E5E7E7E9ECECEFEFF0F1F3F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F7F6F5F5F5F3F1F1F0EFEFEDECEBE8E7E7E5E4E1E0DEDCDADAD8D6D4D3D1D0CCCCCAC7C7C5C4C3C1C0BEBDBBBAB9B7B7B5B4B4B3B1B1B1AFADADACABAAAAA9A8A8A7A5A5A4A4A3A3A2A2A2A2A0A0A0A0A0A09E9E9E9D9D9C9C9C9C9A9A9A9A9999999999999998989898979797979797979797979797979797979797989898989899999999999A9A9A989493929292929290929297A1928D8E8F8F909090909294939497979B9B9B9B9B9C9C9FA1A2A2A2A4A5A5A7A8AAACACB0B1B2B1B3B5B6B6B8BBBBBBBDBDBFC0C1C5C5C5C8C6CACACACACFD0D1D3D3D5D5D3D5D9D9D9D7D7D6D5D6D7D9DADADADBDBDBDBDBDADADBDCDCDEDEDEDFE1E1E1E1E2E2E2E2E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E4E4E4E3E3E3E3E4E6E7E6E4E6E6E6E3E3E3E4E3E3E3E4E4E4E4E6E3E1E1E1E1DEDEDCDCDCDBDAD9D6D3D3D1D0CFCECECBCBC9C8C8C8C6C6C6C5C3C3C1C0BDBBB9B6B5B2B3B2B1B0ACAAAAAAA8A5A5A2A19E9C9C9C9C9B9797969493929292908F8E8D8D8C8C8A89898888898686858383838181818181817F7F7F7D7C7C7C7C7C7D7D7D7C7C7C7C7C7E7E7E81818181828181818181818283858484848486888888898A8C8C8D8E8F9090909093949797999B9B9C9F9FA2A2A4A5A7A8AAACAEB1B3B6B6B5B9B9BCBDBDBFC1C3C3C3C5C5C6C9CACBCBCECED0D1D3D3D5D3D5D5D7D7D7D7D7D7D7D7D7DADADADAD9D9D9D9D7D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDB4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000000000000000387778787A7B7B7C7D7F808183848688898B8D8F919396979A9C9FA1A4A6A9ABAEB0B3B6B9BCBFC1C4C6C9CBCED0D3D6D8DADCDEE1E2E5E6E8EAEBEDEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEBE9E7E5E4E2E0DDDBD9D7D4D2A600000000000000000000000000000000000000000000000000000000000023F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0E0DDDADAD7D4D3D0CECCCAC7C5C4C1C0BDBBB9B7B6B4B3B1B1AFADABAAA9A8A7A5A4A4A3A3A2A2A2A2A0A0A0A0A0A0A0A0A0A2A2A2A2A2A3A3A4A5A5A8A8A9AAABADAFB1B1B3B5B6B7BABDBDC1C1C4C5C7CBCCD0D1D3D6D8DADCDDE0E1E4E5E7E8EBECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F7F6F6F5F5F3F3F1F0F0EFEDECECE9E7E7E5E4E1E0DEDCDADAD8D6D4D3D0D0CCCBC9C7C5C4C3C1C1BEBDBBBAB9B7B6B5B4B3B1B1B1AFADACABAAAAA9A8A8A5A5A4A4A3A3A2A2A2A0A0A0A0A09E9E9D9D9C9C9C9A9A9A9A9999999898979797979795959595959595959595959595959595959595959595959595959595959595959595959595979797978F858888868686868989888C938783838383858385858686868989898988898A8C8A8D8F909293949497999B9B9E9FA1A2A5A5A5A7A7A7AAACACACB0B2B5B9B9BBBCBFC0C1C1C4C4C5C6C5C6C9CACBCECFCFD0D1D3D1D3D3D5D5D6D7D9D9DADBDBDCDEDEDCDEDEDEDEDEDEDEDFE1E1E2E1E2E3E2E2E3E3E4E4E3E4E4E3E3E3E4E4E4E6E7E7E6E6E4E3E3E3E4E4E4E3E2E1DEDEDEDCDCDBDEDCDCDEDCDBDBDADBDAD9D7D7D7D7D6D6D1D0D0CFCFCECACBC9C9C9C8C4C4C3C1C1C0BFBFBDBDBBBBB8B6B2B2B1B0ACACABA8A7A7A7A5A5A5A4A29E9C9C9B9B9797979493929090908F8F8E8C8D8D8C8C8A8A8A898889898987878786878789888888888888888886878686878684848484848382828282838384858585878787888888898A8A898C8C8C8D8E8E8F909290929392939496979797999B9B9C9CA1A4A5A5A7AAABACB1B2B3B3B6B8B9BCBDC0C1C4C4C5C5C6C9CBCBCFCFD1D1D3D3D6D6D7D7D7DAD9D7D9DADAD9DADADADADADBDCDEDEDEDCDFE1E1E1E1E1E1E1DFE1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62C000000000000000000000000000000000000000000000000000000000000567778797A7B7C7D7E7F8182838586888A8C8E90929496989B9DA0A2A5A7AAADAFB2B4B7BABDC0C2C5C7CACDCFD2D4D7D9DBDDE0E1E4E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEEDEBEAE8E6E5E2E1DEDCDAD8D6D3C821000000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFECECE9E7E7E4E3E0DEDCDAD9D6D4D1D0CCCBC7C5C4C1C0BDBBB9B7B5B4B2B1AFADABAAA9A8A5A4A4A3A2A2A0A0A0A0A09E9E9E9E9E9D9D9E9E9E9E9EA0A0A0A0A0A2A2A3A4A5A7A8A9AAABADAFB1B3B4B6B7B9BDBDC1C1C4C7C9CBCCD0D1D4D7D9DADCDEE0E3E5E7E8E9ECECEFF0F0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F7F6F5F5F5F3F1F0F0EFEDECECE9E8E7E5E4E1E0DEDCDADAD8D6D4D1D0CECCCBC9C7C5C4C1C1BEBDBBBAB7B7B6B4B3B2B1B1AFADACABAAA9A8A8A7A5A4A4A3A2A2A2A0A0A0A09E9E9D9D9C9C9A9A9A99999998979797979595959595959595959393939393939393939393929292929292929292929292929292929292939393939393939393939395958E86888788888989898A8C8E968C888888888A8C898C8C8C8D8E8E8F9090909293949696979797999B9C9E9E9FA2A2A5A5A8A8ABACACAEB0B1B2B3B2B5B6B9B9BCBFBFC1C1C3C5C5C5C6C6C9CACBCFD0D0D0D3D3D1D3D3D5D5D3D5D6D6D6D7D7D7D9D7D9D9D7D7D7D7D7D7D7D7D9D9D7D9D7D7D7D7D7D7D7D7D7D7D7D7D9D7D9DAD9D9DAD9D7D7D7D9DADBDBDBDBDBDADADAD9D9D7D7D7D7D5D5D6D5D3D3D1D1D1D1D1CFCECBCACAC9C9C9C8C6C8C6C6C5C5C3C1C1C0C1BFBFBFBFBDBCB9B9B8B6B5B5B2B2B1B0AEACABAAA8A7A5A4A2A19F9E9C9C9C9B999797969390908F8F8D8C8C8C8C8A88898987888886838381817F7F7E80817E7F807F7E7F817F8181817F7F7F7F7F7F7F7F7F818181818183838281838282818282828383838382818283858688888889888A8A8C8F909093949797999B9C9FA2A2A4A5A7A8AAACB0B1B2B5B5B6B9BBBCBDC0C1C4C5C5C9C9CACBCECFD0D1D3D5D6D7D9D9DADADADADADBDCDEDEDEDFE1E1E1E1E1E2E2E2E3E2E1E1E1E1E1E1E2E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9600F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30F00000000000000000000000000000000000000000000000000000000000E727878797A7B7C7D7F808183848587898A8D8F91939597999C9EA1A3A6A8ABAEB0B3B6B8BBBEC1C4C6C9CBCED0D3D6D8DADCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E4E1E0DDDBD9D7D4D263000000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBF9F9F9F8F8F6F5F5F3F3F1F0EFEDECEBE8E7E5E4E0E0DDDADAD7D4D3D0CCCBC9C7C4C1C1BDBBB9B7B5B4B1B1ADACAAA9A8A5A4A3A2A2A0A0A09E9D9D9C9C9A9A9A9A9A9A9A9A9A9A9A9C9C9C9D9E9EA0A0A0A2A2A3A4A5A8A9AAACAFB1B2B4B6B7B9BDBEC1C3C5C7C9CCCED0D3D4D7DADCDDE0E1E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9F8F8F7F6F6F5F5F3F3F1F0F0EFEDECEBE8E7E5E4E3E0DEDDDADAD8D6D4D1D0CCCCCAC7C7C5C3C1C0BDBDBAB9B7B6B4B3B2B1AFADACABAAA9A8A7A5A4A4A3A2A2A2A0A0A09E9E9D9C9C9A9A9A9999989897979795959595959595939393939393929292929291919191919191919190909090909090909090909090909090909090919191919191919192929292908D8C8D8C8C8D8D8E9090969B8E8C8C8A8D8D8D8C8E8E8E8F8F90909092939394969797999799999B9B9B9B9C9FA1A2A2A4A4A5A7A8AAACACAEB1B2B2B5B8B6B9BBBDBFBDBFBFBFC1C3C4C5C6C6C9C9CACBCFCFD0D0D0D1D5D6D6D5D7D6D7D7D7D7DADADBDBDADAD9DAD7D7D7D7D7D7D6D6D6D5D3D5D5D6D9D9D9D9D9D9D9D9DADADAD9D7D7D9D7D7D7D7D9DADADADADADAD9D7D7D7D7D7D7D5D3D3D1D0D0CFD0D0CECECECECECECBCBCAC8C8C8C6C4C3C3C3C1C0BFBDBBB9B8B6B5B3B2AEAEAEACAAAAA8A8A5A4A4A29F9F9F9E9E9E9B9B9B979696969290908F8D8C8C8A8A898988868683838383838381818181817F7F7F7D7E7D7C7C7C7D7C7C7C7C7C7C7B7B7C7C7C7C7B7B7B7B7B7B79797B7B7C7D7D7D7D7E7E7D7C7E7E7E8181818183818383838386888989888C8D8E8F8F90909292949797999B9C9EA2A2A5A7AAACACAEB0B1B1B2B5B6B8BBBCBFC1C1C5C5C8C8C9CACBCECFD0D0D1D3D3D5D6D7D7D9D9DAD9DBDBDCDEDCDBDCDEDEDBDEDEDEDEDEDEDEDEDEDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB90000000000000000000000000000000000000000000000000000000000002F7778787A7B7B7C7D7F808183848688898B8D8F919396989B9D9FA2A4A7A9ACAFB2B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DBDDDFE1E4E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DEDCDAD8D5D39600000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDCDAD9D6D4D1D0CCC9C7C5C3C1BDBDB9B7B5B3B1B1ADABAAA8A7A4A3A2A0A0A09E9D9C9A9A9999999897979797979797979797989999999A9A9C9D9EA0A0A2A2A3A4A7A9AAABADB1B2B4B6B7BABDBEC1C3C5C7CACCD0D1D4D6D9DADCDEE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F8F8F7F6F5F5F5F3F1F0F0EFEDECECE9E7E7E5E3E0E0DDDCDAD8D6D4D1D0CCCCC9C7C5C4C3C1BEBDBBB9B7B6B5B3B2B1AFADABAAA9A8A8A5A4A4A3A2A2A0A0A09E9E9D9C9A9A99999998979795959595959593939393939292929291919191919090909090908F8F8F8F8F8F8F8F8F8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8F8F8F8F8F8F8F8F9090909088828282818383838488888A90837F81818181838586878888898A8A8A8D8F8F909093939697999B9C9EA1A2A4A4A7A7A8ACACAEB0B0B1B2B6B8B9BBBBBDBDC0C3C4C5C8C9C9CACECED0D1D5D5D6D6D6D7D7DADADCDCDEDFDFE1E2E3E3E4E3E6E6E6E6E6E6E6E4E4E6E6E7E7E7E9E9E9E9EAEAE9E9EAE9E9E7E7E7E7E9E9E7E7E7E7E6E6E4E4E3E2E2E2E1E1E1E1DFDEDEDCDEDBDBDADADBD9D7D9D7D7D6D6D6D6D7D5D5D5D3D1D3D0D1D0CECBCACAC9C6C5C5C5C4C3C3C1BFBFBFBCB9B6B3B2B1B1B0ACACABA8A7A4A4A2A4A19F9E9C9C99979797949392928F8E8E8E8D8C8C8888868686878583818281818081817F7E7C7D7D7D7C7C7C7C7C7B7B7B7C7D7C7C7C7B797A7A797979797979797C7B7C7C7D7C7C7C7C7E7D7D7E7E7E7D7F7E7E7F7F818282828385888989888A8C8D8E909090929494999B9B9B9C9EA2A2A5A7A8ABABAEB1B3B8B9BBBBBDC0C3C4C5C8CACACBCBCFD1D1D3D5D5D7DADADBDBDCDEDEDFDEDFDEDFE1E1DFDFE1E1E1E1E1E1E1E1E2E2E2E2E2E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3880F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000000000000000567778797A7B7C7D7E7F8182848586898A8C8E90929497999B9EA0A2A5A8AAADB0B3B6B8BBBDC0C3C6C9CBCED0D3D5D7D9DCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E4E1DFDDDBD8D6D4CA19000000000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFECECE9E7E7E4E1E0DDDCDAD7D4D3D0CCCBC7C5C4C1BEBDBAB7B5B4B1B1ADABA9A8A5A4A2A2A09E9D9C9A9A9998979795959595959595959595959595959595979798999A9A9C9EA0A0A2A3A4A5A8AAABADB1B2B4B6B7BABDBEC1C4C7C9CBCCD0D3D4D8DADCDEE0E3E4E7E7E9ECECEFF0F0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F8F8F7F6F6F5F5F3F3F1F0EFEFECECE9E8E7E5E4E1E0DDDCDAD9D6D4D3D0CCCCC9C7C5C4C1C1BDBDBAB7B7B5B4B2B1AFADABAAA9A8A7A5A4A3A2A2A0A09E9E9D9C9A9A999998979795959595959393939392929291919191909090908F8F8F8F8F8D8D8D8D8D8D8D8D8D8D8D8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8D8D8D8D8D8D8D8D867E7E7F7F818180818181838C817C7E7E7F8081818283838386888A8A8A8A8C8D8D8D8D8E90929393939699999B9B9C9E9EA1A1A2A4A5A7A8ABACB0B1B1B2B3B3B6B8B9B9BBBDBDBFBFBFC1C4C4C5C6C8C9C9CBCECFCFD0D0D0D0D1D5D3D5D6D7D6D7D5D7D9D9DADAD7D9DADAD9D9DADADADAD9D7D7D7D6D5D5D6D7D7D7D6D6D5D3D1D1D0D0D0D1D1D3D3D1D1D1D3D3D1D0D0D0D0CFD0D0D1D0CECFCECBCACAC9C6C6C8C5C5C4C4C5C5C5C3C3C3C1C0BDBDBDBBBBB9B8B6B5B1B1B1AEAEAEACACAAA8A7A5A5A4A2A2A19E9C9B999B97979694949392908F908F8D8A8C8C8A8A8988888986888787878787868485838485838382828281818281818180808081818181807F80818080818181818181817E818181818181818383848483858687868688878988898A8A8C8D8E8F90909294949697999B9C9C9C9E9FA2A5A4A7A8ABABAEAEB1B1B2B5B6B6B8BBBDBFBFC0C1C4C4C5C5C6C9C9C9CBCECFCFD1D3D5D7D6D7D9DADBDCDCDEDEDCDCDCDEDEDCDEDEDFDFDFE1E1DFDFE2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E18F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000000000000E6E7878797A7B7C7D7F808183848688898B8D8F919395989A9C9FA1A4A6A9ABAEB1B4B7B9BCBFC1C4C7CACCCFD1D4D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DEDCD9D7D5D35300000000000000000000000000000000000000000000000000000000000FE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECEBE8E7E5E4E0DEDCDAD9D6D4D1CECCC9C7C5C1C0BDBAB7B6B4B1B1ADABA9A7A5A3A2A0A09E9C9A9998979595959393939393929292929292929293939393959595959798999A9C9EA0A0A2A3A5A8A9ABADB1B2B4B7B9BBBDC1C3C5C7CACCD0D1D4D7D9DADDE0E0E4E5E7E8ECECEDEFF0F1F3F3F5F5F6F7F8F8F8F9F9F9F9F9F9F9F9F8F8F8F6F6F5F5F5F3F1F0F0EFEDECEBE8E7E5E4E3E0DEDCDAD9D7D4D3D0CECCC9C7C5C4C1C0BDBBB9B7B6B4B3B1B1ADABAAA9A8A5A4A3A2A2A0A09E9E9C9C9A999998979595959593939393929292919191909090908F8F8F8D8D8D8D8D8D8D8D8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8989898989898989898888888888898989898989898B8B8B8B8B8B8B8B8B8B867E7D7D7E7F7E8180808081897F79797B7A787B7C7C7C7C7C7C7C7D7F81818383838385878988898C8E8F90929394969697999B9B9E9E9FA1A2A4A5A5A7AAAAAEAEAEB1B3B5B5B6B6B9BBBDBDBDC0C0C3C4C5C6C6C6C8C9C9CBCBCECFD0D1D1D0D1D3D3D5D3D3D5D6D5D5D5D3D5D6D7D7D7D7D7D9D9DAD9D9D7D9D9DADADADADAD9D9D9D7DADADADAD9D9D9D7D6D6D7D7D7D9D9DADADAD9D9D6D6D7D7D7D7D7D5D5D5D1CFCECBCBCBCBC9C8C6C8C5C5C4C3C0BFBDBBB9B8B6B5B5B3B2B2B1AEACAAA7A7A5A4A29E9F9C9C9997979794929290908E8E8D8C8A8A898686858582828181817F7E7E7D7C7D7C7B7B7978797877777776777575757372737272727170706F6F6E6E6E6E6E6E6E6F6F6E6E6F72727070706F706F7272747473747475757575747576767778787B7B7D7F81818285848689888C8D8E8F90909296979B9C9FA2A4A7A7A8ACAEB0B3B5B6B8B9BBBFBFC0C1C4C6C9CACACED0D0D1D0D5D7D7D7D9DBDBDCDEDFE1E1E2E3E3E6E4E6E6E7E9E7E7E7E6E6E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E18E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17CAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED190000000000000000000000000000000000000000000000000000000000267778797A7B7C7D7E7F8082838586888A8B8E90929496989B9DA0A2A5A8AAADAFB2B5B8BBBDC0C3C5C8CBCDD0D2D5D7D9DCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DFDDDBD8D6D497000000000000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F1F0EFEDECE9E8E7E5E3E0DEDCDAD8D4D3D0CCCBC7C5C3C1BEBDB9B7B4B2B1ADABA9A7A4A3A2A09E9C9A999897959593939292919191909090909090909090919191919293939395959798999A9D9EA0A2A3A5A8A9ABADB1B3B5B7B9BDBEC1C4C5C9CBCCD0D3D6D8DADCDEE0E3E5E7E8EBECEDEFF0F0F3F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F9F8F8F7F6F5F5F5F3F3F1F0EFEFECECE9E7E7E5E3E0DEDDDADAD7D4D3D0CECCCAC7C5C4C1C0BDBBB9B7B5B4B2B1AFACABA9A8A5A4A3A2A0A0A09E9C9C9A9998979795959593939392929191919090908F8F8F8D8D8D8D8D8D8B8B8B8B8B8B8B8B8B8B8989898988888888888888888887878787878787878787878787878787878787878787878788888888888888888C8C8C8C8C8D8C8D8D8D8E9090898A8A898889898889888A898D8C8C8E8F9090909090929394969797999B9B9C9E9FA2A2A5A5A5A7A8A8ABAEB1B2B3B5B6B6B8B9B9BBBDBDC0C1C3C4C5C6C6C9CAC9CACACBCED0D1D3D1D1D3D3D5D6D6D7D7D9D9D7D9DBDBDBDCDBDCDCDBDADBDADAD9D9D9D7D7D7D9DADADADADBDADADADADBDEDBDBDADADADADADADADAD9D9D9D7D7D7D7D7D6D6D5D3D3D1D0CFCFCFCBC9C8C9C9C9C8C6C5C5C5C3C1BFBFBFBDBDBCBBBBB9B9B6B5B2B1AEABAAA8A8A5A4A2A19F9C9C9B9797969492908F8F8E8C8A8A8A8A87868786858382818080817E7D7E7D7C7C7878777778777777767573737373737572727171716F6F6F71727272727071727272727171717171717273737372727271717171707272747577777777767778787878797B7C7D7E7F81818283858688888A8C8D8F929396979B9C9C9FA1A4A4A7A7A8ACACB0B1B3B6B8B9BBBCBDBFC3C4C5C6C8C9CACED0D0D1D3D5D5D6D5D7D7D9D7D7D9DBDBDBDCDEDEDEDEDEDEDCDCDBDCDEDEE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7A9140F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4000000000000000000000000000000000000000000000000000000000000517778797A7B7C7D7F808183848587898A8D8E91939597999C9FA1A3A6A9ABAEB0B3B6B9BCBFC1C4C7C9CCCED1D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DEDCD9D7D5CA19000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF9F9F9F8F8F6F5F5F3F1F0F0EFEDECE9E7E7E4E1E0DDDAD9D7D4D1D0CCC9C7C4C1C0BDBAB7B5B3B1ADABA9A7A4A3A2A09E9C9A98979595939392919190908F8F8F8D8D8D8D8D8D8D8D8F8F8F90909191929393959597999A9C9EA0A2A3A5A8AAABAFB1B3B5B7BABDC0C3C5C7CACCD0D1D4D7DADCDDE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F5F6F7F8F8F8F9F9F9F9F9F9F8F8F7F6F6F5F5F5F3F1F0F0EFEDECEBE8E7E5E4E1E0DDDCDAD8D6D4D1D0CCCAC7C5C4C1C0BDBBB9B7B5B3B1B1ADABAAA8A7A4A3A2A0A09E9D9C9A9998979595959393939292919190908F8F8F8D8D8D8D8D8B8B8B8B8B8B8B8B898989888888888888878787878787878786868686868686868686868686868585858585858585858686868686868686868686868787847C7B7B7C7C7D7C7D7D7F828A7E78787B7B7C7E7E7F7E7F8080818383858586888A8A8C8D8E8F9092939393969697979799999C9E9FA1A2A4A5A7AAAAABAEB1B1B2B5B8B9BDBCBFBFC0C1C5C5C6C9C8CACACBCED0D0D1D3D5D5D7D7D9D9D9DAD9DBDBDADBDBDBDEDEDFDFDFDFDEE1E1DEDFE1E1E2E2E2E2E1E1E1E2E2E1DFDEDEDBDBDBDEDEDEDEDEDEDCDCDCDBDBDADBDBDCDCDCDCDCDBDBDADCDBDADADADADADAD9D7D6D5D3D1D0CECECECBCBCAC9C8C4C4C3C1C0C1C0BDBBBBB9B6B3B2B1B1ACABAAA8A8A7A7A5A4A1A19F9C9B99979797939292908E8D8C8A89898987878583838383838382818181817E7D7D7C7A797B79797978777877787777767575747575757372727272727373737373737272727373727373737573757573737675757775767678777777777877787B7C7D807F808183858889898D8F90929496979B9B9C9FA1A2A5A7A8AAACAEB1B1B3B5B8BBBCBDBFC1C3C3C4C4C5C8C9C9CACBCBCED0D0D0D1D0D1D3D3D5D5D5D6D7D7D7D6D7D7D7D7D6D6D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFB7150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000000000000000096E78787A7A7B7C7D7F8081838586888A8B8D8F929496989B9D9FA2A5A7AAADAFB2B4B7BABDC0C2C5C8CACDCFD2D4D7D9DCDEE0E2E4E6E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DFDDDBD8D6D46400000000000000000000000000000000000000000000000000000000002CF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFECECE9E7E5E4E0DEDCDAD9D6D3D0CCCBC9C5C3C1BDBBB9B6B4B1AFACAAA8A5A3A2A09D9C9997959593939291908F8F8D8D8D8B8B8B8B8B8B8B8B8B8B8B8B8D8D8D8F909091929393959598999C9EA0A2A3A5A8AAACAFB2B4B7B9BDBEC1C4C7C9CCCED1D4D7D9DADDE0E1E4E5E7E9ECECEFF0F0F1F3F5F5F5F6F7F8F8F8F9F9F9F9F9F8F8F8F7F6F6F5F5F3F3F1F0EFEFECECE9E7E7E5E3E0DEDCDAD9D7D4D1D0CCCBC7C5C4C1C0BDBBB9B7B5B3B1AFADAAA9A8A5A4A2A2A09E9D9C9A999797959593939292919190908F8F8D8D8D8D8B8B8B8B8B8B8B89898888888888878787878787868686868686868685858585858585858585858484848484848484848484848484848484848484848485858585858585847E807F7E7F808181817F828A7E7C7B7B7B7C7C7E7F818181818282858688888988898A8C8C8C8C8D8E8F9092939494979B9B9B9C9FA1A1A2A4A5A7A8ABABAEB1B1B2B3B6B8B9BBBDBFC0C3C5C4C6C9C8C9CACBCFD0D3D3D6D9DADADADADADADADCDBDCDBDBDBDEDFE1DFE1E1E1E1E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E3E3E4E4E4E4E4E6E6E6E7E6E6E4E3E3E3E3E2E2E2E1E1E1DFE1DEDFDEDCDEDCDADAD9D7D6D5D1D1D0CECBCAC9C8C8C8C4C3C3C1BFBBB9B6B5B3B0AEAAA8A7A5A4A29F9C9C9C9B99979492908F8E8C8D8C8C89898789858383818381817F7E7E7C7C7B7B78797977767776777776757375737373737272727272727272727272716F706F70706F717071717271717171707170727272727272737575757575777778787B7B7C7C7E7F8081828585888A8A8C8D8D8E8F9090929394979B9C9E9FA2A4A5A7AAAEB1B2B3B8B8BBBDBFC0C3C3C5C6C9CACBCECFD0D0D1D5D6D7D7D7D9D9DADADBDEE1E1E1E1E1E1E1E3E3E2E2E3E3E3E3E3E2E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBD3270F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF400000000000000000000000000000000000000000000000000000000000307778797A7B7C7D7E7F8182848587898A8C8E91929497999C9EA0A3A6A8ABAEB0B3B6B9BCBEC1C4C6C9CBCED1D3D6D8DBDDDFE1E3E5E7E9EAECEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DEDCD9D7D5A8000000000000000000000000000000000000000000000000000000000007E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECEBE8E7E5E3E0DEDCDAD8D4D3D0CCCAC7C5C1C0BDBAB7B5B3B1ADAAA8A5A3A2A09D9A99979595939291908F8D8D8D8B8B8B8B898988888888888889898B8B8B8B8D8D8F8F90919293959597999C9EA0A2A3A5A9ABADB1B3B5B7BABDC1C3C5C7CBCCD0D3D6D9DADCDEE0E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F9F9F9F8F8F8F7F6F6F5F5F5F3F1F0F0EFEDECEBE8E7E5E4E1E0DDDCDAD7D4D3D0CCCBC9C7C4C1C0BDBBB9B7B5B3B1AFACAAA9A7A4A3A2A09E9D9C9A99979595959393929191908F8F8D8D8D8D8B8B8B8B8B898988888888878787878786868686868585858585858585848484848483838383838383838383838383838383828282828282828282828282828383838383838383837D767676777878777878787C84797574757575737575777776787A7B7B7D7F7F8181828383858688898A8C8C8E9092969797999B999C9C9E9EA1A4A5A5A7AAABABACACAEB1B2B5B6B8B9B9BCBDC1C3C5C6C9CACBCED0D1D3D6D9DADADADBDCDEDEDFE2E2E3E2E2E3E3E3E3E4E3E3E4E4E4E3E3E3E4E3E3E3E4E4E4E4E4E3E3E3E2E3E2E1E2E2E2E1E2E2E2E1E1E1E1E1E1E1E1DEDEDEDCDBDADBDADAD9D9D7D3D1D0CECBCACACACACAC9C5C4C4C4C1C0BFBCBBB9B6B5B3B2B0ACABA8A7A5A5A2A29E9C9C9B9794939292929290908E8C8A88898684838382817F7E7D7C7B7878787776757675757373737272727373727272716F6F6E6E6D6E6E6E6E6E6E6D6D6D6E6F6F6F6F6E6F6F6F6F6F6F706F71717170707072727272717171727273767677777776787978787A7A7C7B7D7E7F8181818387898A8C8D90929294979B9B9EA2A4A5A7A8AAACAEAEB1B2B3B5B8B9B9BCBDBFC0C1C3C4C6C9CAC9CECECECECFD0D1D1D3D3D3D3D5D6D7D7D7D7D9D7D7D7D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDED72F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30F0000000000000000000000000000000000000000000000000000000000567878797A7B7C7D7F808183848688898B8D8F919396989A9C9FA1A4A7AAACAFB2B4B7BABDC0C2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DFDDDBD8D6D3220000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECE9E8E7E5E3E0DDDCDAD7D4D1D0CCC9C7C4C1BEBBB9B6B4B1AFABA9A7A4A2A09E9C999795939291908F8D8D8B8B8B8988888787878787868687878787878888898B8B8B8D8D8F909293939597999C9EA0A2A4A7A9ABAFB1B4B7B9BDBEC1C4C7CACCD0D1D4D7DADCDEE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F8F8F7F6F6F5F5F3F3F1F0F0EFECECE9E8E7E5E3E0DEDCDAD9D6D4D1D0CCCAC7C5C3C1BDBBB9B7B5B3B1AFACAAA8A5A4A2A0A09E9C9A999795959393929191908F8F8D8D8B8B8B8B8B898988888887878787868686868B8B8B8B939696939B9EA0A0A0A0A0A0A0A0A0A09E9E95939393939089898682828282828080808080808080808080808080808080808282828282827E7C7C7E7E7E7E7F818185897D797A7C7C7C7C7D7D7D81808182838384838486858889898A8D8E8E909093949496979B9B9C9E9F9F9FA1A5A5A7AAACAEAEB2B3B6B6B8BBBDBDC1C0C1C3C4C6C9C9CACBCECED0D0D1D1D1D3D3D3D3D5D7D7D7D7D6D9D7D7D7D9DAD9D9DADADADADADCDCDEDCDEDEDEDEE1DFDFDFDEDEDEDEDEDEDEDEDFDFDFE1E1DEDEE1E1DEDCDBDBDBDBDBDADADADAD7D5D5D6D7D6D5D3D1D1D0CECECBCAC9C9C9C5C3C3C1C1BFBDB9B8B6B5B5B5B1B0ACABA8A7A7A5A4A29F9E9B9B999796949392928F8D8D8C8C8C89878685838181817E7D7D7C7D7B7B7B78797981858A909799979DA5A5A5A5A5A5A5A5A5A5A5A5A59F9695969087837A746F707070727272707070727072727272727273747676757575777777777878787878787A7B7A7C7C7E7F7F81818285858688898A898C8D8E90929397979B9B9C9FA2A5A7A8ABABB0B1B1B5B6B8BBBDC0C1C4C5C9C9CACBCECECFCFD0D0D0D3D5D5D5D6D7D6D9D7D9D9D9D9D9DBDBDBDBDEDEDCDBDBDBDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2DB400F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB90000000000000000000000000000000000000000000000000000000000137278797A7B7C7D7E7F8082838586888A8C8E90929497999B9DA0A3A5A8ABAEB0B3B6B8BBBEC1C4C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DEDCD9D7D56E00000000000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECE9E7E7E4E1E0DDDAD9D6D4D0CCCBC7C5C3C1BDBAB7B5B2B1ADAAA8A4A2A09E9C999795939291908F8D8B8B8B888887878686868585858585858585868686878788898B8B8B8D8F9091939395979A9CA0A0A3A5A8AAADB1B3B5B7BABDC1C4C5C9CCCED1D4D7DADCDDE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F5F6F7F7F8F8F8F8F8F8F8F7F7F6F5F5F5F3F3F0F0EFEDECEBE8E7E5E4E1E0DDDCDAD7D4D3D0CCCBC7C5C3C1BEBDB9B7B5B3B1AFABAAA8A5A3A2A0A09D9A999795959393929190908F8D8D8B8B8B8B8989888887898D929699A1A1AAAAAEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A8A89F9E919187868080808080808080808080808080808080797272727272717172727275796F696A6C6D6D6F6E6E6F6F6F7072727575767778777777787A7B7C7D7F8081818283868789888C8E8F909093969797979B9C9E9FA2A4A5A5AAAAACAEAEB1B2B3B6B9BBBCBFC1C0C1C3C4C5C6C6C6C9CAC9CACBCBCED0D0D0D1D1D3D5D6D7D7D7D7D7D7D7D7D7DADAD9D9D9D7DADADADAD9D9D9D9D7D7D9D9DADADADADADBDBDAD9D9DADBDBDBDAD7DAD9D7D5D3D3D3D1D3D0CFCFCFCECBC9C9C8C6C4C3C0BFBFBCBDBBBBB9B8B5B2B1AEACABA8A7A4A4A19F9C9B9B9997949392908F8E8E8D8A888785838282817F7E7E7D7B7979797F868E97A6A9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AAA4968A7E70656565656567676767676767676565676767676868696A6C6C6D6E6E6F6F7071717375757677777778797C7E8182838586898C8E8F92939697979B9E9FA2A4A7AAACB0B1B2B6B8B9BBBFC1C4C5C6CACACED0D3D3D6D9DADBDEDEDFE1E2E3E2E3E4E3E3E4E6E7E7E7E6E7E7E7E9E9E9EAE9E9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDE600F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000000000000000397778797A7B7C7D7F808183848587898B8D8F919395989A9C9FA1A4A7A9ACAFB2B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E7E9EBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DFDDDBD8D6B1080000000000000000000000000000000000000000000000000000000019F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F0F0EFEDECE9E7E5E4E0DEDCDAD9D6D3D0CCCAC7C5C1BEBDB9B7B4B1AFABA9A5A3A2A09C9A9795939291908D8D8B8B88888786868585848383838383838383838384858586868788898B8B8D8F9091939595989A9DA0A2A3A7A9ABAFB1B4B7B9BDC0C3C5C7CBCCD0D3D6D9DADDE0E1E4E7E7E9ECEDEFF0F0F1F3F5F5F5F6F6F7F8F8F8F8F8F8F8F7F6F6F5F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDCDAD9D6D4D1CECCC9C7C4C1BEBDBAB7B5B3B1AFACAAA8A5A3A2A09E9C9A99979595939291908F8F8D8D8B8B8B8B90969DA1A9ACB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0A79D9289827E7E7E7E7E7E7E7E7E7E766E706F6E6F6F6F6F6F6E72786F696A6A6A6C6C6D6E6E6E6E6F6F7171727575777677767778787A7B7C7D7D7F818183868788898C8D9090949497979B9B9C9FA1A4A5A5A7A8ABAEB1B1B3B3B6B8B9B9BBBDBFC3C4C5C8C9CACBCECECED0D1D5D6D7D5D7D7D7D7D6D7D7D9DBDAD9DADBDCDCDBDBDCDBDBDBDBDBDBDBDCDCDEDEDEDEDCDCDBDBDBDBDAD9DAD7D9D7D6D7D9D7D6D6D5D5D3D5D5D5D3D1D0CECECECBC9CAC9C9C6C5C3C1C0BFBFBDBBB9B8B6B3B1B0AEACABA8A5A4A29F9C9B9997969690908E8C8A898685828181817E7D7C7B7B7A77767983929DA9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB9E917E716A69696A6A6A6A6C6D6D6F6D6D6F6F6F6F7172727272757577777879797C7D7E818183838689898A8C8D8E929397979B9C9C9FA2A5A7AAACAEB1B3B6B8BBBFC0C3C5C5C6C9C9CBCFD1D3D5D7D9DADCDEDEDEDFE1E2E2E4E4E4E4E3E4E6E6E6E6E7E9E7E9E9EAEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDC7A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62300000000000000000000000000000000000000000000000000000000006478787A7A7B7C7D7F8081838586888A8B8E8F929496989B9DA0A2A5A8ABADB0B3B6B8BBBEC1C4C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DEDCD9D7D53A0000000000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F0F0EFECECE9E7E5E4E0DEDCDAD8D4D1D0CCC9C7C4C1BDBBB7B5B3B1ADAAA8A4A2A09E9A9895959291908D8D8B89888786858584838382828282808080808282828283838485868687888B8B8D8F9091939597999C9EA0A2A4A8AAADB1B3B6B9BDBEC1C4C7CACCD0D3D6D8DADCDEE0E4E5E7E9ECECEFF0F0F1F3F5F5F5F6F6F7F8F8F8F8F8F8F7F7F6F6F5F5F3F3F1F0F0EFECECE9E7E7E4E3E0DDDCDAD7D4D3D0CCCBC7C5C3C1BDBAB7B6B4B1AFACAAA8A5A3A2A09E9C9A989595939291908F8F909398A0A5ABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A89F95887F7D7D7D7D776F717171716F71727274777D726E6F6F6E6F6F6F707072727373767777767678797B7B7C7D7C7F8181838485898A8A8C8F8F9092949797999B9C9E9FA2A5A8AAABAEAEAEB1B2B5B8BBBBBBBCBCBDBFC0C3C3C5C5C8CACACBCECED1D1D1D3D5D6D7D7D7D6D7D7D7DADAD9DBDBDBDBDBDADBDBDBDBDCDEDEDEDEDEDEDEDEDBDCDCDBDBDBDBDADADADBDCDCDCDCDBDAD9D9D7D7D6D7D5D3D1D0D0D0D0CECFCECACACACAC9C6C6C4C4C4C3C1BFBFBDBBB9B8B8B6B6B3B2B0AEACACAAA7A7A5A2A29E9C9B99979693908E8C8C8C8889888683868B95A1AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE9B8B7D706F6F6F6E6E6F6F6E6F6F6F6E6F6F706F6F727273757675777778797B7C7E7F7E818283868988898D8E8F909396999B9C9EA1A4A5A7ABB0B1B5B6B9BBBDBFC1C4C5C6C9CACBCECFD0D3D5D6D7D7DADADCDEE1E1E1E2E2E3E3E3E3E4E4E3E3E6E4E6E4E6E6E6E6E7E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDB9C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17CAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0700000000000000000000000000000000000000000000000000000000187778797A7B7C7D7E7F8183848587898B8D8E91939597999C9FA1A4A6A9ACAFB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E7E9EBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DFDDDBD8D687000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3C7C0C0BFBEBEBDBDBDBDBDBCBCBABABABAB8B8B7B7B6B6B4B4B4B4B3B3B1B1B1B1AFAFAFADAEAEAEABABABABABABABAAAAAAAAA8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AAAAAAAAABAB9C8D8F9092939597999CA0A2A4A7AAACB1B2B5B7BABDC1C4C7C9CCD0D1D4D8DADCDEE0E4E5E7E8ECECEFEFF0F1F3F3F5F5F6F6F7F7F8F8F8F8F8F7F6F6F5F5F5F3F3F0F0EFEDECEBE8E7E5E4E0E0DDDAD9D6D4D1CECCC9C7C4C1BEBDB9B7B4B2B1ADAAA8A5A3A2A09E9C999795959392959CA4A9B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD9F91877872727475767576767777787F757272727372727272737372727273757575767778797B7C7C7D8181818383848888898C8D8E8F909394949797999B9C9FA1A2A2A4A5A7AAAEB1B2B5B6B9BBBDC0C1C4C4C6C8C9CBCBCFD0D1D3D3D3D5D7DAD9DADADBDADBDCDEDEDEDEDEDFDFDEDEDEDCDCDCDCDCDCDCDEDEDFDEDEDEDFE1E1E1E1E1E1E1DFDEDEDEE1DFDFDEDEDEDCDBDBDADBDAD9D7D7D7D7D6D6D6D5D5D3D3D1CFCECBCBC9C9C6C5C4C3C0BFBDBCBBB8B6B5B2B2B1B0AEABA8A8A5A4A29F9E9C9B999794969290908E8D8D899099A4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A08E786A6A6C6C6C6A6C6D6D6D6D6E6E6F6F6F727272737575767576777777797B7C7E7F818385898A8C8F8F909397999C9C9FA2A4A5A7AAACB0B2B5B5B8B9BBBBBCBFBFC1C3C3C5C5C5C6C9C9CBCED0D0D1D1D3D3D3D6D7D7D7D6D6D7D6D6D7D7D9DADADBDBDADBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9AA150F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000000000000000477878797A7B7C7D7F8081838586888A8B8D8F929496989B9DA0A2A5A8AAADB0B3B6B8BBBEC1C4C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DEDCD9D7CD10000000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A18B8D8F90929395989A9EA0A3A5A9ABAFB1B4B7B9BDC0C3C5C7CBCED1D4D7DADCDEE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F5F6F6F7F8F8F8F8F7F7F6F6F5F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDCDAD8D4D3D0CCCBC7C5C3C1BDBAB7B5B3B1ADABA9A5A4A2A09E9C99989CA1A8B0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3928376757675757576787D736F6F6F6F6F7172727273737373737576777778777879797B7C7E7E80818183838687888A8C8E90929397999B9C9EA2A2A5A5A7AAABAEAEB1B3B5B8B9BBBFBFC1C3C5C6C9CACBCFD1D3D5D7DAD9DADADBDCDEDEDFE1E2E2E3E3E4E6E4E7E7E9E9E9EAEBEBEBEBEBEBECEEEEEEEEEEECECEBECECECECEEEFEEEEECECECEEEEEBEBEBEAE9E9E9EAE9E6E6E6E6E6E3E3E2E1E2DFDEDEDCDBD9D7D6D5D3D0CFCBCAC9C5C4C3C1BFBDBCBBB9B5B2AEACAAA7A5A2A2A19E9C9B99979694908F9099A5B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B198856D67696969696B6D6C6C6D6D6E707171707272737375767777787A787B7D7E7F8183858688898C8D9090929394999C9EA1A2A5A8AAABAEAEB2B3B5B9BBBDC0C3C3C5C6C5C6C6C6C8CACBCBCBCBCBCECECFCFCED0D0D0D0D0D0D0D0D0D0D0D3D3D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9C2250F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000000000056E78797A7B7C7D7E7F8182848587898A8D8E91939597999C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DFDDDBD8D65D0000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A18B8B8D8F91939597999CA0A2A4A8AAADB1B3B6B9BDBEC1C5C7CBCCD0D4D7D9DCDDE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F5F6F6F7F7F8F8F7F7F6F6F6F5F5F3F3F1F0F0EFEDECE9E7E7E4E1E0DDDCDAD7D4D1D0CCC9C7C4C1BEBDB9B7B4B1AFACAAA8A4A2A0A0A4AAB0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3907E767675777D726F6E6E6E6E6F707172727373727576767677777776787879787B7C7C7C7E7F81818183858688888C8D8E9090929497999B9C9EA1A2A4A5A7AAABAEB1B1B5B6B8B9BDBDBFC0C1C5C5C9CACED0D1D3D3D3D5D5D6D7D7D9D7D9D9DADBDEDEDEE1E1E1E1E2E2E3E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E3E3E3E3E3E3E3E4E6E4E6E4E3E3E1E1E1E1DEDEDEDBDBDBDBDBD9D9D7D5D5D5D1D0CFCBCAC9C5C5C3C1C0BDBBB9B8B8B5B2B1B0ACA8A7A5A4A19C9B97969492908F8D8A8E99A9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB8E766A6C6A6A6D6E6F6F71717273737576777778797C7D7D7F80808183838586888A8C8F90939497999C9FA1A5A7AAABB1B1B2B6B8BBBCBDBFC1C5C6C9CACACACECFD1D1D5D5D6D7D7D9DADBDEDEDFE1E1E1E1E1E3E2E1E2E3E3E3E3E3E2E2E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBE3380F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE307000000000000000000000000000000000000000000000000000000002B7778797A7B7C7D7F808183848688898B8D8F929396989B9DA0A2A5A8AAADB0B3B5B8BBBDC0C3C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEEDEBEAE8E6E4E2E0DEDCD9D7AA000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A1888B8B8D90929395999C9EA0A3A7A9ACB1B3B5B7BBBEC1C4C7CACCD0D3D6D9DADDE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F5F6F6F7F7F7F7F7F7F6F6F5F5F5F3F3F1F0EFEFECECE9E7E5E4E0DEDCDAD9D6D3D0CCCBC7C5C3C1BDBAB7B5B3B1ADAAA7A8AAB1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE957C6D74686565656767676869696A6C6C6E6E6D6D6E6D6E7071717273727475767778787A7B7B7E8181838686888A8D8E909296979B9B9C9FA2A4A5A7A8ABAEB1B2B3B5B8B9BBBFBFC1C4C5C8C9CACBCFD0D1D5D7D9D9DADBDBDCDEDFE2E3E3E3E3E3E3E4E6E6E7E6E6E7E9E7E7E6E6E6E6E6E6E7E7E7E6E7E9E9E9E9E9E9E6E7E7E7E7E7E7E7E7E7E6E7E6E4E4E4E2E1E1DEDBDADAD7D5D5D1D0CECACAC8C4C1BFBFBDBCB9B8B5B3B1AEACABA8A5A4A1A19E9B9B979492908F8D8F9BAEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A58B766E6E6F7171717272737275747576777777787B7C7E8181838385888A8C8F92939697999B9FA1A2A4A5A7A7AAACB1B2B5B8BBBCBFC0C1C3C4C6C9C9CECFD0D1D3D6D7D7DADADCDEDEDFE2E2E2E3E2E3E2E2E2E2E2E3E3E4E4E4E4E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2590F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000005B78797A7B7B7C7E7F8082848587898A8C8E90929497999C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E4E1DFDDDBD8D62A000000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A187898B8D8F919395979A9EA0A2A5A9ABAFB2B5B7BABDC1C4C7CACCD0D3D6D9DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F6F6F6F7F7F7F7F6F6F6F5F5F5F3F1F0F0EFEDECEBE8E7E5E3E0DEDCDAD8D4D3D0CCCAC7C5C1BEBDB9B7B4AEADAFB1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE997D6968686969696A6A6A6C6D6D6D6E6D6E6F71716F7171727274757577777878787B7C7E7F818283858588888C8C8E90909294979B9C9C9E9FA2A4A7ABABACAEB1B2B3B5B9BBBDBDBFC0C3C4C5C6C8CACBCECECFD0D3D5D7D7D7D6D9D9D7DADADADBDBDBDCDBDCDEDEDEDEDEDFDFDFDFDFDEDEDEDEDCDBDBDBDCDCDBDBDBDCDEDCDBDADADADBDADAD9D7D7D5D3D5D3D3D0CFCBCBCACAC9C6C5C4C1C3C1C0BFBCB8B6B6B3B2B0AEACABA7A5A4A29F9C9B99979794939CAAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A58B726E6E6F6F716F72737475777878787B7C7C7D818183858687898C8D90929497999B9EA2A5A7A8ABAEB0B2B5B8BBBCBFC1C4C5C6C8CACBCED0D0D0D1D5D5D7D9D7D7D9DADBDBDCDCDEDEDEDEDCDEDEDEDEDEDEDEDCDCDBDBDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D67E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000000000137778797A7B7C7D7F808183848688898B8D8F919396989B9DA0A2A5A8AAADB0B2B5B8BBBDC0C3C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F5F5F4F3F1F0EFEDEBEAE8E6E4E2E0DEDCD9D7800000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A186888B8B8F90929597999CA0A2A4A8AAADB1B4B7BABDC1C3C7C9CCD0D3D6D8DADCE0E1E4E7E7E9ECEDEFF0F0F1F3F5F5F5F6F6F6F7F7F7F7F6F6F6F5F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DDDCDAD7D4D1D0CCC9C7C4C1BEB8B2B2B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE957D6D6D6D6D6D6E6E6F6F6F6F716F7272737575767777777879797B7B7C7C7D7E81818283858988898D8D8F92939397999B9E9FA1A2A5A7A8AAAEB1B2B5B8BBBBBCC1C3C3C3C4C6C6C9CACBCBCFD0D0D1D3D3D5D6D7D7D7D7D7D7D7D7D7D9DADADADAD9D9DBDBDBDBDBDBDEDCDBDEDEDBDCDBDCDBDAD9D9D7D7D7D7D9D7D6D7D6D6D6D6D5D6D3D0D1D1D0D0CECBCAC9C8C5C4C4C3C1C0BDBBB9B6B2B0AEABA8A8A5A2A19E9C9B9797969493908F8E8C91A3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B197786A6A6B6D6E6E6F707273737375767777787B7C7E81828585898C8C8F929497999B9C9FA2A2A5A5A8ACB0B2B6B9BBBDBFC0C1C4C4C6C8CBCBCED0D1D1D3D5D5D5D7D9DADADADCDEDEDEDEDEDEDCDEDEDFDFDEDFE1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFB10F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE307000000000000000000000000000000000000000000000000000000004378787A7A7B7C7D7F8082848586888A8C8E90929497999C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEBE9E7E5E4E1DFDDDBD8CE110000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E8687898B8D90919395989C9EA2A3A7AAADB1B4B7B9BDC0C3C5C9CCD0D1D4D8DADCDEE0E4E5E7E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F7F7F6F6F6F5F5F5F3F3F1F0F0EFEDECE9E7E7E4E1E0DDDAD9D7D4D0CCCBC7C4BBB6B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE8E726C6D6D6D6C6D6E6F6F6F6F6F6F6F717271727373757676777777797C7B7C7D818182838487898A8C8E9092949697999B9C9EA2A4A5A8ABABB1B1B1B3B6B8BCBDC0C3C5C8C9CBCBCBCFCFD0D3D1D3D3D5D5D7D9DADADBDEDEDEDFE1E1E1E1E2E2E2E3E2E2E2E2E2E3E3E3E3E3E3E2E3E3E3E3E3E3E4E4E4E6E4E3E2E1E1DFDFDEDCDCDBDBDADADAD7D7D5D5D5D3D0CECBCAC9C6C3C3C1BFBDBBB6B5B5B3B1AEACABA7A5A2A19E9B97969EB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A68A73727272757676777878797B7B7C7C7C7E7F81828689898C8D90929397999C9EA2A4A8A8ABB1B1B2B6B6B9BBBFC1C4C5C6C6C9CACECFD0D0D1D3D5D7D7D9DADCDEDFDEE1E1E1E2E1E1E1E2E3E3E3E3E2E2E2E2E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBD31D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000056E78797A7B7C7D7E808183848688898B8D8F919396989B9DA0A2A5A8AAADAFB2B6B8BBBEC1C4C6C9CBCED1D3D6D8DBDDDFE1E3E5E7E9EBECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEDEBEAE8E6E5E2E0DEDCD9D75E000000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A08586888B8D8F919395979A9EA0A3A5A9ACB1B3B6B9BDC0C3C5C9CCD0D1D4D7DADCDEE0E4E5E7E9ECECEFF0F0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0EFEFECECE9E7E5E4E0DEDCDAD9D6D3D0C9BEB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A080737375757574747675767676757777797B7C7C7B7B7C7C7C7D7E8182838486898A8C8C8D8F90929397979B9C9C9FA2A5A5AAABAEB0B1B2B5B6BBBDBFC1C3C5C5C6C8C9C9CBCBCED0D0D3D3D3D6D7D7DAD9D9D9DADADBDCDEDCDCDEDEDCDCDCDFDEDEDEDBDCDEDEDEDEDCDEDEDCDBDBDAD9D7D7D7D6D5D3D5D5D3D3D3D5D3D1D0CFCFD0CECBC9C9C6C5C4C3C1BFBFBCB9B6B3B2B1AEACAAA8A5A4A29E9C9B9796928F8F8D8F9FB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B198766D6C6C6D6D6E6F71727577787B7B7B7E8081828585898C8F909496979B9C9FA2A4A7AAACAEB2B5B8B9BDBFC1C1C4C5C8C8C9CACBCFCFD0D1D5D5D5D5D6D6D7D7DADADADADADBDBDCDCDEDEDEDEDEDEDCDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD1350F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000003078787A7A7B7C7D7F8082838586888A8C8E90929497999C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D5D7D9DCDEE0E2E4E6E8EAEBEDEFF0F1F3F4F5F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1EFEEECEBE9E7E5E4E1E0DDDBD8B40000000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E848687898B8D90929597999DA0A2A5A9ABB1B3B5B7BDBEC1C5C7CBCED1D4D7DADCDEE0E4E5E7E9ECECEFF0F0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0EFEDECECE8E7E5E4E0DEDCDAD8CCBFB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6876C6A6A6A696C6C6A6B6D6C6D6D6D6D6F6F6F7172727475757576787A7B7C7D7F81838587888C8C8F929497979B9B9CA1A2A5A7AAACAEB1B2B6B9BBBDC0C3C4C4C5C6C8C8CAC9C9CBCECFD0D1D3D5D5D6D7D7D7D9DBDADBDCDEE1E1DEDFDEDFDFE1E1E1E1DEDEDEDEDEE1DEE1E1DFDFE1DFDFDEDEDEDBDCDAD9D7D7D6D6D5D6D5D3D1CFD0CECACAC9C8C6C5C4C1BFBDBBB9B8B5B2AEACA8A7A4A4A19F9C9B999797A7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3997A7273757577777778787B7B7D7E81818385888A8C8D8E909496999B9C9E9FA4A5A7A8ACAEB0B1B3B5B8B8B8BBBCBDC0C1C5C6C5C6C9C9CACBCECFD0D1D3D3D5D5D5D5D5D5D5D5D5D7D6D6D5D5D5D6D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9600F0F0F0F0F0F0F0F10101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD907000000000000000000000000000000000000000000000000000000005F78797A7B7C7D7E808183848688898B8D8F919396989B9DA0A2A5A8AAADB0B3B6B8BBBEC1C4C6C9CBCED1D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEDECEAE9E6E5E2E1DEDCDAD73B0000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E838587888B8D90919395999CA0A2A4A8ABAFB2B5B7BBBEC1C5C7CBCCD0D4D7DADCDEE0E3E5E7E9ECECEFF0F0F1F3F3F5F5F5F6F6F6F6F6F6F6F5F5F5F5F3F1F0F0EFEDECEBE8E7E5E3E0DECDC1B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE90716C6C6C6C6D6D6D6F6F6F7071727072727576777777787A7B7C7D7E7F81818488898C8D8E90929396999B9C9FA4A5A8AAABB0B1B2B3B6B9BBBDC0C1C3C3C4C5C8CACACBCED0D3D5D5D7D9D9DADADADBDBDEDEDEDEDEDEDEDCDCDEDEDEE1E1E1E1E1E1E1E2E3E3E3E3E2E3E3E3E3E1E1DEDEDFE1DEDEDADADADADADADAD7D6D3D5D3D1D0CECBC9C8C5C4C1BFBCBBB8B6B3B1B1ACAAA8A7A4A29F9E9B9BAAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A082787B7C7D7E8081818183858889888A8A8D8F90939697999C9FA2A4A5A7A8ACACB1B2B6B9BBBDBFC1C5C5C6CACBCECED0D1D1D6D6D7D7D9D9DADBDBDBDBDEDEDEDBDBDBDCDCDCDEDEDEDEDEDEDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDE960F0F0F101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000000000001C78787A7A7B7C7D7F8082838586888A8C8E90929497999C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDD0D2D5D7D9DCDEE0E2E5E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1F0EEECEBE9E7E6E4E2E0DDDBD99A0000000000000000000000000000000000000000000000000000000023F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E828486888B8D8F919395999CA0A2A4A8ABAFB1B5B7BABEC1C5C7CBCCD0D4D7DADCDEE0E3E5E7E8ECECEFEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F5F5F5F5F3F1F0F0EFEDECEBE8E7E5D5C4B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B18C666160616262636363656567676768686967686A6D6D6D6E70727275767677797B7C7E80818586898A8E909293979B9C9EA1A2A5A7AAACAEB1B3B3B6B8B9BBBDBFC0C1C3C5C5C5C5C8C9CACECBCECFCFCFCFCFD0D3D6D6D6D7D7D7DADADADAD7D7D7D7D7D7D9DADAD9D7D7D6D5D3D0D0D0D0D0D0D0D0D0D0CECACACAC8C8C6C3C3C4C1C1BFBDBBB9B8B6B3B1B1B0ACAAA8A7A5A4A2A19E9B9BABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A37E73757576777778797C7D7E7F828388898A8A8E8F909396999B9EA1A4A5AAACAEB0B1B5B9BCBDC0C3C5C9C9C9CECFD0D1D5D5D7D7D9D9DADBDBDEDEDEDCDEDCDEDEDEDEDFDFDFDFDFDEDEDBDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEBE161010101010101010101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23000000000000000000000000000000000000000000000000000000004C78797A7B7C7D7E808183848588898B8D8F919396989B9DA0A2A5A8AAADB0B3B6B8BBBEC1C4C6C9CCCED1D4D6D8DBDDE0E1E4E6E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DEDCDAD82200000000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E82838687898B8F919395989A9EA2A4A8AAAFB1B4B7BABDC1C4C7CBCCD0D4D7D9DCDDE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F5F5F5F5F3F1F0F0EFEDECE9DBCAB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B18F676565656767676767686A6B6C6D6F7172727574757778797C7D7E808181838689898C8E8F9396979C9CA1A4A5A7AAACAEB1B3B5B6B9BCBDC0C3C4C5C8CACBD0D3D5D7DADBDEDFE3E3E6E6E6E9E9EBEBEBEBEAECEBEBECEBEBEBECECEBECEEEEEEECECECEEEEEEECECECEBEAEBE9E9E7E7E6E4E3E3E1E1DFDEDEDAD9D7D5D5D3D0D0D0CECBCAC6C5C5C1BFBBB8B5B2B1AEABA7A7A6AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A0837E818182858485888A8C8F90929697999B9C9FA2A5A7AAACAEB1B5B8BCBFC1C4C6C9CBCED1D3D5D7DADBDEE1E1E3E4E4E4E6E6E7E9E9E9E9E9EAEAEBECECECECECEEECEEEFEEEEEEEEEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3DA2610101010101010101010101010101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE000000000000000000000000000000000000000000000000000000000E73787A7A7B7C7D7F8081838586888A8C8E90929497999C9FA1A4A6A9ABAEB1B4B7BABDC0C2C5C8CACDD0D3D5D8DADCDEE1E2E5E6E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F1F0EEECEBEAE8E6E4E2E0DDDBD9790000000000000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E82838587898B8D909295979A9EA0A3A8AAADB1B4B7BABDC1C4C7CACCD0D3D6D9DCDDE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F5F5F6F6F6F6F6F6F5F5F5F3F3F1F0F0EFE7D0BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE8465656567676767676769696A6D6E6F6F71727475767577787A7B7D7F81818385898C8D8F9093979B9B9CA1A2A5A8ACACB0B2B3B5B8B9B9BCBDBFBFC1C3C4C4C5C6C9C9C9CACECFD0D0D3D1D1D1D3D5D5D5D6D7D6D5D7D7D7D9D9D9D9D7D7D7D7D9DAD7D7D7D7D9D9D7D5D6D6D7D6D5D5D3D0CFCECBC9C6C6C5C5C4C3C1BFBFBDBBB9B6B3B2B0ACABAAA8A5A2A19E9C9B99A5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39985838688898A8C8E909092969799999C9EA1A2A5A7A8ABAEB1B1B3B5B9BCBDC0C3C4C5C6C9CBCBCFCFD1D1D3D5D6D7D7D7D7D9DADBDADBDADCDCDCDCDEDCDCDCDCDEDCDCDCDEDEDEDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E152101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A000000000000000000000000000000000000000000000000000000003E78797A7B7C7D7E808183848588898B8D8F919396989B9DA0A2A5A8AAADB0B3B6B8BBBEC1C4C6C9CCCFD2D4D7D9DBDDE0E2E4E6E7E9EBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DFDDDAD0110000000000000000000000000000000000000000000000000000000FEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E80838586888B8D909295979A9EA0A3A7AAADB1B4B7BABDC1C4C7CACCD0D3D6D9DCDDE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F5F5F6F6F6F6F6F6F5F5F5F3F3F1F0DAC5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A67A696A6A6A6B6A6D6D6E6F6F6F727273737575777878797B7C7F8081838386898A8E90909394979B9B9C9EA2A4A7AAABB0B1B5B6B6B9BCBCBDBFC0C1C3C4C5C8C9CACBCBCFCFCFD1D1D3D5D5D7D7D7DADADADADADAD9D9D9DAD9DADADADADADBDADAD9D9DADBDBDADADBDBDBDAD7D7D7D6D5D3D3D1D1D0D1D0CECBCAC9C6C5C3C1C1BFBBB8B5B2B1B0ACACA8A7A5A4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B18C787777797B7D7D818386888A8D909396979B9C9EA2A4A5A7AAACB1B2B5B8BBBFBFBFC1C4C5C6C9CBCECFD0D1D5D5D7D7D7DADBDADBDCDCDEDEDEE1E1E1E1E3E2E2E3E3E3E3E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDF9810101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF619000000000000000000000000000000000000000000000000000000056F787A7A7B7C7D7F8081838586888A8C8E90929497999C9FA1A4A6A9ACAFB2B4B7BABDC0C2C5C8CBCED0D3D6D8DADCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F1F0EFEDEBEAE8E6E4E2E0DEDCD95E0000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E80828486888B8D909293979A9DA0A3A7AAADB1B4B7BABDC1C4C7C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F5F5F6F6F6F6F6F6F5F5F5F3F3E9B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3986B6363646364646464656767686A6A6C6D6E727373757778787B7C7D7F7F838488888C8E909296999C9EA1A2A5A7ABACB0B1B3B6B6B9BCBFBFC1C3C4C6C9C9C9CACBCBCFD0D5D5D6D7D7D9DADBDADADBDCDCDBDBDBDBDBDEDBDEDEDEDEDCDEDFDFDEDEDFDEDEE1E1DEDEDCDBDADAD7D5D3D1CFCECBC9C8C5C4C1C0BFBCBBB9B6B5B2B1AEAAA8A5A4A29E9FAEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3818386878A8A8D90929397979B9C9FA2A5A8ABACAEB1B3B8B9BCC0C1C3C5C9C9CACACECFD0D3D5D7D9DADADCDEE1E1E3E3E4E3E6E6E7E7E9E9EBEBEBEBECECECECECEBEBECECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2C3171010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000000000003478797A7B7C7D7E808183848688898B8D8F919396989B9DA0A2A5A8AAADB0B3B6B9BCBFC1C4C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEFF0F1F3F4F5F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F7F5F4F3F2F0EFEEECEBE9E7E5E4E1DFDDDBC7080000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D80828486888B8D8F929395999DA0A3A5A9ADB1B3B7B9BDC1C4C7C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1876A6C6A6C6A6B6A6C6C6D6D6E6E717172727376767777787B7C7C7F81838588898C90909297999B9EA1A2A5A5A8ABACB1B1B3B6BBBCBFC1C4C4C5C9CACACACBCECFD0D1D3D5D6D7D6D5D6D7DADBDBDBDCDCDBDADBDBDBDCDCDEDBDADADADCDCDBDAD9D9D9D9DAD7D7D5D5D1D1D0D0D0D0CBCAC9C8C6C5C4C3C1C0BFBCB9B9B6B5B3B1AEABAAA7A4AAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D7F8181828586888A8C8D8F9294979B9C9FA1A2A5A7A8ABACB0B1B3B6B9BBBDC0C1C4C4C6C9CBCECFD0D3D5D7D7D7D7DADADBDBDCDEDFDFE1E2E1E2E2E2E2E2E2E2E3E2E2E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCD537101010101010101111111111111111111111111111111111111110101010101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF400000000000000000000000000000000000000000000000000000000065787A7A7B7C7D7F8082838586888A8C8E90929497999C9FA1A4A6A9ACAFB2B4B7BBBDC0C3C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EBECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEDEBEAE8E6E5E2E0DEDCD94E00000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D80828386878B8D8F919395999CA0A2A5A9ACB1B3B7B9BDC1C3C7C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39F6B65646464656565656868686A6C6D6F717175757577797B7D7E81818385878A8D8E92939697999B9C9E9FA2A4A5A7AAABACAEB1B3B6B9BCBDBFC1C3C3C5C8C9CACACACBCECECFD0D1D1D5D5D7D9D9D9D9D7D7D7D7D7D7D7D6D6D6D5D5D5D5D5D3D3D5D3D3D3D3D3D1CFCECECECAC9C8C9C6C5C5C3BFBDBBB9B8B5B3B0AEACAAA8A7A5A4A1B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7808182848689898C8E8F90929497999B9E9FA4A5A7ABACACB1B2B5B6B9BCBFC0C1C3C5C8CACACBCFD0D3D5D6D7DAD9DADBDADADBDBDCDEDBDAD9DADBDCDBDBDBDBDBDBDBDBDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E66F10101011111111111111111111111111111111111111111111111111111111111110101010101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9070000000000000000000000000000000000000000000000000000002B78797A7B7C7D7E808183848688898B8D8F919396989B9DA0A2A5A8ABAEB0B3B6B9BCBFC1C4C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F1EFEEECEBE9E7E6E4E2E0DDDBB5000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D8082838587898B8F919395999CA0A2A5A9ACB1B3B6B9BDC1C3C7C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B17E62616163636464646565656868696C6C6D6F7171727577777A7C7E8185898A8D90929496999B9C9CA2A4A7A7AAABAEB0B2B3B8B9BCBDBFC1C4C5C9CACBCED0D0D1D3D6D9D9DADADBDBDEDEDEDFDFDFE1E1E1E1E1E1E1DFE1E1E1E1E1E1E1E1E1E1E1DFE1E1DFDEDCDBDBDADAD7D9D7D5D3D1CFCBCBCAC8C6C4C3C0BFBBB8B5B1AFADB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78183838387888D8E8E909294969B9B9EA1A2A4A5A8ABB0B0B3B6B8B9BFBFC1C4C5C6C6CACACBCED0D0D1D3D7D7D9D9D9DBDCDBDBDEDFE1E1E1E1E1DFDFE2E2E1DFDEDEDBDBDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6B01111111111111111111111111111111111111111111111111111111111111111111111111111111110101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75000000000000000000000000000000000000000000000000000000005B787A7A7B7C7D7F8082838586898A8C8E91939597999C9FA1A4A7AAADAFB2B5B8BBBDC0C3C6C9CBCED1D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E3E1DEDCDA3C0000000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D8080838587898B8F919395999CA0A2A5A9ACB1B3B6B9BDC1C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39B71706F6F707272727575757777787A7D7D8081828687888C8E90929396999B9C9EA2A4A5A7AAACB0B2B6B8BCBFC0C1C3C4C5C6C9C9CED0D1D3D5D7D7DADADADBDCDEDEDFE1E1E2E3E3E3E4E4E6E6E6E6E4E4E4E4E4E6E6E7E6E6E4E4E3E2E1DFDFDEDEDBDBDAD9D9D7D6D3D1D0CBCBCAC9C8C5C4C0BFBDB9B8B5B5B1AEACA8B0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77C7D7F808181828586898A8D90939497999C9FA2A5A7A7A8ACAEB1B3B6B9BBBFBFBFC0C1C3C3C4C5C5C9CBCBCFD0D1D1D1D3D5D5D5D6D5D7D7D9DADAD9DADADADADBDADADBDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCCF1E1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101010101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6190000000000000000000000000000000000000000000000000000001C78797A7B7C7D7E808183848688898B8D8F929496989B9DA0A3A5A8ABAEB0B4B7B9BCBFC2C5C7CACDD0D2D5D7D9DCDEE1E2E5E6E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F5F5F4F3F1F0EEEDEBEAE8E6E4E2E0DDDBA500000000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D8080838587898B8F919395989CA0A2A5A9ABB1B3B6B9BDC0C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA70656565676868696A6C6D6D6E6F7272757576787C7C7C8081828487898D8F9296999C9EA2A2A5A7A7ABAEB0B1B2B5B6B9BFC0C1C5C6C8CACBCFD0D3D3D5D7D7D9DADADBDBDCDEDFDFDFDFE2E1E1E2E3E3E3E3E4E6E6E6E6E4E4E3E3E2E3E1E1E1DEDEDEDCDEDBDCDAD9D9D7D5D5D1D0CBCAC8C6C5C3C1BDBBB9B8B6AFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A782838686898A8C8E9092939797999B9C9FA2A5A7AAABAEB0B1B3B8B9BBBDBFC1C3C5C6CACBCFD0D3D3D6D7D9DADADADBDEDEDEDFE1E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEA571111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000000000005B787A7A7B7C7D7F8082848587898A8C8E919395979A9C9FA2A4A7AAADAFB2B5B8BBBEC1C4C6C9CCCFD1D4D6D9DBDDE0E2E4E6E7EAEBECEEF0F1F2F4F5F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEBE9E7E5E3E1DFDDDA340000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D8080838587888B8D919395989CA0A2A4A9ABB1B3B6B9BDC0C3C5C9CCD0D3D6D9DADDE0E1E4E7E8EBECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B182696A6A6C6C6D6E6E7070727275767778787A7C7D7E818385888A8C8F90929497999B9EA1A2A5A7A8ABB0B1B5B5B8BBBDC0C1C4C5C5C8C9CACBCED1D1D3D3D6D7D6D6D6D5D5D5D7DADBDBDCDBDBDCDEDEDEDEDBDBDBDBDBDBDAD9D9D6D6D5D5D5D3D1D0CECECBC9C8C6C5C5C5C5C4C3BFBCBBB9B6B3B1AEAEA9AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7818283848686888A8C8E90929396979B9C9C9EA2A5A7ABACB0B1B1B3B6B6B8B9BBBDBFC3C4C5C6C8C9CACECBCECFD0CFD0D0D1D1D3D5D5D5D5D5D5D3D5D5D7D7D7D9DADBDBDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E49B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110101010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000001378797A7B7C7D7E8081838486888A8B8D8F929496999B9EA0A3A6A9ABAEB1B4B7B9BDC0C2C5C8CBCED0D3D6D8DADCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2E0DEDCA500000000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828586888B8D909395989CA0A2A4A9ABAFB3B5B9BDC0C3C5C9CCD0D3D6D9DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38C64636465656567676869696A6D6E6D6F707376777B7C7F81818386898C8C8F929396979B9C9EA2A4A4A5A8AAACB0B2B5B8B9BCBFBFC3C4C6C8C9CACBCECFCECFCFD1D3D3D3D6D6D7D7D7DADBDBDBDBDADCDCDCDCDCDCDEDADADAD9D7D7D6D6D7D6D3D0CFCECBCACBCACAC8C6C4C3C1C0BDB9B8B5B2B1ABB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78283858888888A8E8F909397979B9C9EA1A4A5A8ACAEB1B2B5B8BBBDBFC0C3C5C6CACACBCECFD0D3D3D5D7DADADADBDEDFE1E1E3E4E4E3E4E4E6E6E6E6E9E9E9E9E9E7E7E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6CE181111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9000000000000000000000000000000000000000000000000000000004D787A7A7B7C7D7F8082848587898A8D8E919395989A9D9FA2A5A8AAADB0B3B6B8BBBEC1C4C7CACCCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F1EFEEECEBE9E7E5E4E1DFDDDB3400000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828586888B8D909395989CA0A2A4A8ABAFB3B5B9BDC0C3C5C9CCD0D3D6D9DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39B64636464646567686A6C6C6E6F72727576777A7C7E808184888A8C8D8F9297999B9C9FA2A4A7A8ACAEB2B5B6B9BDBFC3C4C6CACBCBCFD0D3D5D7D7DBDEDEDEDFDFE1E1E3E3E4E4E4E4E6E6E6E4E3E4E3E3E3E4E4E4E3E3E4E6E4E4E3E2DFE1DFDEDEDEDBDCDAD9D7D7D5D3D1CFCBC9C8C5C1BFBDB1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A98A8A8C8C8E908F929496999B9C9E9FA2A2A7A8AAABACACAEB1B2B6B9BBBDBFC1C3C4C5C6C8C9CBCED0D1D3D6D7D7D9DADCDEDEDEE1E1E2E3E3E3E3E3E2E3E3E2E2E3E3E4E4E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E74C111111111111111212121212121212121212121212121212121111111111111111111111111111111111111111111111111111111111111111111111111010101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000000000001378797A7B7C7D7F8081838486888A8B8E90929497999B9EA1A4A6A9ACAFB2B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEAE9E6E5E2E1DEDC9D00000000000000000000000000000000000000000000000000000007E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828486888B8D909295989CA0A2A4A8ABAFB3B5B9BDC0C3C5C9CCD0D3D6D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39F6E65676869696A6B6D6D6E727273757576777A7B7D7E8184868A8C8E909397979B9C9E9FA2A5A7A7ABACB0B2B5B6B8BBBCBFBFC1C3C5C8C9CACED0D0D0D0D1D3D3D5D3D5D5D6D7D7D9DADADADAD9D9DADBDBDBDCDCDBDEDADAD9D9D7D7D6D6D5D5D3D3D3D1D0CECBCAC8C6C5C4C0BDBBB8B5AFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7838588888A8C8F909092969697999B9C9FA2A4A7A7ABACB1B2B2B5B8B9BCBDC1C3C4C5C9CACBCFD0D0D3D5D6D7D7D7D9DADBDEDEDEE1E1E1E1E2E2E3E2E3E3E3E2E2E2E3E3E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDF8F111111121212121212121212121212121212121212121212121212121212121212111111111111111111111111111111111111111111111111111111111111111110101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED070000000000000000000000000000000000000000000000000000004D787A7A7B7C7D7F8082848587898B8D8F919396989B9DA0A2A5A8AAADB0B3B6B9BCBFC1C4C7CACDCFD2D5D7D9DCDEE0E2E5E6E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F1F0EEEDEBEAE7E6E4E2E0DDDB2300000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828486888B8D909295989A9EA2A4A8ABAFB2B5B7BDC0C3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A969636464646565656768696C6D6E71727273757777787A7C818185898C8F90929397999B9E9FA4A7A8ACB0B1B3B6B8B9BDBFC0C4C4C5C8CACBCED0D1D3D3D5D6D6D5D7D7D7D9D7D9D9DADADADADAD9D9D9DADAD9D9D9D7D6D7D6D7D5D5D3D1D0CFCECBCAC8C5C4C4C3C1BFBDBBB9B6B4AFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A9888A8A8C8D8F9090929496979B9C9E9FA2A2A4A4A5A8ACAEB1B3B5B8B9BCBFC1C4C6C8CAC9CECED0D0D0D3D5D7DADADCDEDEDEDEDCDFDEDEDCDEDEDEDEDEDFDEDCDBDBDBDCDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3CC191212121212121212121212121212121212121212121212121212121212121212121212121212111111111111111111111111111111111111111111111111111111111110101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D0000000000000000000000000000000000000000000000000000001378797A7B7C7D7F8081838486888A8B8E90929497999C9FA1A4A6A9ACAFB2B5B8BBBDC0C3C6C9CBCED1D4D6D8DBDDE0E2E4E6E7EAEBECEEF0F1F2F4F5F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F7F5F4F3F2F1EFEEECEBE9E7E5E3E1DEDC8B0000000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA6D6567686768696A6D6E707072737575787B7C7F808286888D8F909294999B9C9FA4A7A8ABACB0B2B5B6B9BCBFC3C4C5C6C9CBCECFD0D0D1D3D5D5D6D7D9DADADADBDBDCDCDEDEDFE1E1DEDFDFDEDEDEDCDEDCDEDBDCDCDBDAD7D7D7D5D1D0CFCECAC9C8C5C4C3C1BFBDB9B6B5B1B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A98888888A888C8D8D909090939396979B9C9C9FA1A2A2A5A7A8ABACAEB0B1B1B3B6B6B9BCBDC0C1C3C4C5C8C9CACBCECFD0D3D1D1D3D3D1D3D3D5D3D5D6D7DAD9DADADBDBDBDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E44C121212121212121212121212121211121112121212121212121212121212121212121212121212121212121111111111111111111111111111111111111111111111111111111110101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6230000000000000000000000000000000000000000000000000000004D787A7A7B7C7E7F8182848587898B8D8F919396989B9DA0A2A5A8ABAEB0B3B7B9BCBFC2C5C7CACDD0D3D5D8DADCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2E0DEDC230000000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA6F69696A6A6C6D6F717274757577787A7B7E7F818387898C8D8E909496999B9EA2A4A5A8ABACAEB1B5B6B8BBBFC0C1C4C6C9C9CBCED0D1D3D3D5D5D6D7D9D7D9DBDBDEDCDEDEDCDBDBDAD9D9DADBDEDBDBDADADADADAD7D7D6D5D5D1D0D0CECAC9C6C6C4C3C0BFBCB9B8B5B3B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8A8C8D8D908F9093939396999B9C9C9FA2A4A4A5A8ABAEB0B1B3B6B9BBBBBBBFC1C4C6C6C9C9C9C9CBCBCACBCECED0D1D1D3D3D5D5D6D6D6D6D6D6D5D5D6D7D6D6D6D6D6D6D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E392121212121211111313131313131313131313131313131313131311111112121212121212121212121212121212121212111111111111111111111111111111111111111111111111111111101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA20000000000000000000000000000000000000000000000000000001378797A7B7C7D7F8081838586888A8C8E91939597999C9FA1A4A7AAADAFB2B6B8BBBEC1C4C6C9CCCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F5F4F3F2F1F0EEECEBE9E7E5E4E1DFDD9500000000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A96761616264636467676869696A6E6F727377787B7C7F8185878A8D8F929294979B9C9FA2A5A7ABB0B1B2B6B9BBBCBFC3C5C5C8CACACFD0D3D5D7DADBDCDEDEDFE1E2E3E3E3E3E3E3E4E6E7E6E6E4E4E3E3E4E4E3E3E2E1E1E1DEDEDEDBDBD9D6D5D3CFCFCBCAC8C6C5BDB4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8F9090929294979797999C9E9FA2A4A5A5A8ABABACB0B1B3B5B8BBBCBFC1C3C5C6C8CACACBCED0D0D1D0D5D3D3D5D5D7D9D9DADADCDEDEDEDBDEDFE1E1E1E1DFE1E1E1E2E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2CB191211131313131313131313131313131313131313131313131313131313131313111111121212121212121212121212121212121111111111111111111111111111111111111111111111111111101010101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000000000004D787A7B7C7D7E7F8183848688898B8D8F929496999B9DA0A3A6A9ABAEB1B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEAE9E7E5E2E1DEDC34000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F5F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A96A6363646565676868686A6C6C6D6E71737577777A7B7C7F818285888A8E909294979B9EA1A2A4A5A7AAACB0B3B6B8B8BCBCBDBFC0C0C1C1C5C5C8C8C8CACBCFCFD0D0D1D3D3D3D5D3D5D5D5D5D3D0D0D1D1D1D1D3D3D0D0CECECFCBCACAC9C6C4C3BFBFBDBBB9B6B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB9392939699999B9C9E9E9EA2A4A4A5A5A7A8ABACB0B1B2B6B6B6B9BDBFC1C3C5C6C6C9C8CACBCED0D0D3D1D1D5D5D7D9D9D7D7D9DADADCDADADADBDADBDBDCDCDEDBDBDBDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1845D5D5D5C5D5D5D5D5E5D5D5D5D5D5D5D5E5C5C5D5D5E606060605E5E606060606060606060605E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5C5C5D5D5C5C5D5D5D5C5C5C5C5C5C5C5C5C5C5A5C5C5B5A5B5B5A5A5C5A5A5C5C5C5A5A5A5A5A5A5A5858585858585858575857575757575758585858585858575757575757575757575757575857585757585858585859595A5A5A585A5A595859595A5A5A5A5A5A5A5A5A5A5A5A5C5A5A5A5959595A5A5A5A5A5A5A5C5C5C5A5A5A5A5A5A5C5C5A5A5C5B5B5C5A5A5A5A5A5A5A5A5A5A5A5A595A59595959595A5A5A5959585858585858585858582C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC40000000000000000000000000000000000000000000000000000001378797A7B7C7D7F8081838586898A8D8E919395989A9D9FA2A5A8AAADB0B3B6B9BCBFC1C4C7CACDCFD2D5D7D9DCDEE1E2E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2E0DDA700000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F6F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A06B6C6D6D6F6F717274757777797D7F818285898A8D8F929397999B9C9EA2A4A5A8ABAEB0B2B5B6B8B9BCC0C1C4C5C8C9CBCBCFD1D3D3D3D5D5D7D9D9D9DAD9DADBDBDBDBDBDADBDBDBDBDBDADADAD7DAD7D7D5D6D6D6D5D3D0D0CFCFCFCECAC8C6C5C3C1C0BDB4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE9B9C9E9F9C9FA2A4A2A4A5A8ABACB0B2B2B2B6B8BBBBBCBDC1C3C4C5C6C8C9CBCACBCED0D3D3D7D6D7DADBDCDFE1E1E2E3E3E4E4E3E3E3E2E1E3E3E3E4E3E2E3E3E3E2E2E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D38D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF400000000000000000000000000000000000000000000000000000004D787A7B7C7D7E808183848688898B8E90929497999C9EA1A4A6A9ACAFB2B4B8BBBDC0C3C6C9CBCED1D4D6D9DBDDE0E2E4E6E8EAEBEDEEF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F1EFEEECEBE9E7E5E3E1DFDD34000000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F6F5F5F5F3F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39C5D606161636464656567696B6D6E71757678797C7D7E8183868A8C8F909396979B9C9FA2A5A5AAACAEB1B3B5B8B9B9BDBDC0C1C3C5C5C6C9CACBCECECECECFD0D0D0D3D3D5D5D3D3D3D3D3D1D1D1D1CFCFCFCBCBCBCBCBC9C8C6C8C5C5C3C1BFBFBBB9B7B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA908F909090929393949497979B9B9C9FA2A5A5A7AAACAEB0B1B3B5B8B9BBBDBDBFC0C3C4C6C8CACECECFD0D0D3D5D5D7D7D9D7D7D7DAD9D9DADADBDBDEDCDCDEDEDEDCDEE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3990F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD90000000000000000000000000000000000000000000000000000001378797A7B7C7D7F8082848587898A8D8F919396989B9DA0A2A5A8ABAEB0B3B7B9BCBFC2C5C7CACDD0D3D6D8DADCDEE1E3E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEEECEAE9E6E5E2E0DEA700000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F6F5F5F5F5F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38F65656767686969696C6E6F7173757677787C7C818285898A8D909293979B9C9FA2A2A5A5A8ABAEB2B3B6B9BBBDC0C4C4C8C8C8CACECFD0D0D3D1D5D5D3D5D7D7D9DAD7D7D7D7D6D5D5D3D3D1D0D0D0CFCBCECBCBCBCBCAC9C8C6C4C3C3C1BFBCB9B7B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AC99999B9C9C9C9E9FA2A4A4A5A7A7A7AAACAEB1B1B3B6B8B9BCBFC0C4C5C5C8C9C9CACACBCFCFD1D1D5D6D6D9D9DAD9DADADBDBDCDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2980F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000000004D797A7B7C7D7E8081838486888A8C8E90929497999C9FA1A4A7AAADAFB2B5B8BBBEC1C4C6C9CCCFD2D4D7D9DCDEE0E2E4E6E8EAECEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F3F1F0EEEDEBEAE7E6E4E2E0DD34000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F6F5F5F5F5F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37C6364656767696A6D6E6F72727375787A7B7D818388898C8E909293979B9C9FA4A7AAACB0B1B5B9BCBDBFC0C1C4C5C6C9C9CBCED1D1D1D5D6D7D7D7D7D9DADADBDADBDCDBDADBDBDBDBDBDAD9D9D9D7D9D7D5D5D3D1CFCFCECBCAC8C5C4C4C3BFB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA8A8AAAAABACACACAEB1B1B1B2B3B5B6B8B9BDC0C1C4C5C6C8CACBCBCECECFD0D3D5D5D6D7D9D9D9DADBDBDEDEDEDFDFDEDFDFE1E1E1E2E1E2E1E1E1E1E1E1E1DFDFDFDFE1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DADADADAD9D7D6D5D5D5D3D3D1D3D3D1D1D3D3D3D3D38D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD90000000000000000000000000000000000000000000000000000001C78797A7B7C7D7F8082848587898B8D8F929496989B9DA0A3A6A9ABAEB1B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDDFE1E4E6E7E9EBECEEF0F1F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F1EFEEECEBE9E7E5E3E1DEB900000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F6F5F5F5F5F3E5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B17469686A6A6A6D6D6E6F717273757777787B7C7F8183868A8C8E909696979B9C9FA2A4A7A8ABACB1B3B6B9BBBDBFBFC1C3C4C9CACACBCECED1D1D1D1D3D5D6D7D7D7D7D5D5D5D3D1D1D0D0D1D1D1D1CFCFCECECECAC8C6C6C3C3C1BFBDBBB9B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA4A5A4A5A7A7A7AAABACABACB0B0B1B1B2B3B6B6B8B9BCBCBFBFC0C3C3C4C5C6C9CACACBCECFD0D0D3D3D5D5D6D6D9DADADADBDBDEDFDFDFDEDFDEDEE1E1E1E1E1E1E1E2E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7900F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000000005B797A7B7C7D7F8081838586888A8C8E919395989A9D9FA2A5A8AAADB0B3B6B9BCBFC1C4C7CACDCFD2D5D7DADCDEE1E3E5E7E9EAECEEEFF1F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2E0DE4F000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F6F6F5F5F5F3E5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A56765656768696A6D6F71737575777B7B7E81828388898D909497999C9EA2A5A7A8ACB1B3B8BBBDBFC3C4C6C9CACBCED0D1D5D5D7D9DADADBDCDBDBDCDFDFE1E1DEE1E2E2E1E1DFDFDEDEDEDEDEDCDBDADAD9D7D5D5D3D3D1D1CFCECAC9BFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA5A5A7A7A7A7AAABACACACAEB0B1B2B3B6B6B8BBBCBDBFC1C4C4C6C8CACECFD1D3D3D5D5D6D7DADADADCDCDEDFE1E3E2E3E4E4E6E6E6E6E6E7E7E7E6E7E7E7E7E7E6E6E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECA10F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE307000000000000000000000000000000000000000000000000000021787A7B7C7D7E7F8183848688898B8E8F929497999C9EA1A4A6A9ACAFB2B4B8BBBDC0C4C6C9CCCFD1D4D7D9DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F2F1F0EEECEBE9E7E6E4E1DFB900000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F5F6F6F6F6F6F6F6F5F5F5F3E5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3906262636464656568696B6C6F7173747577797D7E818286898C8D909396999B9CA1A2A5A5AAACAEB1B3B6B9BBBCBDC0C1C3C5C6C8CACECBCBCECFD0D1D0D0D1D1D0D0D1D0D1D3D1D1D1D0D1D1D1D1D0CFCBCECAC9C8C8C5C5C3C0BFB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AC979B999B9C9CA1A1A1A2A4A5A5A7A8AAABAEAEB0B1B1B2B5B8B9BBBFC1C3C4C4C5C9C9CACECECFCFCFD0D3D3D3D3D6D7D7DADADADCDCDCDADEDEDEDFDFE1DFE1E1E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E49C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A00000000000000000000000000000000000000000000000000000065797A7B7C7D7F8082838587898A8D8F919396989B9DA0A2A5A8ABAEB0B4B7B9BCC0C2C5C8CBCED0D3D6D8DBDDDFE1E4E5E7E9EBECEEF0F1F2F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE9E7E5E3E1DE61000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37C6868696A6C6D6E7070737677777A7B7D7F8183868A8D8F9094979B9C9FA2A5A8ABAEB1B2B6B8BBBCBFC0C4C5C6C9CACBCECFCFD0CFD1D3D5D6D6D7D7D9DAD9DADBDBDADADBD9D7D7D6D7D6D5D5D1D1D0D0CFCBCAC9C6C6C4C1BDB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B1B1B2B2B3B5B6B6B5B6B8B8B9BBBCBDC0C0C1C3C5C6C6C9CACECFD0D3D5D6D7D7DADADEDEE1E2E2E3E3E3E3E6E7E7E9E9EBEBEBEBECECEEEEEEEEEEEEEEEEEEEFEEEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDA920F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0700000000000000000000000000000000000000000000000000002B787A7B7C7D7E8081838486888A8C8E90929497999C9FA1A4A7AAADAFB3B6B8BBBFC1C4C7CACDCFD2D4D7D9DCDEE1E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2E0CC09000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F5E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE6B696A6A6C6D6E7174747576797B7E818387898A8C909397999B9CA1A2A5A7A8ABAEB1B3B6B8BBBFC0C1C5C5C6C9CACECFCFD1D1D3D5D6D7D7D9D9DADADBDBDADADBDCDCDBDCDCDADBDAD7D7D7D6D7D5D5D3D3D3D1D0CBCAC9B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA8A7A7A8A7AAABABACACACAEB1B1B1B2B2B3B6B6B8B9BBBCBDBFC1C4C5C5C5C8C9CBCECFD1D1D3D5D7D9D9DADBDEDEDEE1DFE1E1DFDFDEDEDEDCDBDBDEDEDEDEDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1980F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A00000000000000000000000000000000000000000000000000000069797A7B7C7D7F8082848587898B8D8F929496999B9EA0A3A6A9ABAEB2B4B7BABDC0C3C6C9CBCED1D4D6D9DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F2F1F0EEECEBE9E7E5E4E1DF73000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F6F6F6F6F7F6F6F6F6F5F5F5E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3926567686A6D6E6F7272757577787B7D7E818285898A8D8E909296999B9EA2A4A5A7ABACB2B5B8BBBFC1C5C5C9CACBD0D3D5D5D7DADADBDBDEDFE1E1E1E1E2E1E1E1E1E1E1E1E1E1DFDCDCDCDADAD9D9D7D6D5D5D0CFCBC9BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0ACACACACACACAEACAEB0B1B1B2B2B5B8B8BBBBBCBFC0C1C1C5C5C8CACBCECECFD1D0D3D1D1D3D3D3D3D5D5D5D5D6D6D7D6D7D7D9D9D9D7DAD9D7D7D9D9DAD9D9D9D9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E69C0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED07000000000000000000000000000000000000000000000000000035797A7B7C7D7F8081838586888A8C8E919395989A9D9FA2A5A8AAAEB0B3B6B9BCBFC2C5C7CACDD0D3D6D8DADDDFE1E4E5E7E9EBECEEF0F1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE9E7E5E2E1D511000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F1F3F5F5F5F6F6F6F7F7F7F6F6F6F5F5F5E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3756767696A6C6E6F71727677797C7E818186888A8D8E8F929497999C9E9FA2A5A7A8ABAEB1B3B6B9BBBDBFBFC1C3C5C6C6C9C9CACACECFD0D1D3D3D3D1D3D3D3D5D6D5D5D5D5D5D5D3D0D1D1D1D0CFCFCBC8C6C5C3BFB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBBBBBBBBCBCBBBBBDBCBCBDBFBFBFC0C1C1C1C1C3C5C5C8C9C9CBCECBCFD0D0D3D1D3D3D5D6D6D7D9D7D7D9DADADADBDADBDCDCDCDCDBDCDCDBDEDCDCDCDEDEDEDEDEDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D78E0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000000005737A7B7C7D7E7F8183848688898B8E90929497999C9FA1A4A6A9ADAFB2B5B8BBBEC1C4C7CACDCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2E08D000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5E6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A76A6A6B6D6E6E6F72757677797C7E81818689898C8F9094979B9C9FA1A4A5A7AAACB0B2B5B9BCBFC0C3C5C6CACED0D1D3D3D6D7D9DADADAD9DADBDFDEDEDEDEDEDFE1E1E1DFDFDCDEDEDCDBDBDAD9D6D3D3D0CECAC9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0AEB0B1B1B1B2B2B3B5B5B8B6B8B9BBBDBCBDBFBFC1C1C4C4C5C5C8C9C9CACACBCFD0CFD0CFD1D3D3D5D6D6D7D9DAD9DBDBDCDBDBDCDBDADCDADCDEDCDCDBDBDBDEDCDBDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDA695E60605F5F5F5F5F5F5F5F5F5E5E5E5F5F5F5F5F5E5E5E5F5F5F5E5E5E5E60605F5F6060605F5F5F5F605F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5E5E5E5E5E5E5E5E5D5D5E5E5E5E5E5E5C5E5E5E5E5E5E606060606160616161606161606160606060606060605E606060605F605F5F5F5F5F5F5F60605F5F5F5F5E5F5F5E5F5F5F5E5E5E5E5E5E5E5F5F5F5F5E5E5E5F5F5F5E60606060605F5F5E5E5E5E5E6060606060606060606060606060606060606060606060606060606161616161616161616161606060606060606060606060616160605E5F5E5E5E5E5E5F5E5E5E5E5E5E5E5C5C5C5C5C2F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD900000000000000000000000000000000000000000000000000000043797A7B7C7D7F8082838587898B8D8F919396989B9DA0A3A6A9ABAEB1B4B7BABDC0C3C6C9CBCED1D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F2F1F0EEECEBE9E7E5E4E1DF2C000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F6F5F5E6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3826768696C6C6D6F6F72747575777A7D7F8185868A8A8E9094979B9EA2A5A8ABB0B1B5B9BCBFC1C4C5C9CACBCFD3D3D6D6D7DADADADBDCDEDEDEDFE1DFDFDFE1DFDFDEDFDFDFDEDEDBDADAD7D7D5D1D3D1CFCBCBBDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B1B1B2B1B3B5B5B6B6B8B9B9BBBCBFBFC0C3C4C4C5C6C6C6C9C9C8CACAC9CACBCBCBCECFCFCFD0D0D1D3D5D5D5D7D6D5D6D7D7D7D7D7D7D7D6D7D9DADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D672151514141414141414141414141414141414141414141414141414141414141414141515151515151515151414141414141414141414141414141414141414131313131313131313131313131313131313131313131112121212121212121212121111111111111111111111111111111111111111101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000000013787A7B7C7D7E8081838486888A8C8E919395979A9C9FA2A5A8AAADB0B3B6B9BCBFC2C5C7CACDD0D3D5D8DADDDFE1E3E5E7E9EBECEEF0F1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE9E7E5E2E0A9000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F7F6F6F5F5E6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE6969696C6E6F7072737778797C7E7F818386898C8F9296979B9C9C9FA2A4A5A7ACB0B3B6B8B9BCBFC1C4C5C8C8C9CACECED0D0D0D1D1D3D3D5D5D5D5D3D5D5D5D3D3D1D1D3D5D5D5D5D3D0CFCFCBCBC9C8C6C1B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B1B2B2B2B2B3B1B2B2B2B1B2B3B3B6B8B9B9B9BBBCBDBFBFBFC0C3C3C3C3C6C5C6C6C9C9CACACBCBCECED0D1D1D3D6D7D9DADADBDCDBDBDBDADADADBDBDBDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6D91C1414141414141414141414141414141414141414141414141414141414141414141414141414151515151515151514141414141414141414141414141414141414141313131313131313131313131313131313131313131112121212121212121212121111111111111111111111111111111111111111101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD900000000000000000000000000000000000000000000000000000051797A7B7C7E7F8082848588898B8D8F929497999C9EA1A4A6A9ACAFB2B5B8BBBEC1C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2E047000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F8F7F7F6F6F6F5E6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3916A6A6D6F6F72737677787A7D7E818283868A8C8E909396999B9EA1A4A5A7ABACB0B1B5B6B9BCBDC1C1C4C5C8C9CBCECFD0D1D3D5D7D9D9D9DADADADADCDCDCDCDBDBDCDBDBDBDADADADAD9D6D3D1D0CBCAB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCBCBCBCBCBDBFBFC1BFC0C3C4C4C5C8C9C9CACACBCBCBCBCECECED0D1D5D5D3D3D5D7D7D7D9D9D7D7D7D9DADBDADADADADBDADBDBDBDCDBDBDBDBDBDBDBDADBDBDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D65A14141414141414141616161616161616161616161616141414141414141414141414141414141414141414151515151515151514141414141414141414141414141414141413131313131313131313131313131313131313131311121212121212121212121211111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5500000000000000000000000000000000000000000000000000001D797A7B7C7D7F8081838586898A8D8F919396989B9DA0A2A5A8ABAEB1B4B7BABDC0C2C5C9CBCED1D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F6F5F4F2F1F0EEECEBE9E7E5E4E1C4000000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F8F8F8F7F7F6F6F5E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1666161646465676A6B6C6D70727576787B8080818689898D8F9093969B9B9FA2A4A7ABAEB1B3B6B9BCBDBDC3C1C4C6C6C8C9C9CACBCED0D1D3D5D5D5D5D5D7D6D5D7D6D5D3D1D1D3D0CFCFCFCECBCBC9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9B9B9B9B9B9BBBBB9BBBCBFBFBFBFC0C1C1C0C3C4C4C5C5C9C8C8C9CACECFCFCECECFD0D1D5D5D5D5D5D5D6D7D9D9DADADADADADADADBDBDCDEDEDCDBDEDEDEDFDEDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1C214141414161615151515151515151515151515151515151515151516161616141414141414141414141414141414141415151515151515141414141414141414141414141414141414131313131313131313131313131313131313131311111212121212121212121211111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE000000000000000000000000000000000000000000000000000000657A7B7C7D7E8081838486888A8C8E90929597999C9FA2A4A7AAADB0B3B6B9BCBFC1C5C7CACDD0D3D5D8DADDDFE1E3E5E7E9EBECEEF0F1F2F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE9E7E5E2E06200000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F8F8F8F8F8F7F6F6F5E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38F676767696A6C6D6E717376787B7D7F818588888C8E9093979B9C9FA5A5A8ACACAEB2B6B9B9BDC0C3C5C6C9CACACBCED0D1D3D3D6D7D7D9D9DADBDEDEDCDCDBDADAD9D7D9D7D7D6D7D6D3D3D1D0CECAB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7CAC9CACACAC9C9CBCBCACBD0D0D0D0D0D1D3D5D6D5D7D9D9D9DBDADBDCDEDEDEDEE1E1E1E2E3E3E2E3E3E4E4E6E6E7E9EAEAEBEBEBECEBEBEAE9E9E9E9E9E9E7E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E345161615151515151515151515151515151515151515151515151515151515151515161614141414141414141414141414141414151515151515151414141414141414141414141414141414131313131313131313131313131313131313131313111212121212121212121211111111111111111111111111111111111111101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35000000000000000000000000000000000000000000000000000030797A7B7C7D7F8082848587898B8D8F929496999B9EA1A4A6A9ACAFB2B5B8BBBDC1C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2D7110000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F6F6F7F7F8F8F8F8F8F7F7F6F6E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B16864656767696A6C6F6F717577787C7D808286888A8E9096979B9EA2A4A7A8ABACB1B2B5B6B9B9BBBFC0C1C3C4C6C8C9CACACBCBCBCECECFD0D0D0D1D1D3D3D3D1D1D1D3D3D0D1D1D3D0D0CECECAC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C1C1C1C3C3C3C3C3C3C3C4C4C4C4C5C5C8C8C9C9C8C9C9C6C6C8CACED0D0D0D0D0D3D3D6D7D7D6D6D7D7D7D9DAD9D9D9D9D9D9D9D9DAD9D9DADAD7D7D7D9DADBDCDCDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBAE151515151515151515151515151515151515151515151515151515151515151515151515151516161614141414141414141414141414141515151515151514141414141414141414141414141414141313131313131313131313131313131313131313111212121212121212121211111111111111111111111111111111111111101010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4000000000000000000000000000000000000000000000000000005747A7B7C7D7F8081838586898A8D8E919396989B9DA0A2A5A8ABAEB1B4B7B9BDC0C2C5C9CBCED1D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F6F5F4F3F1F0EEECEBE9E7E5E4E18F000000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F7F6F6E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38567686A6A6D6F7172767777797C7F8184898C8E909497999CA1A4A5AAACAEB1B2B3B6BBBDC0C1C4C5C8CACED0D1D3D6D7D9DADADBDCDCDCDEDEDFDFDFDFDFDFDFDFDFE1E1E1E1E1DFDFDEDFDEDCBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C6C5C5C5C6C8C9CACBCBCBCBCBCBCBCECFD0CFCFD0D1D1D3D5D5D6D7D9D9DBDCDCDEDFDFDFE1E1E1E1E1E3E3E4E4E4E7E6E6E6E4E6E6E7E7E9E9E9E9E9E9EAEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F24115151515151616161616161616161616161616161616161616161515151515151515151515151515151516161414141414141414141414141414151515151515141414141414141414141414141414141413131313131313131313131313131313131313131112121212121212121212111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF230000000000000000000000000000000000000000000000000000487A7B7C7D7E7F81838486888A8B8E90929497999C9FA1A4A7AAADB0B3B6B9BCBFC1C5C7CACDD0D3D5D8DADDDFE1E3E5E7E9EBECEEF0F1F2F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F1EFEEECEAE9E7E5E2E13500000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F8F7F6E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA6567696A6C6C6F72757577797B7C7F8285868A8C9093979B9C9FA1A4A5A8ABAEB1B1B5B6B9BBBBBFC3C3C4C5C8C9CACECFD0D1D3D1D1D3D3D5D5D5D6D6D5D5D1D3D3D3D3D3D0CFCFCECAC9C9C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7CBCBCBCBCBCECECECECECBCBCECFD0D0D0D1D5D5D5D5D7D7D7D7DADADBDADADADBDCDEDCDEDEDFDFE1DFE1DFDEDFE1DEDEDEDFDEDEDEDCDEDEDEDCDBDEDBDADBDBDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDF9A15151616161616161616161616161616161616161616161616161616161616161615151515151515151515151515151616141414141414141414141414141515151515151414141414141414141414141414141413131313131313131313131313131313131313131112121212121212121212111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000000013797A7B7C7D7F8082848587898B8D8F929496989B9EA1A4A6A9ACAFB2B5B8BBBDC1C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E2BC00000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F8F7F7E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3816E717272767677797A7D7F808186898A8E8F9294979B9CA1A2A4A5A7ABB0B1B3B5B6B9BCBDC0C1C4C5C6C9C9CACBCECFCED0D1D1D5D5D3D3D1D1D3D1D1D3D1D0CFCFCECECAC8C6C5C4C3C4B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C1BFC0BFBFBFC1C0C1C1C1C3C1C4C4C5C5C6C5C5C6C6C9C9CACBCBCECECECECFD0D1D3D1D3D3D5D5D5D5D5D7D7D6D6D5D5D5D3D5D5D5D5D6D5D5D3D3D1D1D0D0D0D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D733161616161616161616161616161616161616161616161616161616161616161616161616161515151515151515151515151516161414141414141414141414141415151515151514141414141414141414141414141414131313131313131313131313131313131313131112121212121212121212111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F00000000000000000000000000000000000000000000000000005B7A7B7C7D7F8081838586888A8C8E919396989B9DA0A2A5A8ABAEB1B4B7B9BDC0C2C6C9CBCED1D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEEDEBE9E7E6E4E15900000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F8F8F7E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7BDBDC3C7C7C7C6C6C3BDBDBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39F6567686A6D6D6F727375787B7D81818689898D909294979B9CA1A2A5A7ABACB0B2B5B6B9BBBFC1C3C4C6C8C9CBCED0D0D3D3D3D5D5D6D6D7D6D6D6D7D7D7D9D7D7D7D6D6D5D0D0CECECEC6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C3C3C1C3C5C5C6C6C6C6C5C8C9C9C9C9CACACBCFD0D1D3D3D3D1D1D5D3D3D3D5D5D6D7D7D7D7D6D6D7D7D9D9DADBDADADADADADCDEDEDEE1E1E2E1E2E2E3E4E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E39C161616161617171717171717171717171717171717171717171717161616161616161616161616161616151515151515151515151515161614141414141414141414141415151515151514141414141414141414141414141414131313131313131313131313131313131313131112121212121212121212111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000002B7A7A7B7D7E7F81828486888A8B8E90929497999C9FA1A4A7AAADB0B3B6B9BCBFC2C5C7CACDD0D3D5D8DADDDFE1E4E6E7E9EBECEEF0F1F3F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F5F4F3F2F1EFEEECEBE9E7E5E3D8090000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F9F9F9F8F8F8F8E8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBC1C5CFD3DAE1E7E7E7E8E8E8E9E9E9E9E9EBEBEBEBE5DDD4C9C3B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B36E67686A6D6D6E71727577797B7D8183868A8C8F9293979B9EA2A5A7AAACB0B2B6B9BDBFC3C5C6C9CBCED0D1D3D3D6D6D7D7D9DADADAD7D9D9D9DADADADBDADADBDADADADAD9D7D5D3D3BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7CBCBCECECECBCBCECFCECECECED0D0CED0D1D5D5D3D3D3D3D3D5D6D9DADBDBDBDCDEDCDFDEDEDEDEDEDEDEDEE1E1E1DFDFDFDFE1E1E1E1DFDEDEDEDEDBDBDBDCDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDED62416171717171717171717171717171717171717171717171717171717171717171616161616161616161616161616151515151515151515151516161414141414141414141414141515151515151414141414141414141414141414141313131313131313131313131313131313131311121212121212121212111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED070000000000000000000000000000000000000000000000000005707A7B7C7D7F8081838587898B8D8F929496989B9EA1A4A6A9ACAFB2B5B8BBBEC1C4C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE8E6E4E286000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F8F9F9F9F9F9F8F8F8E8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BEC6CCD8E5E5E7E7E7E7E8E8E8E9E9E9E9EBEBECECECECECECECECECECECECECECDECDC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B386636565686A6C6D6E707375777B7E80838586898E8F9294979B9E9EA2A5A7AAAEB0B2B5B8B9BFBFC3C3C4C5C8C8C9CBCECFD0D0D0D0D0D3D3D5D5D3D3D1D1D0D0D0CFD0D0CFCFCECEC8B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C4C5C5C5C6C6C6C8C6C8C6C5C6C9C8C9C9C9CBCECFCECED0D0D0D0D3D3D6D6D7D9D7DADADCDEDEE1E1E2E3E3E4E4E4E6E4E4E6E4E4E6E9EAE9E9E7E7E7E7E9E9E9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEA9117171717171717171717171717171717171717171717171717171717171717171717171717171616161616161616161616161515151515151515151515161614141414141414141414141515151515151414141414141414141414141414141313131313131313131313131313131313131311121212121212121212111111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000000000437A7B7C7D7F8081838486888A8C8E919396989B9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CBCED1D4D6D9DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE7E6E4E1350000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F8F9F9F9F9F9F9F8F8E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAC4D0D9E5E5E5E7E7E7E7E7E8E8E9E9E9EBEBECECECECECECECECECECECECECECECECECECECECECECE5D0BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD727675787B7C7E81838689898D909296979B9EA1A4A5A8ACAEB1B3B6BBBDC1C5C6C9CACACECED0D1D3D6D9D9DADCDEDEDFE1DFE1E1E1E1E2E2E3E3E3E1E1E1E1E1DFDFDEDBDAD9D7C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C3C3C3C3C3C3C3C3C4C4C3C3C4C4C4C5C6C6C6C6C5C6C6C6C9C9CBCBCECECFD0D3D3D3D3D3D3D5D5D5D5D7D9D9D9D7D7D7D6D5D5D5D5D5D6D7D7D9DADAD9D7D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDE361717171717171717171717171717171717171717171717171717171717171717171717171717171717171616161616161616161616151515151515151515151516141414141414141414141414151515151514141414141414141414141414141413131313131313131313131313131313131313111212121212121212121111111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD90000000000000000000000000000000000000000000000000000137A7A7B7C7E7F81828486888A8B8E90929497999C9FA1A4A8AAADB0B3B6B9BCBFC2C5C7CACDD0D3D6D8DBDDDFE1E4E6E7EAEBEDEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F6F5F4F2F1F0EEECEBE9E7E5E3BD00000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F8E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAC6D1E0E4E5E5E5E7E7E7E7E8E8E8E9E9EBEBECECECECECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECECEBDAC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3746A6A6D6E6F71737577787B7D8182868A8D90909496999B9EA2A2A7A7ABACAEB2B6B6B9BCBDC0C1C4C6C9C9CBCBCECECED1D0D3D3D5D5D3D1D3D3D3D5D5D3D3D3D1D0CECECECBCAB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9D7D7D7D7D7D7D5D5D7D7D7D7D7D9D9DADADBDBDADBDCDCDEDCDBDBDCDEDEDEDEDEDFDFE1DFE1DEDEDEDFDEDEDEDFDEDEDEDCDEDCDCDCDBDEDBDADBDBDBDBDBDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDF9A1717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171716161616161616161616161515151515151515151516161414141414141414141414151515151514141414141414141414141414141413131313131313131313131313131313131313111212121212121212121111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000617A7B7C7D7F8082838587898B8D8F929496999B9EA1A4A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D4D7DADCDEE1E3E5E7E9EBECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE9E6E5E26B000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9C2D1DEE4E4E5E5E5E7E7E7E7E8E8E9E9EBEBECECECECECECEDEDEDEDEDEDEFEFEFEFEFEFEFEFEFEFEFEDEDEDEDECECECECECEBE9E9DEC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B390727172747677777B7C7F818385888C8E90929496999B9EA2A5A7A8ABACB1B2B5B9B9BDBFC0C1C4C5C6C8C9CACBCECFCFD0D0D0D0D3D0D1D3D1D1D0D1CFCFCBCACAC8C6C6C8C5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B3B3B4B5B6B6B6B8B6B8B8B7B7B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C8C9CAC9C9C9C9C9C9CACBCBCBCBCBCACBCECECECFCFD0CFD0CFD0D1D1D3D3D3D3D3D5D5D5D5D6D7D7D6D6D5D5D5D3D5D5D5D5D5D5D5D3D3D1D1D0D0D0D1D1D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D63517171717171717171717171717191919171717171717171717171717171717171717171717171717171717171717171717161616161616161616161615151515151515151515161414141414141414141414151515151515141414141414141414141414141413131313131313131313131313131313131311111212121212121212121111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0000000000000000000000000000000000000000000000000000307A7B7C7D7F8081838486888A8C8E919396989B9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CBCED1D4D7D9DCDEE0E2E5E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE8E6E4E212000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C1C9D9E4E4E5E5E5E7E7E7E7E8E8E8E9E9EBECECECECECECEDEDEDEDEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEDEDEDECECECECECEBE9E8E8D7BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB6B6B6D6F7172757778797D7E8184898C8C9094979B9CA1A2A7ABAEB0B2B6B8B9BDBDBFC0C3C3C5C6C8C9C9CBCBCECECED0D1D3D3D3D5D3D1D1D1D1D3D1D1D0D0CECECECECECABAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B2B2B4B7BEC0C1C3C4C6C6C8CACBCBCBCED0D0D1D3D5CDCFC4BFBCB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9D9DADADADADAD9DADADBDBDBDCDEDEDEDEE1E1E1E1E1E1E2E3E3E1E1E2E2E1E1E2E3E1E2E2E3E1E1E1E2E2E2E3E3E3E3E2E3E3E3E3E2E2E1E2E2E1E1E1DFE1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E49F171717171919191919191919191919191919191919191919191919171717171717171717171717171717171717171717171717171717161616161616161616161515151515151515151616141414141414141414141515151515151414141414141414141414141414131313131313131313131313131313131313111212121212121212121211111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0000000000000000000000000000000000000000000000000005757A7B7C7E7F81828486888A8B8E90929497999C9FA2A5A8AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEBE9E7E5E49900000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F9F9E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5C1D1E0E4E5E5E5E7E7E7E7E7E8E8E9E9E9EBECECECECECEDEDEDEDEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0EFEFEFEFEFEFEFEFEDEDEDECECECECEBE9E8E7E7E3C7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B36D68686A6D6E727575787B7E818285888A8E929497999CA1A2A4A5A7ACAEB2B3B5B9BDBFC1C3C4C5C6C9C9CACBCECFD0D3D5D7D7D7D5D6D5D5D5D5D5D3D5D1D3D0CECECFCBCAB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0ABA8A8AEB2B2B3B6B6B9BCBDBFC0C1C1C3C3C5C5C6C6C9C9CACECBCECFD0D0CFD0D1C7C0BBB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCDADADADBDBDADCDCDBDCDEDCDCDEDEDEDEDEDCDEDBDEDEE1DFE1E1E1E3E3E3E4E4E3E6E6E6E6E6E6E6E3E4E6E6E6E6E7E9E7E9E9EAEAE9E9EAE9E9E7E6E6E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DF361719191919191919191919191919191919191919191919191919191919191919171717171717171717171717171717171717171717171717171616161616161616161515151515151515151516141414141414141414141415151515151414141414141414141414141414131313131313131313131313131313131313111212121212121212121111111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7500000000000000000000000000000000000000000000000000004D7A7B7C7D7F8082838587898B8D8F929496999C9EA1A4A6A9ADAFB2B5B8BBBEC1C4C7CACDCFD2D5D7DADCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F5F4F3F2F1EFEEECEAE9E7E5E3480000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F9F9F9F9F9F9F9F9F9F9E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C5D4E5E5E5E5E7E7E7E7E7E8E8E8E9E9EBECECECECECECEDEDEDEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEFEDEDEDECECECECE9E9E8E7E7E7E5D2B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38A707273757577797C7E818285898C8F909397999B9EA1A5A7AAACB0B1B3B5B6B8BBBFC0C3C5C9CACBCED0D1D5D7D9DADADADBDCDEDEDCDBDADBDCDEDBDBDADADADADADAD9D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ADA8ACB1B3B5B8BBBDC0C1C4C5C6C8C9CACACBCBCFD1D0D3D3D5D7D6D9D9DADADBDBDBDBDCDCDCDADCDCD5C7BCB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAD3D3D5D5D3D3D1D0D0D0D0D0D3D5D5D3D5D5D7D6D6D7D7D9D7D7D9D9DAD9DADADBDADBDCDBDBDBDEDEDEDBDADADBDCDBDCDCDCDEDEDEDEDFDFDFDEDEDEDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E39E19191919191919191919191919191919191919191919191919191919191919191919191919191717171717171717171717171717171717171717171716161616161616161616151515151515151515161614141414141414141414151515151514141414141414141414141414141313131313131313131313131313131313131112121212121212121211111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0000000000000000000000000000000000000000000000000000217A7B7C7D7F8081838586888A8C8E919396989B9DA0A2A6A9ABAEB2B4B7BABDC0C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE8E6E4D0000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F8F8F9F9F9F9F9F9F9F9F9F9E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C5D4E5E5E7E7E7E7E7E7E8E8E8E9E9E9EBECECECECECEDEDEDEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEFEDEDECECECECEBE9E8E8E7E7E5E5E4DCB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E6E6F7173737677797C7F8183888A8D8F9396999B9EA2A5A7AAACAEB2B6B6BBBDBFC3C5C6C9CBCED0D1D5D6D9DADCDCDEDEDCDEDEDFDEDFE1DFE1DFDFE1DEDFDEDEDEDEDBC5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1A7A0A2A5A7A8AAACACB1B2B3B5B9B9BBBDBFC1C4C4C4C5C8C9CACBCFCFD0D0D1D3D3D3D6D7D6D9DAD7D9D7D7D7D6D5D5D2C6BBB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAD5D3D3D3D5D5D5D5D5D3D3D3D5D5D6D5D5D5D6D7D7D7D9DADADBDADCDCDCDEDEDEDEDFDFE1E1E1E1E1E1E1E1E1E2E2E1E1E1E3E3E3E3E3E3E3E3E2E2E3E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEE3A191919191919191919191919191919191919191919191919191919191919191919191919191919191919171717171717171717171717171717171717171717161616161616161616151515151515151515161614141414141414141414151515151514141414141414141414141414141313131313131313131313131313131313131112121212121212121211111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C00000000000000000000000000000000000000000000000000006B7A7B7D7E7F81838486888A8B8E909295979A9C9FA2A5A8ABAEB0B3B7B9BCC0C2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBEAE7E6E4870000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F8F8F9F9F9F9F9F9F9F9F9F9EAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5C3D5E7E7E7E7E7E7E8E8E8E8E9E9E9EBECECECECECECEDEDEDEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEDEDEDECECECEBE9E9E8E7E7E5E5E4E3E1D9B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B168696A6D6D7171757678787C7F818486888C8E9094969B9EA1A4A5A8AAACB0B3B8BBBDBFC1C4C5C6C8C9C9CACECECECECED0D0D0D1D0D1D1D1D1D0D0CECECBCBCACBCAC9B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA9EA0A1A4A5A7AAABAEB1B3B5B5B6B9B9BDBFC0C3C3C4C4C5C6C9CACBCFD0D1D3D3D5D5D7D9DADADADADBDBDBDBDEDEDEDEDEDCDEDCDACDBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBDADADAD9DAD9D7D9D9D9D7D9DADADADADADADBDADADADADADADADADADCDCDEDCDEDEDBDBDADAD9D9DADBDEDCDCDCDCDEDEDEDFDFDEDEDEDEDEDEDEDBDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADAAE191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191717171717171717171717171717171717171717171616161616161616161515151515151515161614141414141414141414151515151514141414141414141414141414141313131313131313131313131313131313131212121212121212121211111111111111111111111111111111111010101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB900000000000000000000000000000000000000000000000000003F7A7B7C7D7F8082848587898B8D8F929497999C9FA1A4A7AAADB0B3B6B8BCBFC2C5C7CACDD0D3D5D8DBDDDFE1E4E6E7E9EBEDEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F6F5F4F3F1F0EEECEBE9E7E5E32D000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9EAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5C3D3E6E8E8E8E8E8E8E9E9E9E9EBEBECECECECECECEDEDEDEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEDEDEDECECECEBE9E9E8E7E7E7E5E4E3E1E0E0D7BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B382767879797C7E818388898A8E909396979B9C9FA2A5A8ABAEB1B5B6B9BCBFC3C4C8C9CACACED0D1D5D7D9DADBDBDBDBDCDADBDCDBDEDCDCDCDBDBDBDADAD9D7D6D5D3D3B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B29F94909294999B9C9EA1A2A5A7A8AAABAEB0B1B2B5B6B6B9BBBCBDC0C1C1C3C5C5C5C8C8C9C9CACBCBCBCECFCECECBCECECECFCECECFCFCECECECBC7BBB5B3B3B3B3B3B3B3B3B3B3B3B3B3B9D0D1D1D1D1D0D0D0D0D0D0D0D1D1D3D1D0D0CFCFCECECECFD0D0D1D3D5D5D5D3D5D6D5D6D6D5D6D7D7D9D9D7D9D9D9DADADADADBDADADBDCDCDCDEDEDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDF4719191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919171717171717171717171717171717171717171716161616161616161615151515151515151516141414141414141414141515151515141414141414141414141414141413131313131313131313131313131313131112121212121212121211111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1900000000000000000000000000000000000000000000000000137A7B7C7D7F8081838586888A8D8F919396989B9DA0A3A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D4D7DADCDEE1E3E5E7E9EBECEEEFF1F2F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F5F4F3F2F1EFEEECEAE9E7E5C700000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9EAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C1D0E6E9E9E9E9E9E9EBEBEBECECECECECECECECEDEDEDEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0EFEFEFEFEDEDEDECECECEBE9E9E8E7E7E7E5E4E3E1E0E0DEDDD4B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3886E70727477787B7D80818386898C8D8F9296999CA1A2A5A8ABACB0B1B3B8B9BDBFC0C4C5C5C8CACACECED0D0D1D3D5D7D6D6D7D7D7D6D7D7D9D7D6D6D6D6D5D5D1D1C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1A1989B9C9FA2A5A7ABACB1B3B6BBBDC0C3C5C8CBD0D0D3D3D5D9DADBDCDEDEDEDFDEDFE1E1E1E1E3E3E2E4E6E6E6E6E6E6E9E9E9E7E9E9E7E7E9E6E6E6E6E6E2CCBCB3B3B3B3B3B3B3B3B3B3B3BCE3E4E4E4E6E4E4E6E4E3E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E2E1E1E1E1DFDFE1E1E1E1E1E1E1E1E1DFDFDFDFDFDEDEDFDFDFDFDFE1E1DFE1E1DFE2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2B619191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191717171717171717171717171717171717171717161616161616161615151515151515151516141414141414141414141515151515141414141414141414141414141413131313131313131313131313131313131112121212121212121211111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000000000627B7C7D7E8081838486888A8C8E909395989A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CBCED1D4D7D9DCDEE0E2E5E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F7F5F4F3F2F0EFEDEBEAE8E6E4760000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9FAFAFAFAFAEBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9CDE3ECECECECECECECECECECECECECECECEDEDEDEDEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0EFEFEFEFEDEDECECECECEBE9E8E8E7E7E7E5E4E3E1E0E0DEDDDCDACFB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39867686A6D6E6F717275777B7C7F8184898A8C8F9296979B9EA1A5A7AAACB0B1B2B3B3B6B9BDBDBDC0C1C1C4C5C5C5C8C8C8C9C9C9C9CACACACACBCBCACACBCACAC9C9BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B29D8F8F9297999B9C9FA2A4A7A7ABACB0B2B3B8B9B9BCBDBFC0C3C4C5C6C8C9CACACECFD0D0D1D3D3D3D3D5D5D6D3D3D5D6D6D6D7D7D7D7D7D7D9D7D7D6D7D9D7D9D9D9D9C9B9B3B3B3B3B3B3B3B3B3BAD5D5D5D5D3D3D3D1D0D0D1D1D1D1D0D1D1D1D1D1D1D1D1D1D1D1D1D3D3D1D1D5D3D5D7D6D6D7D7D6D6D7D7DADADADADADBDBDBDBDADADADAD9D9D7D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1621919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919171717171717171717171717171717171717171616161616161616161515151515151515161414141414141414141415151515151414141414141414141414141414131313131313131313131313131313131311121212121212121212111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE300000000000000000000000000000000000000000000000000003A7A7B7C7D7F8082848587898B8D8F929497999C9FA1A4A8AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EEEDEBE9E7E6E41B000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9FAFAFAFAFAFAEBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C7DAEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0EFEFEFEFEDEDEDECECECECE9E9E8E8E7E7E5E5E4E3E1E0E0DEDDDCDAD9D8C8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB6E6F72737676787A7C7D7F8185888A8D909396999B9EA2A5A7AAACAEB0B2B3B5B8BBBFBFC3C5C6C8CACECFD1D1D3D5D5D6D7D7D7D6D9D9DADADADBDADADAD7D5D6D3BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A5908F9094979B9C9FA2A4A5A7A8AAABAEB1B5B8BBBCBDBFC1C4C5C6C9C9C9C9CBCBCECFCFCFCFCFD0D1D1D1D3D1D3D3D3D1D1D1D1D5D6D7D7D7D7D5D5D6D6D6D5D5D6D5D5D5D5D5C4B5B3B3B3B3B3B3B3B8D1D1D1D1D1D1D3D5D5D3D5D5D6D5D5D3D3D1D3D3D5D5D6D6D6D7D7D9DADADADBDADCDCDCDCDCDCDEDBDCDCDCDCDCDCDEDEDEDEDCDBDBDBDBDEDEDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCC619191919191919191A1A1A1A1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191919191919191919191919191919191717171717171717171717171717171717171616161616161616161515151515151515161614141414141414141415151515151414141414141414141414141413131313131313131313131313131313131112121212121212121211111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000097A7B7C7D7F8081838586898A8D8F919496999B9EA1A4A6A9ADAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DADDDFE1E4E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F6F5F4F2F1EFEEECEBE9E7E5B6000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9F9FAFAFAFBFBFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C2D5EDEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0EFEFEFEFEDEDECECECECEBE9E8E8E7E7E7E5E5E4E3E1E0E0DEDCDCDAD9D8D6D4BDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3696565686A6C6E727477787B7D8184878A8E9093979B9C9FA2A4A5A8ABAEB0B2B6B9BDBFC3C4C6C9C9CACBCECFCFD0D0D3D3D5D5D5D5D6D7D6D5D5D3D3D3D1D3D1D0B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B090888A8E90939497999C9FA1A2A5A7AAACB0B2B5B9BBBDBFBFBFC1C4C4C5C8C8C9C8C9C9CBCECECFD0D0D1D3D5D5D5D5D5D6D7D7DAD9DADADADADADCDEDEDEDEDEDEDEDFDFDFE1DFDEE1DDC4B5B3B3B3B3B3BCD9D9DADADADBDBDBDEDCDCDEDFDFDFDEDEDEDEDEDEDFE1DFE1E1E2E1E1E1E1E1E1E1E1E1DFDEDEDEDEDFE1E2E2E3E2E3E3E4E6E6E6E4E6E4E4E4E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1721919191A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191919191919191919191919171717171717171717171717171717171716161616161616161615151515151515151616141414141414141414151515151514141414141414141414141414131313131313131313131313131313131311121212121212121212111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0000000000000000000000000000000000000000000000000000587B7C7D7E8081838486888A8C8E919396989B9DA0A2A6A9ABAEB2B4B7BBBDC0C4C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEEFF1F2F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEEECEAE9E6E56C0000000000000000000000000000000000000000000000000007F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9F9FAFAFBFBFBFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9CCE6F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F1F3F3F3F3F1F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0EFEFEFEFEDEDECECECECEBE9E9E8E7E7E7E5E5E4E3E3E0E0DEDDDCDCDAD9D7D6D4D3CFB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E71727577777B7C7E818386898C8D909497999B9EA2A5A5A7AAACB1B2B6B9BBBDC0C1C3C6C9CAC9CBCFCFCFD0D0D3D5D5D5D5D5D5D7D6D5D5D5D3D5D3D1D0D1CFCEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3898C8E8F929397999C9FA4A5A7A8ACB0B2B6B8B9BCBFBFC1C4C6C9C9CBCECED0D1D3D5D6D9DADBDBDEE1DFE1E1E2E1E3E3E3E4E3E3E3E3E3E4E4E4E3E6E4E4E4E6E4E6E6E6E6E7E7E7E9E9E6E6DBBDB3B3B3B3BCE6E6E6E6E6E6E4E6E6E7E7E7E7E9E9E9E7E7E7E9E9EAEAE9E9E9E9E9EAEAEAEAEBEEEEECECECECEEEEEEEEECECEEEEEEEFEEEEEEEEEEEFEFEFF1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E2291A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191919191919191919191919171717171717171717171717171717171717161616161616161615151515151515151614141414141414141414151515151514141414141414141414141414131313131313131313131313131313131311121212121212121212111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60F00000000000000000000000000000000000000000000000000307A7B7C7E7F8182848588898B8E909295979A9C9FA2A5A8ABAEB0B3B7B9BCC0C2C6C9CBCED1D3D6D9DBDEE0E2E4E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F7F5F4F3F2F0EFEDEBEAE8E6E41B0000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFAFBFBFBFBFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C3DAF1F3F3F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F3F3F3F3F3F3F3F3F3F3F3F3F1F1F1F1F1F1F1F0F0F0F0F0F0F0EFEFEFEFEDEDECECECECEBE9E9E8E7E7E7E5E5E4E4E3E0E0E0DEDDDCDADAD9D7D6D4D3D0D0C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6F72737576787B7C80808386898C9094979B9C9EA2A4A7AAACAEB2B3B6B8BBBCBFC0C0C3C3C4C6C6C9CACBCECFD0D0D0D3D5D5D3D5D5D5D3D3D1D0CFD0CFCEC5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2917F8185888A8C90909396999B9E9FA4A5A7A8ABAEB2B3B6B9B9BBBDBFC0C4C6C5C8C9C9CBCECECECFD0D3D3D5D5D3D1D3D3D1D0D0D0D1D3D5D5D5D3D5D5D5D5D5D5D5D5D3D3D1D3D1D1D1D1D1D1D1D1D0C1B5B3B3BAD5D6D7D7D7D7D9DADAD9D9D7D7D7D7D9D9D7D7D6D6D7D7D7D9D9DAD9D9DADADADBDCDBDCDEDEDEDEDEE1E1E1E1E1E1E2E2E2E2E1E1E2E3E3E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7991A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191919191919191917171717171717171717171717171717171616161616161616151515151515151516141414141414141414141515151514141414141414141414141414141313131313131313131313131313131311121212121212121212111111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000000000000000000000000000000000000000000000000000097A7B7C7D7F8081838587898B8D8F929497999C9FA1A4A7AAADB0B3B6B9BCBFC2C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EEEDEBE9E7E6B60000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9CFE9F5F5F5F3F3F3F3F3F3F3F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F1F1F1F1F1F0F0F0F0F0F0F0EFEFEFEFEDEDECECECECEBE9E9E8E7E7E7E5E5E5E4E3E1E0E0DEDDDCDCDAD9D8D7D4D4D1D0D0CCCBB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3977677787A7C8183868A8A8D909296979B9CA2A5A5A8ABAEB0B2B3B6B9BDC0C1C5C5C8CACED0D3D5D7D7DADBDCDBDBDCDCDBDBDEDEDEDEDCDBDBDCDBDADAD7D5D3C3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE82797C7E81838689898E9094979B9B9CA1A2A5A7AAAEB1B3B5B5B9BBBDBFBFC1C3C4C4C5C6C6C9CACBCBCECECFD1D1D3D3D3D3D5D3D5D5D5D6D7D6D6D6D5D7D9D7D7D7D7D7D7D5D5D5D5D7D7D7D9D9DADADAD7D1BBB3BBDBDAD9DADADAD9D7D7D7D9DAD9D7D9DADADADADADADADAD9D9D9D9D9DADADBDCDCDCDADBDADBDBDBDAD9DBDADAD9D9DADBDADADADADADADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1361A1A1A1A1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191919191919191919191917171717171717171717171717171717171616161616161616151515151515151516141414141414141414141515151514141414141414141414141414141313131313131313131313131313131311121212121212121212111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000000000587B7C7D7F8081838586888A8D8E919396989B9DA0A3A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DADCDFE1E4E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F6F5F4F2F1EFEEECEBE9E7E56D000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4DCF3F6F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F1F1F1F1F0F0F0F0F0F0F0EFEFEFEFEDEDECECECECEBE9E9E8E7E7E7E5E5E5E4E3E1E0E0DEDDDCDCDADAD9D7D6D4D3D1D0CECCCBC9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A06E6E7273767578797B7C7F818488898D8F90929697999C9EA2A5A8AAACAEB2B5B8B8B9BCBCBFBFC3C5C6C6C6C9C9C9C9C9C9C9C9CBC9CBC9C9CBCBCECBCACAC9BDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE87868A8C8F929396999B9EA2A5A5ABACB0B3B6B9BCBDC0C1C5C6C9CACBCECED0D3D5D6D7D9DBDBDEDEE1E1DFE1E2E1E3E2E2E2E2E3E3E2E3E3E4E3E3E2E2E1E1E1E1DEDEDEDFDEDEDEDBDEDBDBDADADBDAD9DADAD9D9C1BBDADBDADADBDBDBDEDCDCDCDBDBDBDBDBDBDBDCDEDEDEDFDFDEDEDFDFDEDCDBDBDBDCDEDEDEDEDEDCDBDBDEDEDEDEDEDEDEDEDBDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEAA1A1A1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191919191919171717171717171717171717171717171716161616161616161515151515151515161414141414141414141515151515141414141414141414141414141313131313131313131313131313131313111212121212121212111111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1900000000000000000000000000000000000000000000000000317A7B7D7E8081838486888A8B8E909395989A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEEFF1F2F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEEECEAE9E6E51B0000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6D0ECF8F7F7F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEDEDECECECECEBE9E8E8E7E7E7E5E5E4E4E3E1E0E0DEDDDDDCDADAD9D7D6D4D4D1D0D0CCCCCAC9C7C5B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD747577787B7C7E818183868A8D8F93979B9B9FA2A5A8ACB1B3B5B6BCBDC0C3C3C5C5C9CBCFCFD0D1D3D5D7DADBDBDBDCDBDEDEDFDFDFDEDEDCDBDBDAD9D7D6D5BDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD81818386888C8F9093979C9EA2A4A7A8AAAEB1B3B5B9BCBDC1C3C5C9C9CBCFD0D3D5D5D7D9DADBDCDBDCDEDEDFE1DEE1E3E4E3E4E6E6E4E3E3E3E3E2E1E1DFDFDFDFDFDFDEDEDEDFDFDEDEDCDBDBDBDBDBDEDEDEDEDEDEDFD6DEDEDEDFDEDEDEDEDFDEDEDEDEDCDEDEDEDEDCDEDEDEDBDADADBDBDADBDBDBDCDEDEDCDEDEDEDCDEDEDEDBDEDBDEDEDCDCDBDBDBDEDCDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDE5A1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191919191919191919191717171717171717171717171717171716161616161616161515151515151515161414141414141414141515151515141414141414141414141414141313131313131313131313131313131311121212121212121212111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000097A7B7C7D7F8082848587898B8D8F929497999C9FA2A5A8AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDDE0E2E5E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F7F5F4F3F2F0EFEDEBEAE8E6B60000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFAFBFBFBFBFCFCEEB3B3B3B3B3B3B3B3B3B3B3B3B3BEDBF5F9F9F8F8F8F8F7F7F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F1F1F1F1F0F0F0F0F0F0EFEFEFEDEDEDECECECECEBE9E8E8E7E7E7E5E5E4E4E3E1E0E0DEDDDCDCDADAD9D8D7D6D4D3D1D0CECCCBC9C7C7C5C3BDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B36D6F727375777A7C7E818385868A8D8F929496999C9FA2A5A8ABAEAEB1B3B6B9BDBFC3C4C5C8C9CAC9CECFCECFD1D0D0D0D1D1D1D1D3D1D1D1D0D0D0D0D1CFCEBAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A47C7D7E81838489898E909497979C9FA2A4A5A8ABAEB1B3B5B8BCBDBDC0C3C4C6C6CAC9CBCECFD1D1D0D3D5D6D5D7D6D9D9D9D9DADBDBDBDBDCDEDFDFDEDFE1DFE1DFDEDCDEDCDCDEDBDAD9D9DADBDADAD9DAD9D9DADADADADADADBDBDADADADADADADADADBDBDBDBDADBDBDCDEDCDADADADCDCDEDEDFE1E1E1E1DFDFE1E1E1E3E3E2E2E1DFDFE1E1E1E1E1DFE1E2E3E4E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEE01B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191919191917171717171717171717171717171717161616161616161615151515151515151614141414141414141415151515151414141414141414141414141413131313131313131313131313131313111212121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30000000000000000000000000000000000000000000000000000587B7C7D7F8081838587898A8D8F919496999B9EA1A4A7AAADAFB2B6B8BCBFC1C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F2F0EFEDEBE9E7E66D0000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFBFBFCFCFCEEB3B3B3B3B3B3B3B3B3B3B3CCE7F9F9F9F9F9F9F9F9F8F8F8F8F7F7F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F1F1F1F1F0F0F0F0F0F0EFEFEFEDEDECECECECEBE9E9E8E8E7E7E7E5E5E4E3E3E0E0E0DEDDDCDCDADAD9D8D7D6D4D3D1D0D0CCCCCAC9C7C5C4C3C1BEB4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B377757577787C7C818386888C8E9093969B9C9FA2A5A8ACB0B2B5B6BBBDC1C4C4C5C6C8C8CACACBCBD0D0D0D3D5D5D6D7D7D7D7D9D9D9D9D9D9DADAD7D9D6D5D3BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD807D80828386898C8F909297999CA1A4A5A7ABACB0B3B9BBBDBFC3C4C5C6C9CBCED0D0D3D5D7DADCDEDCDEDFE1E1DFE1E1E3E3E3E3E3E3E2E2E1E1E1E2E3E3E3E2E2E3E4E4E6E6E6E6E6E6E6E4E3E3E3E2E1E3E3E3E3E1E1E1E2E1E1E1DFDEDEDCDEDEDEDEDCDBDBDBDADBDBDBDBDADADADADADADAD9DADADADBDAD9D9D7D9DAD7D7DAD7D7D6D7D6D6D5D3D3D1D1D3D5D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6761B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191919191919191917171717171717171717171717171717161616161616161615151515151515151614141414141414141415151515141414141414141414141414141313131313131313131313131313131313111212121212121212111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000317B7C7D7E8081838486888A8C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DADCDFE1E4E6E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEBE9E7E51C0000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFCFCFCFCEEB3B3B3B3B3B3B3B3B9D6F5FBFBFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F7F7F7F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F1F1F1F0F0F0F0F0F0EFEFEFEDEDECECECECEBE9E9E8E7E7E7E5E5E5E4E3E1E0E0E0DEDDDCDCDADAD9D8D7D6D4D3D1D0D0CCCCCBC9C7C5C5C3C1C0BEBDB4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B381797B7E818386888A8D90929497999B9EA2A4A7ABAEB1B3B8BCBDC1C3C5C5C9CBCED1D5D5D9DADBDEDFE1E1E3E4E3E3E6E4E3E3E4E3E2E2E1E1DEDEDEDCDAD7B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B17D77787D7E818387898A8E929396999CA1A4A5A8AAACB1B3B6B9BCBCBFC0C3C5C8C8CACECFD0D3D1D3D5D7D7D7D9D9D9DADADADBDBDEDEDFDFDEDFDFDEDEDFDFE1E1E1E1E1DFDFE1E1E1DEDEDCDBDBDBDCDCDCDCDCDBDBDBDBDADADADBDBDCDCDCDEDEDEDEDEE1E1E1E1E1E1E3E3E3E3E3E3E2E2E2E1E1E2E2E3E3E3E3E3E3E3E3E4E6E7E7E6E7E7E6E4E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3291B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191919171717171717171717171717171717171616161616161616151515151515151616141414141414141414151515151414141414141414141414141413131313131313131313131313131313111212121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000097A7B7C7E7F81838486888A8B8E909295979A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F1EFEEECEAE9E7B70000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFCFCFCFCEEB3B3B3B3B3B3C4E1FCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F1F1F1F0F0F0F0F0EFEFEFEDEDECECECECEBE9E8E8E7E7E7E5E5E4E4E3E1E0E0DEDEDDDCDADADAD9D7D6D4D4D3D1D0D0CCCCCBC9C7C7C5C4C1C1BEBDBBB9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38675777B7B7E818388898D8F929497999CA1A4A5A7ACB0B2B5B6B9BBBDC0C0C3C5C6C9CBCBCBCED0D1D3D3D5D6D7D7D7D9D7D9D7D7D7D7D7D6D5D5D3D3D0D0CFB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3806F7376777B7D818286888C8E909397999B9CA2A4A7AAACB0B2B6B9B9BBBDBFC1C4C5C9C9CBCED0D0D3D3D5D7D7D7D7DAD9DBDBDCDEDFDFE1E1E1E1E1E1E2E2E2E3E3E1E1E1E2E2E3E3E6E6E4E4E3E2E2E2E3E3E3E2E1E1DEDEDEDEDEDCDEDEDCDEDEDEDEDCDEDEDCDCDCDEDEDEDEDCDCDCDBDCDCDADCDCDCDCDCDADBDBDBDCDCDEDEDEDEDEDEDEDEDBDCDCDBDBDBDBDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4A71B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191919171717171717171717171717171717171616161616161616151515151515151616141414141414141415151515151414141414141414141414141413131313131313131313131313131313111212121212121212111111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0000000000000000000000000000000000000000000000000000587B7C7D7F8082848587898B8D8F929497999C9FA1A5A8AAADB0B3B6B9BCC0C2C5C8CBCED1D3D6D9DBDEE0E2E5E6E9EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEEECEAE8E677000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCEEB3B3B3B6CDEEFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F1F1F1F0F0F0F0F0EFEFEFEDEDECECECECE9E9E8E8E7E7E7E5E5E4E3E3E0E0E0DEDDDCDCDADAD9D9D7D6D4D4D3D1D0D0CCCCCBC9C7C7C5C4C3C1C0BDBDBAB9B7B5B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F72737577787B7D80818486898A8E8F9094979B9EA1A2A5A7ACAEB0B1B2B5B8B8BCBFC1C1C1C5C5C5C5C6C8C6C8C9C9CACACACBCECFCFCECFCECFCBCBCBC9B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3997C7D81838589888C8E8F93979B9CA1A2A5AAABB0B2B3B6B9BDBFC1C4C6C8C8CACED0D1D3D5D9D9DADCDEDEDEDFE1E1E3E2E2E2E3E3E4E3E3E3E4E4E4E3E3E2E1E1E1DFDFDFE1DFDEDEDCDEDCDCDBDBDCDBDADBDBDBDBDBDCDCDEDCDCDEDEDEDFDEDEDEDEDEDEDEDEDCDCDEDEDEDEE1E1DEDEE1E1DFDEDCDCDCDEDEDEDEDEDEDEDBDBDEDEDEDEDEDEDEDEDBDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDE521B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191919191717171717171717171717171717171716161616161616151515151515151516141414141414141414151515151514141414141414141414141413131313131313131313131313131313111212121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000003A7B7C7D7F8081838586898A8D8F919496999B9EA1A4A6AAADAFB3B6B9BCBFC2C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EFEDEBEAE7E62E0000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCEEB3B9D9F6FCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F3F3F3F3F3F1F1F0F0F0F0F0EFEFEFEDEDECECECEBE9E9E8E7E7E7E5E5E5E4E3E1E0E0E0DEDDDCDCDADAD9D8D7D6D4D4D3D1D0D0CCCCCBC9C7C7C5C4C3C1C0BEBDBBB9B7B7B5B3B0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38E76767A7B7D7F818386898C8E909397979B9EA1A4A7AAACB1B2B6B8B9BCBCBFC1C3C4C5C8C8C9CBCFD0D3D5D5D5D5D3D5D5D5D3D6D5D3D1D1D1D1D1D0D0CFCEB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD7676797B7E818386888D909093979B9C9FA2A5A8ABACB1B2B5B8BCBDC0C1C4C5C6C9CBCBCFCED0D3D3D1D3D5D5D5D6D6D7D7D7DADBDCDCDCDBDEDEDEDEE1E1E1E1DEDEDEDEE1E1E1E1E1DFDFDFDFDFE1DFDEDEDEDEDEDEE1E1E1E3E2E2E2E1E1E2E2E1E2E2E2E2E2E1E1E2E2E2E2E1E2E2E3E3E4E4E3E4E6E6E6E6E4E6E6E4E4E6E4E6E4E6E6E6E6E7E6E7E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2CC1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191917171717171717171717171717171717161616161616161515151515151515161414141414141414141515151514141414141414141414141414131313131313131313131313131313131112121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000F7B7C7D7E8081838486888A8C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DADDDFE1E4E6E7E9EBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEBE9E7C90000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCF3E5FCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F6F6F6F6F6F5F5F5F5F5F5F5F5F3F3F3F3F1F1F1F0F0F0F0EFEFEFEDEDECECECEBE9E9E8E7E7E7E5E5E4E4E3E1E0E0DEDDDDDCDADADAD9D7D6D6D4D3D1D0D0CECCCCCBC9C7C7C5C4C3C1C1BEBDBBBAB7B7B5B4B2B1AFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39978787D7F818387898C8F9093979B9EA1A5A7ABB0B1B5B8BBBCC0C3C4C6C9CACBCFD0D3D5D6D7DADADCDCDEDEE1E1E3E3E3E4E6E7E7E6E3E3E3E1E2E1DFDEDEB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38B7F8181828386898A8D909496999C9EA2A5A7A8ABAEB1B3B8BBBCBFC3C3C5C9CACECFD1D3D3D5D6D9D9DCDCDFDFE1DFE1E1E1DFE1E1E1E2E1E1E1E1E1E2E2E2E1E1E1E1E1E1E1E2E1DFDFDFDEDEDEE1DEDEDEDCDEDFDFDEDEDEDEDEDCDBDBDADAD9D7D7D7D6D6D7D9D9D9DADBDADADADADBDCDBDBDADADADADADADADADADADAD9D9D9D9D9D9D7D7D7D7D7D5D5D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5751B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191919191917171717171717171717171717171717161616161616161515151515151515161414141414141414141515151514141414141414141414141414131313131313131313131313131313131212121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0000000000000000000000000000000000000000000000000000627B7C7E7F81838486888A8B8E909295979A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEEECEAE9E780000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F7F7F7F6F6F6F6F5F5F5F5F5F5F5F3F3F3F3F1F1F0F0F0F0EFEFEFEDEDECECECEBE9E8E8E7E7E7E5E5E4E3E3E0E0E0DEDDDCDCDADAD9D8D7D6D4D4D3D1D0D0CCCCCBCAC9C7C7C5C4C3C1C1BEBDBDBAB9B7B5B4B3B1B1ADAEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B397757778797B7E8186898C8E909292979B9B9EA2A4A5A7A8ACB0B2B5B8B9BBBFC1C3C4C6C8CACACFD0D3D3D5D5D6D7D7DADBDCDCDCDCDEDCDCDCDBDCDADADAD7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3747577797C7D7F818386898A8D8F9294979B9C9FA4A7A8ABACB1B5B8BBBDC0C1C5C5C6C8CACED0D0D1D3D3D5D6D7D7D9D9DADADBDBDCDEDFE1E1E2E1E2E2E1E1E2E3E2E3E3E3E3E3E2E2E3E3E3E3E2E3E3E4E4E6E6E4E6E6E6E6E6E4E6E6E4E4E6E4E6E4E6E6E6E6E6E6E6E6E6E7E7E6E6E6E6E4E4E4E6E6E4E3E3E4E4E3E3E2E3E4E3E2E3E3E4E6E4E3E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDE321B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191919171717171717171717171717171717171616161616161615151515151515161614141414141414141515151515141414141414141414141414131313131313131313131313131313131112121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000407B7C7D7F8082848587898B8D8F929497999C9FA1A5A8AAADB0B3B7B9BDC0C2C5C9CBCED1D4D7D9DCDEE0E2E5E7E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEEECEAE8E63F0000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F7F7F6F6F6F5F5F5F5F5F5F3F3F3F3F1F1F1F0F0F0EFEFEFEDEDECECECEBE9E8E8E7E7E7E5E5E4E3E1E0E0DEDEDDDCDADADAD9D7D7D6D4D3D1D0D0CECCCCCBC9C7C7C5C5C4C3C1C0BEBDBBBAB9B7B6B4B3B1B1AFACAAAEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D767B7D81838688898D8F9294979B9C9FA4A5A7ABAEB1B3B6B8BBBDC3C4C6C9C9CECFD1D3D5D5D7D9D9DADBDBDEDCDFDFE1E1E2E1E2E1DFDFDFDEDEDCDBDAD9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37B6F73757677787B7C80818589898C9092969B9C9FA4A4A7AAACB1B3B5B9B9BCBFBFC1C4C5C9C9C9CBCBCECECECECECFD0D0D0D0D0D0D1D3D5D6D7D7D7D7D7D6D7D9DADAD9D7D7D9D7D7D7D7D9DADADBDBDADADADAD7D7D9DADAD9D7D7D7D6D6D5D7D7D6D7D9D9D9D9DADADAD9D9D9DAD9D7D9DADADADADAD7D7D7D7D7D7D7D6D6D7D7D7D7D9D9D9D7D7D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEAA1B1B1B1B1B1B1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191919171717171717171717171717171717161616161616161615151515151515161414141414141414141515151514141414141414141414141414131313131313131313131313131313131212121212121212121111111111111111111111111111111110101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000187B7C7D7F8081838587898A8D8F919496999B9EA1A4A6AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEDEBEAE8DD0000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9F9FBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F7F6F6F6F6F5F5F5F5F5F3F3F3F3F1F1F0F0F0F0EFEFEDEDECECECEBE9E8E8E7E7E7E5E4E4E3E1E0E0DEDDDCDCDADAD9D8D7D6D4D4D3D1D0D0CECCCCCBC9C7C7C5C4C3C1C1C0BDBDBBBAB7B7B6B4B3B2B1AFADABA9A8AFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A678787C7E808184888A8C8F929497999B9FA2A5AAACB1B1B5B8BBBFC1C3C5C5C6C9CACBCBCED0D1D3D3D3D5D7D7D7D9D9DADADBDAD9D7D6D6D5D3D3D5D5D1D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A56B6D6F727375777B7B7F8386888C8F9296999B9CA2A5A5AAACB1B3B6B8BBBFBFC1C4C5C6CACACED0D3D5D6D7DADADBDCDBDEE1E1E2E3E4E3E6E4E6E6E4E3E4E4E6E6E4E6E6E6E6E6E6E3E3E3E6E4E4E4E3E4E6E6E4E4E3E3E2E2E3E3E3E3E3E3E3E3E3E2E3E3E3E4E6E6E7E6E6E7E7E6E4E6E6E6E6E6E4E4E3E3E2E3E3E2E2E2E3E3E4E3E4E4E3E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4641B1B1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919191717171717171717171717171717171616161616161615151515151515151614141414141414141515151515141414141414141414141414131313131313131313131313131313131112121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0000000000000000000000000000000000000000000000000000717C7D7E8081838486888A8C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBFC1C4C7CACDD0D3D5D8DBDDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EFEDEBE9E79B000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F9F8F8F8F7F7F6F6F6F5F5F5F5F5F3F3F3F1F1F0F0F0F0EFEFEFEDECECECEBE9E8E8E7E7E5E5E4E4E3E0E0E0DEDDDCDCDADAD9D8D7D6D4D3D3D1D0D0CCCCCBCAC9C7C7C5C4C3C1C1BEBDBDBAB9B7B7B5B4B3B1B1AFADABAAA8A7A4B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A67B7C7E81848688888C8F9396979B9C9EA2A7AAAEB0B3B6B9BCBDC0C3C5C6C8CACBCFD0D3D5D5D7D7DBDBDEDFE1E3E3E6E6E9EAEAEAEAE9EAE9E9E9E7E6E2E3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38573767778797C7E81818488898C8F9094979B9CA1A2A5AAABB0B1B5B6B9BFC0C1C4C5C9CACBCECFD1D3D3D5D6DADADBDEDCDEDEDEDEDEDFDEDEDEDEDFE1E1E1E3E3E2E2E2E2E2E2E2E1E1E2E3E4E6E7E6E4E4E4E6E6E7E9E9E9E9E9E9E9E7E7E7E9E7E6E6E6E6E6E7E6E7E7E7E7E9E9E9E9E9E9E9E9E9E7E6E6E9E9E9E9E9EAE9E9E9E7E7E7E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2EA251D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191917171717171717171717171717171716161616161616151515151515151616141414141414141415151515151414141414141414141414141313131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000004E7B7C7E7F81838486888A8B8E909295979A9DA0A2A5A8ABAEB2B4B8BBBDC1C4C6C9CDCFD2D4D7DADCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEBE9E75C0000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F8F8F8F7F6F6F6F5F5F5F5F5F3F3F3F1F1F0F0F0EFEFEFEDECECECEBE9E8E8E7E7E5E5E4E3E3E0E0E0DEDDDCDADADAD9D7D6D4D4D3D1D0D0CECCCCCBC9C7C7C5C5C4C3C1C0BEBDBDBAB9B7B7B5B4B3B1B1AFADABAAA9A7A5A3A3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6787B7C7F8386898C8E909294999B9C9FA2A7AAAEB1B2B5B8BCBDC0C1C4C8C9CBCED3D1D6D6D9D9DADADBDBDCDEDEDFE1E1E1E1E1DEDEDEDFDEDEDCDADADADAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B175737578797C7D7F8183878A8C8F9094979B9EA2A5A7ABACB1B3B6BBBCBDC0C1C3C5C6C8C9CACECFD0D1D5D5D5D7D9D7D9DADBDCDBDCDCDEDEDEDEDEDFDFDFDFDFDFDFDFDFE1E1E1E1E1DFE1E1DFDFDFDFE1E1E2E2E3E4E4E4E3E3E3E2E2E3E1E1DFDFDFE1E1E2E1E2E3E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E3E3E4E4E4E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1961D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191917171717171717171717171717171716161616161616151515151515151614141414141414141415151515141414141414141414141414141313131313131313131313131313131112121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000277B7C7D7F8082848588898B8D8F929497999C9FA2A5A8ABAEB0B4B7BABDC0C3C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EFEEECEAE9E71C00000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F8F8F8F7F7F6F6F5F5F5F5F5F3F3F3F1F0F0F0F0EFEFEDEDECECEBE9E8E8E7E7E5E5E4E3E3E0E0DEDDDDDCDADAD9D8D7D6D4D4D3D1D0D0CCCCCBCAC9C7C7C5C4C3C1C1BEBDBDBBBAB9B7B7B5B4B3B1B1AFADABAAA9A8A5A4A2A2ACB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6787B7D81818386898C8D909096979B9CA1A5A7A8ABACB1B3B8B9BDBFC1C3C5C9CACBCFD1D1D5D7D7D7D9D9D9D7D7D7D7D7D6D7D9D9D9D7D7D6D6D6D5D6D3D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39C757676797C7E8183868A8A8E909397999B9FA2A5A7ABAEB1B5B6B9BCC0C1C4C6C9CBCFD1D3D7D9DADADBDEDEDEE1E1E2E3E4E6E6E7E7E7E7E9EAEAEBEBECECECEBEBEBECEEEEEEEEEEECECEBECECECECEEEFEFEEEEEEEEEFEFEEEEEEEEEEEEEEEFEEEEEEEEEEEFEFEFEFEFF1F1F1F1F1F2F1F1F1F2F1EFEFEFEFEFEEEEEEEEEEEFEFF1F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1521D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919171717171717171717171717171717161616161616161515151515151516141414141414141415151515151414141414141414141414141313131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3000000000000000000000000000000000000000000000000000A7B7C7D7F8081838587898B8D8F929496999C9FA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E6E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEEECEAE8C10000000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F8F8F8F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0EFEFEFEDECECECE9E9E8E7E7E5E5E4E3E1E0E0DEDDDCDCDADAD9D8D7D6D4D3D1D0D0CECCCCCBC9C7C7C5C5C4C3C1C1BEBDBDBAB9B7B7B6B5B3B2B1B1AFADABAAA9A8A5A4A3A2A09FB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6787B7D7F8285888A8D90929496999B9EA1A2A5A7AAACB0B2B5B9BBBDBFBFC3C5C8C9CACED0D1D1D3D5D6D7D7D7D9D9DBDBDCDEDCDEDEDCDBDADBDADAD9D7D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6B6D6F72767677787C7D818386898C8E909296979B9EA1A2A4A5A8ACAEB1B3B3B6B6B9BBBDC0C0C0C1C3C1C4C5C5C6C9CACBCBCECED0D0D1D1D3D3D5D5D7D6D6D6D5D3D5D5D5D3D5D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDBDBDBDBDCDEDEDBDBDBDBDBDBDEDEDEDEDEDEDEDFDFDEE1E1DFDFDFDEDFDFE1E1E2E1E2E3E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCCF1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191919171717171717171717171717171716161616161616151515151515151616141414141414141415151515141414141414141414141414141313131313131313131313131313131112121212121212121111111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000005E7C7D7E8081838586888A8D8F919396989B9EA1A4A6A9ADAFB2B6B8BCBFC2C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEDEBEAE878000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F8F8F8F7F6F6F5F5F5F5F3F3F3F1F1F0F0F0EFEFEDECECECEBE9E8E7E7E5E5E4E3E3E0E0DEDDDCDCDADAD9D7D6D4D4D3D1D0D0CCCCCBCAC9C7C7C5C4C3C1C1C0BEBDBBBAB9B7B7B5B4B3B1B1AFADACABAAA8A7A5A4A3A2A0A09CB1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7828386898C8F909296979B9EA2A5A7AAACB0B1B5B8BBBDC1C3C4C8CACBCED1D3D5D6D7D7D9D9DCDCDEDEE1E1E2E3E3E4E4E4E3E4E4E4E4E3E2E1DEDEDEDEDCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B373717273757678797C7F8183878A8C8D8F93979B9C9FA4A5A7A8ACB1B2B5B8BBBCBDC0C3C5C8C9C9C9CACED0D3D1D5D3D5D5D6D7D9D9DADADADADADBDADBDBDEDEDEDCDBDEDEDEDFDEDEDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1DFDFDFDEDEDEDEDEDBDBDBDEDEDEDEDEDEDFDFDFDEDFE1E1E1E1E1DFE1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E18C1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191919191717171717171717171717171717161616161616161515151515151516141414141414141414151515151414141414141414141414141313131313131313131313131313131312121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75000000000000000000000000000000000000000000000000003A7B7D7E7F81838486888A8C8E919395989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DBDDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EFEDEBE9E73700000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAF9F9F9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F3F1F0F0F0EFEFEDEDECECEBE9E8E7E7E7E5E4E3E3E0E0DEDDDCDCDADAD9D7D6D4D4D3D1D0D0CCCCCBC9C7C7C5C5C4C3C1C1BEBDBDBAB9B7B7B6B5B4B3B1B1AFADABAAA9A8A7A5A3A2A2A0A09E9CA8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A786878A8C8E8F9397999C9FA2A5A7ABAEB2B5B8BBBCBFC1C5C5C6C8CACBCED0D1D3D5D5D6D7D7D7D9DADBDBDCDEDEDFDEDEDFDEDEDCDCDBDBDBDAD9D9D6D5D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B16E71727375777A7C7E818285898C8E8F93979B9CA1A2A5A8ABACB0B3B5B8B9BCBDC0C3C5C9CACBCBD0D1D1D1D6D7DADADBDBDBDBDCDEDFDFDEDCDBDBDBDBDEDEDEDEDEDEDEDEDEDBDBDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E3E4E4E4E4E3E3E3E3E4E6E7E7E6E7E7E6E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDE431D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191717171717171717171717171717171616161616161615151515151515161414141414141414151515151514141414141414141414141413131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE00000000000000000000000000000000000000000000000000147B7C7D7F8082848588898B8E909294979A9C9FA2A5A8ABAEB1B4B7BABDC0C4C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEBE9DE0000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F1F1F0F0F0EFEFEDECECECE9E8E8E7E7E5E4E4E3E0E0DEDDDCDCDADAD9D7D6D4D4D3D0D0CECCCCCBC9C7C7C5C4C3C1C1C0BEBDBDBAB9B7B7B5B4B3B2B1B1ADACABAAA9A8A5A4A3A2A2A09E9D9C9AA1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D80818385898A8D8F9294999B9B9EA2A4A7A8ACB1B2B5B6B8BCBFC1C4C5C5C8CACACACECFD0D0D1D3D6D6D7D9D9DADADADBDBDADADAD9D9D6D7D6D3D1D1D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A56E71737576777B7B7F818286898A8E9093969B9CA1A4A4A7ABACAEB1B2B5B6B9BCBFC0C3C4C4C8C9C9CACECECFD3D5D5D5D7D7D7D7D7D9D9D9D9D9D9DADADBDBDBDCDBDCDBDBDCDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9C21D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191717171717171717171717171717161616161616161515151515151516161414141414141414151515151414141414141414141414141313131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F00000000000000000000000000000000000000000000000000717C7D7F8082848587898B8D8F929497999C9FA1A5A8AAAEB0B3B7B9BDC0C3C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEEECEAE9A7000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F1F0F0F0EFEFEDEDECECEBE9E8E7E7E5E5E4E3E0E0DEDDDCDCDADAD9D7D6D4D3D1D0D0CECCCBCAC9C7C7C5C4C3C1C1BEBDBDBBBAB7B7B6B5B4B3B1B1AFADABAAA9A8A7A5A4A3A2A0A09E9D9C9A999FB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3838586888A8E90929396979B9EA2A2A7AAACB1B2B5B8BCBDC0C3C4C5C8C9CBCED0D0D3D3D7D7D7DAD9DADADADADBDBDADBDADADBDEDEDEDEDBDCDBDBDBDBDAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3957072747577797B7E80818688898E8F9097999C9EA1A5A7ACAEB2B5B6BBBDC0C3C4C5C9CACBCFD0D1D5D5D9DADBDCDEDEE1E1E1E2E3E2E3E3E3E3E3E3E4E4E4E3E3E4E4E3E3E2E3E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7811D1D1D1D1D1D1D1D1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191917171717171717171717171717171616161616161615151515151515161414141414141414151515151514141414141414141414141413131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5500000000000000000000000000000000000000000000000000537C7D7F8081838586898A8D8F919496999B9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E6E9EAECEEEFF1F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEEECEAE8650000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F3F1F0F0F0EFEFEDECECEBE9E8E7E7E5E5E4E3E0E0DEDDDCDCDADAD9D7D6D4D3D1D0D0CCCCCBCAC7C7C5C5C4C3C1C0BEBDBDBAB9B7B7B5B4B3B2B1B1AFADABAAA9A8A5A4A3A2A2A0A09E9C9A999897A4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39A7E80828586898A8D9093979B9C9FA2A5A7A7ABAEB0B2B6B9BBBFC0C1C3C5C5C6C9CECECFD0D1D5D6D7D7D7D7D7D7D9DADADADADBDBDADADADADBDADAD9D7D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3936A6D6E70737677787C7F818286898C8E9093979B9C9FA2A5A7ABAEB1B3B5B8B9BDC0C3C5C9CACBCED1D0D1D6D7D9DADADADCDADADBDEDFDFDFDEDEE1E1E2E4E3E4E4E4E4E4E4E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1441D1D1D1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191919171717171717171717171717171716161616161616151515151515151614141414141414141515151514141414141414141414141413131313131313131313131313131313121212121212121211111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000002C7C7D7E8081838486888A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BCBFC1C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEDEBEAE82500000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F1F0F0F0EFEDEDECECE9E9E8E7E7E5E4E3E1E0E0DEDCDCDADAD9D7D6D4D3D1D0D0CCCCCBC9C7C7C5C4C3C1C1C0BDBDBBBAB9B7B6B5B4B3B1B1AFADACABA9A8A7A5A4A3A2A0A0A09E9C9A99989796ABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D838689898C8E909396999B9CA2A2A5A7AAACAEB1B3B5B8BBBDBFC1C1C5C5C9C9CACBCFD0D0D0D1D5D6D7D6D7D9DBDBDBDCDEDCDEDCDAD9DAD9D7D7D5D3D0CFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38C70727575787B7D7F818388898E9096999CA1A4A8ACB0B2B5B6BDBFC1C5C6C9CACECFD1D3D5D7D9DBDEDCDFE3E3E4E4E6E6EAEAEAEAEBECEBECEEECEBEBEBECECECECEBEBEBECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6D01D1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191917171717171717171717171717171616161616161615151515151515161614141414141414141515151514141414141414141414141413131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED000000000000000000000000000000000000000000000000000F7B7C7E7F81838486888A8C8E919395989A9DA0A2A6A9ABAFB2B4B8BBBEC1C4C7CACDCFD2D5D8DBDDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EFEDEBE9D50000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F1F0F0EFEFEDECECEBE9E8E7E7E5E5E4E3E0E0DEDDDCDADAD9D7D6D4D3D1D0D0CCCCCBC9C7C7C5C4C3C1C1BEBDBDBAB9B7B7B5B4B3B2B1B1AFADABAAA9A8A5A4A3A2A2A0A09E9D9C9A999795959BB0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39383868A8E8F9393979B9EA2A4A7A7ABACB1B3B5B9BBBDBFC1C3C4C6CACACECED0D0D3D3D6D7D7D7D7DAD9D7D9DAD9D7D9D9D9D7D7D9DADAD9D9D6D7D7D7D6D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38772757777797B7D7E8183888A8C8E9094979B9C9EA2A5A8A8AEB1B3B9BBBCBDC0C3C4C6CACBD0D1D5D5D6D7DADBDADADBDBDCDEDEDFDFE1DFDFDFE1E1E1E1E1DFDEDEDEDEDBDBDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADA811F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A191919191919191919191919191919191919191919171717171717171717171717171716161616161616151515151515151614141414141414141515151514141414141414141414141413131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35000000000000000000000000000000000000000000000000006C7C7D7F8082848588898B8E909294979A9C9FA2A5A8ABAEB1B4B7BABDC0C4C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEBE99D0000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F0F0F0EFEFEDECECEBE9E8E7E7E5E4E3E0E0DEDDDCDADAD9D7D6D4D3D1D0D0CCCCCBC9C7C7C5C4C3C1C0BEBDBDBAB9B7B7B5B4B3B1B1AFADACABAAA8A7A5A4A3A2A2A0A09E9C9A999997959593A4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3907E8283868A8C8E9093979B9C9EA2A5A7A8ABACAEB0B3B5B9B9BFBFC1C3C4C6C9CBCBCFD0D1D3D5D6D7D7D7D7D7D7D9D9D9D9D9DADAD9D7D6D5D5D5D5D5D5D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B382696A6D6F737576777B7D7F818286898E90939697999C9FA1A2A5A7AAAEB1B3B6B8BBBDBFC0C3C3C5C6C6C8C9CBCBCECECFD0D0D0D1D1D3D3D6D7D7D7D9DADBDBDBDEDEDEDCDCDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEE471F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919191717171717171717171717171717161616161616161515151515151616141414141414141415151515141414141414141414141414131313131313131313131313131313111212121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000457C7D7F8082838587898B8D8F929497999C9FA1A4A8AAADB0B3B7B9BDC0C3C6C9CBCED2D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEEECEBE95300000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F0F0F0EFEDECECECE9E8E7E7E5E5E3E1E0E0DDDCDCDAD9D8D6D4D3D1D0D0CCCCCBC9C7C7C5C4C3C1C0BEBDBBBAB9B7B6B5B4B2B1B1AFADABAAA9A8A7A5A4A3A2A0A09E9D9C9A9998979595939CB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38D8A8C8E90929697999B9C9EA1A4A5A8ABB1B1B5B6B9BCBFC3C5C6C9CBCBCFD0D1D3D3D3D5D6D9DADADADADBDEDEE1E1E1E1E1DEE1E1E1E1E1DEDEDBDADAD9D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3867072757778787C7E818386888C8F9094979B9CA1A4A7ACAEB2B5B8BBBBBDC0C3C5C8CACBCFD0D3D6D6DADBDCDEDFDFE1E1E3E3E3E3E4E4E4E6E6E4E6E7E9E9E9E9E9E9E6E6E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2CB1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919171717171717171717171717171716161616161616151515151515151614141414141414141515151514141414141414141414141413131313131313131313131313131311121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD900000000000000000000000000000000000000000000000000287C7D7E8081838586898A8D8F919496999C9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED1D4D6D9DCDEE0E2E5E7E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EFEEECEAE91C00000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F3F3F3F1F0F0EFEFEDECECEBE9E8E7E7E5E4E3E0E0DEDDDCDADAD8D7D4D4D1D0D0CCCCCBC9C7C7C5C4C1C1C0BDBDBBB9B7B7B6B4B3B2B1AFADACABAAA9A8A5A4A3A2A2A0A09E9C9A9A99979595959396ABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38E90929497999B9C9FA2A5A7AAACB1B2B6B8BCBDBFC1C4C5C9C9C9CACED0D3D3D5D5D9D9DADADADADADADADADADADCDBDBDAD9DAD9D9D7D6D7D5D3D5D3D1D1D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846C6D7071737577787B7C818386888C8E9296999C9EA1A4A7AAABAEB1B3B5B9BBBFC0C3C6C6CACACECFD1D1D3D5D5D6D6D7D7D7D7D9DADCDBDBDBDEDEDEDEDEDFE1E1E1E1E1E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDB8A1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191717171717171717171717171717161616161616161515151515151616141414141414141415151515141414141414141414141414131313131313131313131313131313111212121212121212111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0000000000000000000000000000000000000000000000000A7B7D7E8081838486888A8C8E919396989B9DA0A4A6A9ACAFB2B6B8BCBFC2C5C7CBCED0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEEECEAD60000000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F3F3F1F1F0F0EFEFEDECECE9E8E7E7E5E4E3E1E0DEDDDCDADAD9D7D6D4D3D0D0CCCCCBC9C7C7C5C4C1C1BEBDBDBAB9B7B7B5B4B3B1B1AFADABAAA9A8A7A5A4A3A2A0A09E9D9C9A9998979595939396ABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B387898C8E90939396979B9C9FA2A5A7AAACB0B1B5B8B9BBBDBFC0C0C4C4C8C9C9CACBCECFD0D0D1D3D5D3D5D5D5D6D7D6D6D7D9DAD9D7D7D6D7D7D7D7D7D6D5D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F72737677797C7E818184878C8E909397999C9EA1A5A8ABAEB1B3B6B8BCBFC1C4C6CACBCFD1D5D7D7DADCDEDCDFE1E1E2E3E3E3E4E4E6E6E6E6E9E7E7E7EAE9EAE9EAEAEAEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9571F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191917171717171717171717171717161616161616161515151515151516141414141414141415151515141414141414141414141414131313131313131313131313131313111212121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C00000000000000000000000000000000000000000000000000677C7D7F81838486888A8C8E919396989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEDEBEA9D0000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0F0EFEDECECEBE9E8E7E7E5E4E3E0E0DEDCDCDAD9D7D6D4D3D1D0CECCCBC9C7C7C5C4C3C1BEBDBDBAB9B7B7B5B4B3B1B1AFADABAAA9A8A5A4A3A2A2A0A09E9C9A9A9997959595939296ABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A780818186898C8D90929697999C9CA1A4A5A8AAACB1B2B5B8B9B9BBBCBCBDC0C3C3C3C4C5C6C8C8C8C8C9CACBCBCBCBCBCECECECECFCFCECECFCFCECBCBCACACAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3826A6C6E6F727575787B7C808184898C8E9094999C9CA1A4A5A7ABACB0B2B5B8B9BDBFC0C3C4C5C6C9CBCECFCFD1D1D3D6D6D9D9DADADADBDADBDBDCDADADADEDEDEDEDEDEDEDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFD91F1F1F1F1F1F1F1F1F20202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191717171717171717171717171717161616161616161515151515151616141414141414141415151515141414141414141414141414131313131313131313131313131313121212121212121211111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000004A7C7D7F8082848588898B8E909295979A9DA0A2A5A8ABAEB1B4B7BBBDC1C4C7CACDCFD2D5D8DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EFEDEBE96500000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0F0EFEDECECEBE9E8E7E5E5E4E1E0DEDDDCDADAD8D7D4D4D1D0D0CCCCCAC7C7C5C4C3C1C0BDBDBAB9B7B7B5B4B2B1B1ADACABAAA9A7A5A4A3A2A0A09E9D9C9A99989795959393929AADB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E8A8D8F909396999B9C9FA2A7A7AAABB0B0B2B5B6B9BCBFC0C1C4C5C5C5C5C9C9CACBCECFD0D1D3D3D5D5D6D7D7D7D7D6D6D5D5D5D6D5D5D6D6D5D3D5D5D5D5D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38772737577787A7C7E8183888A8C8E909396999B9EA1A5A7A8ACB1B3B5B8BBBFC1C3C5C6C8C9CACBCED0D3D3D6D7D7D9D7D7D7D7D6D7DADBDEDCDCDCDCDEDEDFDFDFDEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEA51F1F1F2020202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A191919191919191919191919191919191919191917171717171717171717171717171616161616161515151515151516141414141414141415151515141414141414141414141414131313131313131313131313131313111212121212121212111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3000000000000000000000000000000000000000000000000002C7C7D7F8082848587898B8D8F929497999C9FA2A5A8ABAEB0B4B7BABDC0C3C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEBE9250000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEFEDECECE9E8E7E7E5E4E3E0E0DEDDDCDAD9D7D6D4D3D0D0CCCCCBC9C7C5C4C3C1C0BDBDBAB9B7B6B5B4B2B1AFADACAAA9A8A7A5A4A2A2A0A09E9C9A9A9997959595939292A0B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39A929396999B9C9EA2A4A7A8ABACAEB2B3B6B8B9BCC0C1C3C5C6C9CBCBCECFD0D3D3D5D7DADBDBDCDEDEDEE1E1E1DEDFDFDEDEDEDFDEDEDCDCDBDBDAD9D9D7D5D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38167686C6E7172757778787D818388898A8D909296999C9EA2A5A8ACAEB1B3B5B6B9BCBFC1C1C1C3C5C5C6C8CACBCBCED0D1D1D5D6D6D7D6D6D7D7D7D7D7D9DADADADAD7D7D7D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1652020202020202020202020202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919171717171717171717171717171616161616161615151515151516161414141414141414151515151414141414141414141414131313131313131313131313131313111212121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF190000000000000000000000000000000000000000000000000F7C7D7F8081838587898B8D8F929497999C9FA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEEECEBD7000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEFEDECECE9E8E7E7E5E4E3E0E0DDDCDADAD8D7D4D3D1D0CECCCBC9C7C5C4C3C1C0BEBDBAB9B7B6B5B3B2B1AFADABAAA9A8A5A4A3A2A2A0A09D9C9A999897959593939296A5B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3928E8F9294979B9C9CA2A2A5A5A8ACAEB1B2B5B8B9B9BBBCBFC0C3C3C5C6C9C9CACBCFCFD0D3D5D3D5D3D3D1D3D3D5D6D6D7D7D9D7D9DAD9DAD9D9D7D6D6D5D5D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F737677787B7C7E818186898A8E909294999C9FA1A5A7ABAEB1B3B6B6BBBDBFC0C3C5C8CACACBD0CFD0D0CFD0D1D5D6D7D9DADADADBDEDEDEDEDCDCDCDCDEDEDEDBDBDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DF2E2020202020202020202020202020202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919171717171717171717171717171716161616161615151515151515161414141414141414151515151414141414141414141414141313131313131313131313131313131112121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000006D7D7E8081838586888A8D8F919396989B9EA1A4A6AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EFEEECEA9E000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEFEDECECE9E8E7E5E5E4E1E0DEDDDCDAD9D7D6D4D3D0D0CCCCCAC7C7C5C4C1C1BEBDBBB9B7B7B5B4B2B1AFADABAAA9A8A5A4A3A2A0A09E9D9C9A99979595959392929DADB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B286898A8E8E909394979B9C9FA2A5A7AAACB0B1B3B3B8B9BBBDBFC1C3C3C5C6C8C9CBCECECECFD0D0D0D1D1D1D5D6D7D7D7D9D9D9D7D7D9D9DAD9D9D5D7D6D3D1CFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6A6D6E6F71727577787C7E818385888A8C8E9093979B9EA1A2A5A7ACAEB0B1B2B5B8B9BCBFC3C3C3C5C5C5C8C8C8C9C9CBCACECECED0D1D5D5D5D5D5D6D6D6D7D6D7D7D7D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEABE20202020202020202020202020202020202020202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191919171717171717171717171717171616161616161615151515151515161414141414141414151515151414141414141414141414131313131313131313131313131313111212121212121212111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000004F7C7E7F81838486888A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BCBFC2C5C7CACED0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEEECEA6F00000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEFEDECEBE9E8E7E5E4E3E0E0DEDCDCDAD9D7D4D3D1D0CECCCBC9C7C5C4C3C1BEBDBBBAB7B7B5B4B2B1AFADABAAA9A8A5A4A3A2A0A09E9C9A999897959593939297A7B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A794979B9C9E9FA2A4A7A8ABAEB1B2B5B8B9BBBDBFC0C3C4C6C9CBCECFCFD0D1D1D3D5D5D7D9DAD9DADBDCDCDEDEDFDFDFDFDEDEDEDEDEDCDBDEDBDCDADAD9D7D3D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6F70727476757A7C7E818589898D9093979B9CA1A2A7AAACB0B2B5B8B9BCBFC0C1C4C5C8CACECBCECFCFD0D1D5D7D9D9DADBDBDEDEDEDCDCDEDEDCDCDEDEDEDEDCDEDFE1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDC7C20202020202020202020202020202020202020202020202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A19191919191919191919191919191919191919191717171717171717171717171716161616161615151515151515161414141414141414151515151414141414141414141414141313131313131313131313131313111212121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE300000000000000000000000000000000000000000000000000317C7D7F81828486888A8B8E909395989A9DA0A2A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEDEBEA370000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEDECECEBE9E7E7E5E4E3E0E0DDDCDADAD8D6D4D3D0D0CCCBC9C7C5C5C3C1C0BDBDBAB9B7B5B4B3B1AFADABAAA9A8A5A4A3A2A0A09E9C9A9998979595939393A1B0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39B8F90939496999B9C9EA2A4A7AAACB0B2B3B3B6B9B9BCBDC0C0C3C3C4C5C8C9C9CBCECED0D1D3D5D5D5D6D6D9D9DBDADADADBDBDBDEDEDFDEDEDCDEDBDCDBDADAD9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3867272767778797B7D818186888A8E8F909397999B9CA1A4A5A7ACB0B2B5B8B9BDC0C3C5C8C9CACBCECFD1D1D5D7D7D7D9D9DADADBDBDEDEDEDCDEDEDEDEE1E2E2E3E3E3E3E2E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDB4E20202020202022222222222222222222222222202020202020202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A191919191919191919191919191919191919191717171717171717171717171716161616161616151515151515161614141414141414141515151514141414141414141414141313131313131313131313131313131112121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19000000000000000000000000000000000000000000000000147C7D7F8082848588898B8E909295979A9D9FA2A5A8ABAEB1B4B7BBBDC1C4C7CACDCFD2D5D8DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F3F2F0EFEDEBEA090000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F5F5F5F3F3F1F0F0EFEDECECEBE8E7E7E5E4E3E0DEDDDCDAD9D7D6D4D1D0CECCCBC9C7C5C4C1C1BEBDBAB9B7B6B4B3B1B1ADACAAA9A8A5A4A3A2A0A09E9C9A999795959593929CABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38F8C8E909394999B9B9EA2A5A7A7A8AAAEAEB1B3B5B8BBBFC0C3C4C5C6C6C6C8C9CECECECBCECFCFCFCFD0D1D0D3D5D5D5D6D7D7D7D5D5D5D5D3D1D1D3D3D1D1CFCBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6F71727576777B7D8183888A8C909093969B9B9FA4A5A7ACB0B1B3B6B8BBBDC1C3C4C5C9CACECFD0D1D1D3D3D7D7D9D9DADCDCDEDEDFDFE1E2E1E1E1E1E1DFDFDFDEDFE1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3D42020222222222222222222222222222222222222222222222220202020202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A191919191919191919191919191919191919191917171717171717171717171717161616161616151515151515151614141414141414141515151514141414141414141414141313131313131313131313131313131112121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5500000000000000000000000000000000000000000000000000777D7F8082848587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EEECEBBA000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E1E0DEDDDCDAD9D7D4D3D1D0CCCCCAC7C5C4C3C1BEBDBBB9B7B6B5B3B1B1AFACAAA9A8A5A4A3A2A0A09E9C9A99979595939397A8B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B29397999C9C9FA2A5A7A8ACAEB0B1B3B5B6B9BDBDC1C1C4C5C5C5C6C6C6C9CBCED0D1D3D3D5D6D7D7D9DAD7D9D9DADADADAD9D9D9D9D9D7D7D7D6D3D3D3D3D0CFCBCEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E6F71737577797C7F8285898C8E909396979C9EA1A4A5A8ACB0B1B5B8BBBFBFC3C5C8C9CACED0D1D5D7D7D9DADBDADBDBDBDBDBDADBDBDADADADADADADADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2A822222222222222222222222222222222222222222222222222222222222220202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A191919191919191919191919191919191919191717171717171717171717171716161616161616151515151515161614141414141414151515151414141414141414141414141313131313131313131313131313111212121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000005E7D7F8081838586898B8D8F929497999C9FA1A4A8AAADB0B3B7B9BDC0C3C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECEB8300000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F6F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E3E1E0DEDCDADAD8D6D4D3D0D0CCCBC9C7C5C4C1C1BEBDBAB7B7B5B4B2B1AFACABA9A8A5A4A3A2A0A09E9C9A999795959396A3B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E8A8D8F90939799999C9CA1A2A5A7AAACB0B1B3B5B8B8B9B9B9BCBFC1C1C1C3C4C5C5C6C8C6C9C9C9CBCBCBCBCECECECED0D0D0D0D1D1D0D0D0D0D0D0D0D0CECFCBCAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3826A6D6E70737575787C7E8184898C8C8F9294969B9B9FA2A5A7AAACB1B2B5B8B9BBBFC1C4C4C6C8CACACFD0D1D3D5D7D6D7D7D9DADAD9DADADBDBDCDEDEDEDEDEDEDEDCDCDBDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E17622222222222222222222232223222222222222222222222222222222222222222222202020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191919191917171717171717171717171717161616161616151515151515151614141414141414141515151514141414141414141414141313131313131313131313131313131112121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE300000000000000000000000000000000000000000000000000407D7E8081838586888A8D8F919396989B9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED1D4D6D9DCDEE0E2E5E7E9EBECEEEFF1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEEECEA5400000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E3E0E0DEDCDADAD8D6D4D1D0CECCCAC7C7C5C3C1BEBDBBB9B7B6B4B3B1AFADABAAA8A5A4A3A2A0A09E9C9A99979595959FAFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39590939397999B9E9FA2A5A5A8AAACB0B2B3B6B6B9BBBDBCBFC1C3C5C8C9CACBCFD0D0D0D1D5D6D7D9D9D7DADADAD9D7D7DADADBDAD7D9DADADAD7D7D7D5D5D3D1D0CFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3806565686A6D6F707375787B7C7E818286898D909696979C9C9FA2A5A5A7AAAEB0B2B5B6BBBDC0C3C4C5C6CAC9CACECED0D1D1D1D3D0D1D5D5D7D7D9DAD9DADADADBDBDBDCDBDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E639222222232323232323232323232323232323232323232222222222222222222222222222222020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191917171717171717171717171717161616161616161515151515151614141414141414141515151514141414141414141414141413131313131313131313131313131112121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F000000000000000000000000000000000000000000000000287C7E7F81838486888A8C8E919396989B9DA0A4A6A9ADAFB3B6B9BCBFC2C5C8CBCED0D3D6D8DBDDE0E2E5E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EFEEECEA2500000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E3E0E0DDDCDAD9D7D6D4D1D0CCCCC9C7C5C4C3C1BEBDBAB7B7B5B3B1B1ADABAAA9A7A4A3A2A0A09E9C9A999795959DAAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2A2A5A8AAABACAEB1B1B3B5B6B9BDBFC0C3C5C6C9C9CACBCED0D1D5D5D6D7D9D9DADCDCDFDFE1E1E1E1E1E2E2E4E4E6E4E6E4E4E3E3E1E1E1DFE1DEDEDEDBDBDBDAD9D6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3826567686B6D6F727577787B7C7F8185898C8E9094979B9EA1A4A5A7A8AAACB0B3B3B5B8B9BCBDBFC0C0C3C4C5C6C8C9C9CACBCBCECFD0D0D1D3D3D5D3D3D3D5D6D7D7D6D7D7D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEC923232323232323232323232323232323232323232323232323232323222222222222222222222222222020202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191917171717171717171717171717161616161616151515151515151614141414141414141515151514141414141414141414141313131313131313131313131313111212121212121212111111111111111111111111111111101010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C0000000000000000000000000000000000000000000000000A7C7D7F81838486888A8C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBFC1C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F0EFEEECE10000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F6F5F5F5F3F1F0F0EFEFECECE9E8E7E7E5E3E0E0DDDCDAD9D7D4D3D1D0CCCBC9C7C5C4C1C0BDBBB9B7B6B4B2B1AFACABA9A8A5A3A2A0A09E9C9A9997959BA8B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A09496979B9E9FA1A4A4A5A7AAACB0B2B3B5B8B9BDBFC1C4C4C6C9CACACECFD1D3D5D6D7D7DADADBDBDBDCDEDFDFDFDFE1E1DFE1E1E1E1E1E1DFDFE1E1DFDEDFDFDEDBDBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38671737677777B7C7E818283898C8D8F929497999C9EA2A5A5AAACB0B1B5B6B9BCBDC1C1C4C5C8C9CECED0D0D1D5D6D9DADADADBDBDBDEDFDFDFDFE1E1E1E1E3E3E3E3E4E4E4E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6A3232323232323232323232323232323232323232323232323232323232323232322222222222222222222222220202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191917171717171717171717171717161616161616161515151515151614141414141414141515151514141414141414141414141313131313131313131313131313131112121212121212111111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000006D7D7F8082848588898B8E909295979A9DA0A2A5A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEDEBB200000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F5F5F5F3F1F0F0EFEFEDECE9E8E7E7E5E3E0E0DDDCDAD9D7D4D3D0D0CCCBC9C7C5C3C1BEBDBAB9B7B5B3B1B1ADABAAA8A5A4A3A2A09E9C9A999799A4B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E9FA2A4A5A8AAABB0B2B6B8B9BBBDBFC1C4C6C8C9CBCBD0D1D3D5D7D9DADADBDBDCDBDEDFE1E1E3E3E3E6E6E6E6E6E6E7E7E7E7E7E6E6E3E4E4E4E3E3E3E3E1E1E1E1DEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846C6F7172757778787C7E8285898A8D909293979B9EA1A4A7A7AAACB1B5B8B9B9BBBFC0C4C6C6C9C9CACBCFCFD1D3D6D5D5D6D7D9D7D9DADBDBDBDBDBDCDEDEDFDEDEDEDEDEDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E168232323232323232323232323232323232323232323232323232323232323232323232322222222222222222222222220202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A19191919191919191919191919191919191919171717171717171717171717171616161616161515151515151516141414141414141515151514141414141414141414141413131313131313131313131313131112121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC400000000000000000000000000000000000000000000000000547D7F8082848587898B8D90929497999C9FA2A5A8ABAEB1B4B7BBBDC1C4C6CACDCFD2D5D8DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEDEB8300000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F5F5F5F3F1F0F0EFEFEDECEBE8E7E7E5E3E0E0DDDCDAD9D7D4D3D0CECCCAC7C7C4C3C1BEBDBAB7B6B4B3B1AFACAAA9A7A4A3A2A0A09D9C9998A1AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB9B9CA1A4A5A5A7ABACAEB1B2B6B8BBBDBFC0C4C5C6C9CBCFD0D1D3D5D6D7D9DADEDEDFDFE1DFE1E3E3E3E4E4E4E4E6E6E6E4E3E3E3E3E3E4E4E3E3E3E3E4E3E3E1E1DEDEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E717376777B7D7E818286888D8F9296979B9FA2A5A7ABAEB2B5B8B9BBBFBFBFC3C3C4C5C9CACBCED0D1D1D5D6D7D7D9DADADBDBDEE1E1DEDFDEDFDFE1E1E1E1DFDFDFDFE1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9392323232323232323232323232323232323232323232323232323232323232323232323232323232222222222222222222222202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191919171717171717171717171717171616161616161615151515151516141414141414141415151515141414141414141414141413131313131313131313131313131112121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000000000000000000000000000000000000000000000000003B7D7F8081838587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7DADCDEE1E4E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EEEDEB5400000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F6F6F5F5F3F3F1F0F0EFEDECEBE8E7E7E5E3E0E0DDDCDAD9D7D4D3D0CECCCAC7C5C4C1C0BDBBB9B7B5B4B2B1ADABAAA8A5A4A2A0A09E9C9A9DA9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A09EA2A2A5A7ABACAEB1B3B5B6B8BBBDBFC1C4C5C6C9C9CECFD1D5D6D9DBDEDEE1E3E4E6E6E6E9EAEBEBEBEBEAECEAEBEBEAEAEAEBEBE9EBECEBEAE9E9E9EAE9E9E6E6E6E2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856E70727677777A7D818284888A8E909296979B9FA2A4A7ABAEB1B5B6B9BBBDBFC1C4C5C5C8C9CBD0D0D1D6D7D7D9DADADBDCDEDEDEDFE1E2E4E4E6E3E3E3E6E6E7E9E9E9E9E9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2DC2323232323232323232323232323232323232323232323232323232323232323232323232323232323232322222222222222222222202020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A191919191919191919191919191919191919191717171717171717171717171716161616161615151515151515161414141414141415151515141414141414141414141413131313131313131313131313131311121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000237D7E8081838586898B8D8F929496999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CBCFD2D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6F5F4F3F2F0EEECEB2500000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F8F8F7F6F5F5F3F3F1F0F0EFEDECEBE9E7E7E5E3E0E0DDDCDAD9D6D4D3D0CECCC9C7C5C4C1C0BDBAB9B7B5B3B1AFADABA9A7A4A3A2A09E9C9CA5B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B29EA1A4A5A7A8ABACAEB1B3B6B9BCBFC1C3C4C8CACACED0D1D3D5D6D7D9D9DADBDCDCDEDFE1E1E2E3E3E3E4E4E6E6E7E7E7E7E9EAEAE9E7E7E7E6E6E6E4E6E4E3E3E2E1E1DEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38A7678797B7C7E818488898A8F909497999B9CA1A5A7AAACB0B2B6B8BBBFC1C4C5C9CACACECFD1D3D7D7DBDBDCDBDCDEDEDEDEDFDFE1E1E1E1E1E1E2E2E2E1E1E1E1E1E1E1E2E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D19423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222222222222222222020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A191919191919191919191919191919191919171717171717171717171717171616161616161515151515151516141414141414141415151515141414141414141414141413131313131313131313131313131112121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000A7D7E8081838586888A8D8F919396999B9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED1D4D7D9DCDEE0E2E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1F0EEECE2000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F8F7F6F5F5F5F3F1F0F0EFEDECECE9E7E7E5E4E0E0DDDCDAD9D6D4D1D0CECCC9C7C5C3C1BEBDBAB7B7B4B3B1AFACAAA8A5A4A2A0A09DA1ABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A09B9C9EA1A2A5A5A7AAACACB0B1B3B9B9BBBCBDC0C3C5C6C9CACACED0D1D1D3D6D9D9DADCDADBDBDBDCDBDBDADADADADBDCDCDCDBDBDBDBDBDBDCDCDBDBDCDAD9DAD7D7D6D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B388757777797C7D818184868A8D909294979C9CA1A5A8AAAEB1B5B6BBBDC0C5C6C9C9CBCED0D3D5D5D9DADBDEDEDFE1E1E3E4E6E7E7E7EAEAEAEAEAEBEBECEEEEEEEEECECEBECEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E170232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323222222222222222222222020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191919191717171717171717171717171616161616161615151515151516141414141414141415151515141414141414141414141413131313131313131313131313131112121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000006D7E7F81838486888A8C8E919396989B9EA1A4A6A9ADAFB3B6B9BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E7E9EBECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEEECB200000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFBFBFBFBFAF9F9F9F9F8F7F6F6F5F5F3F1F0F0EFEDECECE9E8E7E5E4E1E0DDDCDAD9D7D4D1D0CCCCC9C7C5C3C1BEBDBAB7B6B4B2B1ADABA9A8A5A3A2A09EA7B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7A8AAACB0B2B3B5B6B9BDBFC1C3C5C6C9C9CBCFD0D3D6D7D9DAD9DADBDEDFE1E1E3E6E6E6E7E7E9EAEAEAEAEAEBEBEBEBEEECEBEBECECECECECECECECEBEBEBEBEAE9E7E6E6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856E70727477787B7C7D808285898C8E909396979B9FA2A5A7A8ACB0B1B2B5B6B9BBBCBFBFC0C3C5C9C9CACECFD0D0D3D3D5D7D7D9D7D7D9D9D9D9D9D9D9D9DAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADA3F2323232424242424242424242424242424242424242323232323232323232323232323232323232323232323232323232323232222222222222222222020202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191717171717171717171717171716161616161615151515151515161414141414141415151515141414141414141414141413131313131313131313131313131312121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD900000000000000000000000000000000000000000000000000547D7F81838486888A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BCBFC1C5C7CACED0D3D6D8DBDDE0E2E5E6E9EAECEEEFF1F2F3F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EFEEEC8300000000000000000000000000000000000000000000000000F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8F8F6F6F5F5F3F3F1F0EFEFECECE9E8E7E5E4E1E0DEDCDAD9D7D4D3D0CCCCC9C7C5C3C1BEBDB9B7B5B4B1B1ADABA9A7A4A2A0A2ABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A19EA1A2A2A4A5A8ABAEB0B1B2B3B5B8B9BCBFC0C0C3C4C4C6C8C9CACBCFD0D0D0D3D5D6D7D7D7D7D9DAD9DADADADBDBDBDCDBDCDEDCDEDEDEDEDEDEDCDBDBDAD7D9D6D5D3D1D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856E71737676787B7C7F818286898C8E9096979B9FA2A5A5A8ACAEB0B1B3B6B8BBBDBFC1C4C5C5C9C9CACBCECFD0D3D5D5D6D9D9D9D7D9DAD9D9D9DAD9DADADBDBDBDCDBDCDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD02324242424242424242424242424242424242424242424242424242323232323232323232323232323232323232323232323232323232222222222222222222220202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191919191917171717171717171717171716161616161616151515151515161414141414141414151515151414141414141414141414131313131313131313131313131311121212121212121111111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000417D7F80828486888A8B8E909395989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F0EFEEEC5E00000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFBFCFCFCFCFBFBFBFBFBFAF9F9F9F9F8F7F6F5F5F3F3F1F0F0EFEDECEBE8E7E5E4E3E0DEDCDAD9D7D4D3D0CECCC9C7C5C3C1BEBDB9B7B5B3B1AFACAAA8A5A4A2A6B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0A3A5A7AAACACAEB1B3B6B8B9BBBDBFC0C0C1C4C6C5C9CACACACBCFD0D0D1D1D3D3D7D7D7D7D7D7D7D9D9DAD9DADADAD9DADADADADAD9D7D7D7D7D6D6D7D5D5D5D1D1D1D0D0CECAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6C6E71737577787B7E818486888A8E9093979B9EA1A5A7AAACB1B2B6B9BBBDBFC1C4C6C9CACED0D1D5D5D6D9DADBDBDCDEDFDEDEDFE1E1E2E3E6E6E4E4E4E3E3E3E4E4E4E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4B124242424252525252525252525252525252525252424242424242424242424232323232323232323232323232323232323232323232323232322222222222222222220202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919191717171717171717171717171716161616161615151515151516161414141414141415151515141414141414141414141413131313131313131313131313131112121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000287D7F8082848587898B8E909294979A9DA0A2A5A8ABAEB2B4B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEDEB2F00000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFBFBFBFBFBFBFBFBFBFAF9F9F9F9F8F8F6F5F5F5F3F1F0F0EFEDECEBE9E7E7E5E3E0DEDCDAD9D7D4D3D0CECCC9C7C5C3C1BDBBB9B7B5B3B1AFACAAA8A5A4AAB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39F9B9B9C9E9EA1A4A5A7A7AAABACAEB1B1B2B5B6B6B9BBBCBDBFC0C1C3C5C6C6C8CACACBCBCECFCFD0D1D3D1D5D6D5D5D3D5D5D5D6D5D5D6D6D5D3D3D3D1D1D3D0D0D0CECECAC9C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6F71737575787B7E8183868A8C8E9294979B9EA2A4A5A7ACAEB1B2B5B8BCBDC0C3C5C6C9CACBCECED0CFD1D5D7D7D9DADADCDBDADBDADADADADBDBDBDADBDBDBDBDADADBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DF87252525252525252525252525252525252525252525252525252424242424242424242323232323232323232323232323232323232323232323232322222222222222222220202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191919191917171717171717171717171716161616161615151515151515161414141414141415151515141414141414141414141413131313131313131313131313131312121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000147D7F8081838587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BBBDC0C4C6CACDCFD2D5D8DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFF -FFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFEDEB090000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFBFBFBFBFBFBFBFBFAFAF9F9F9F8F8F7F6F5F5F3F3F1F0EFEFECECE9E7E7E5E3E0DEDDDCDAD7D4D3D0CECCC9C7C5C3C1BDBBB9B7B5B3B1AFABA9A8A4ACB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AEA8AAABACAEAEB1B1B5B5B6B8BBBCBDBFBFC1C1C3C4C4C6C6C6C9CACBCECFD0D1D5D5D5D7D7D9DADADBDBDADBDCDCDCDBDBDCDEDEDEDFDFDEDEDFDFDEDCDADADAD9D9D7D7D7D6D5D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6F72737675787B7C7C8184898A8C8F9397999C9EA2A5A8ACB0B1B2B6B9BCC0C3C5C5C6C9CBCBD0D3D3D5D5D7DADCDEDFDFDEDFE1E2E2E2E4E4E6E4E3E3E6E4E3E4E3E4E6E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3612525252525252525252525252525252525252525252525252525252525252424242424242424232323232323232323232323232323232323232323232322222222222222222220202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A19191919191919191919191919191919191917171717171717171717171717161616161616151515151515161414141414141414151515151414141414141414141414131313131313131313131313131311121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000007D7F8081838586898B8D8F929497999C9FA2A5A8AAAEB0B4B7BABDC0C3C6C9CCCFD2D4D7DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F6F5F4F3F2F0EFEDC500000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFAFBFBFBFBFBFBFBFBFBFAFAF9F9F9F9F8F7F6F5F5F3F3F1F0F0EFEDECE9E8E7E5E4E1E0DDDCDAD8D6D3D0CECCC9C7C5C3C1BDBBB9B7B5B3B1ADABA9A7AFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A2A4A5A7A7AAACACB1B2B3B6B8B8B9BBBDBFC0C3C5C5C8CACAC9CBCBCECFCFD0D0D1D1D3D5D5D7D9DADADAD9D9DADADAD9DAD9D7D7D7D7D7D7D7D9D9D7D9D9D9D9D7D6D5D5D6D5D6D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38671747677787B7C80818388898E909293979B9EA1A4A5AAABAEB1B5B6B9BBBDC0C1C1C4C5C6C8C9CBCBCED0D0D5D6D7D7D7DADBDCDCDEDFDFDFDEDEDEDEE1E1E1E1E1DFDFDFE1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E23325252525252425252525252525242424252525252525252525252525252525252524242424242424232323232323232323232323232323232323232323232322222222222222222220202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191919171717171717171717171717161616161616151515151515161614141414141414151515151414141414141414141414131313131313131313131313131311121212121212121111111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE00000000000000000000000000000000000000000000000000647E8081838586898A8D8F929497999C9FA1A4A8AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F3F2F0EEEC9F00000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBFBFBFAFAF9F9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECEBE8E7E5E4E3E0DEDCDAD9D6D4D1D0CCCAC7C5C3C1BEBDB9B7B5B3B1ADABAAB1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ACAAACACB0B2B3B6B6B9B9BBBDC1C1C4C3C6C5C8C9CBCBCECECED0D0D0D0D1D1D1D5D5D6D5D5D7D9DBDADBDADCDEDEDEDFDFDFDFDEDEDEDEDFDFDFDEDEDEDEDCDBDBDBDAD9D7D7D7D6D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F73767677797B7E8183888A8E909296999B9FA2A4A5A8ABAEB0B2B6B8BBBDBFC1C4C5C8C9CACACECED0D0CFD0D1D5D5D6D7D7D7D7D9DADADADADBDCDBDBDEDEDBDCDCDEDCDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9C425252525252525252525252525252525252525252525252425252525252525252525252525242424242424242323232323232323232323232323232323232323232323222222222222222220202020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191919171717171717171717171717161616161616161515151515151614141414141414151515151414141414141414141414131313131313131313131313131311121212121212121211111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000004B7E8081838486888A8D8F919396999C9EA1A4A7AAADB0B3B6B9BCC0C2C5C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EEEC7B00000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBFBFAFAF9F9F9F9F8F8F7F6F5F5F3F3F1F0EFEDECECE9E7E7E5E3E0DEDCDAD9D7D4D1D0CCCBC7C5C3C1BEBDB9B7B5B3B1ADABB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1A3A5A7A8AAABACAEB1B2B5B8B9BCBFBFC0C1C1C4C4C5C6C8C9C9C9CBCFD0D1D3D5D5D3D3D5D5D6D6D7D7D6D6D7D7D7D7D7D9D9D7DADADBDADADADADADBDBDEDBDADADAD9D9DADADAD9D7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3867274767678787C7E818388898D8F909397999C9EA2A5A7A7ABACB0B1B3B6B9BBBDC0C3C6C6C9C9CED0D1D3D5D7D7D9D7D9DADBDEDEDEDEDEDEDEDEDEDEDFDFDFDEDFDFDFDFE2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDCD9D7D6D6D6D6D6D6D6D6D5D5D6D6D6D6D6D6D7D6D6D7D7D6D6D6D7D6D6D3D3D3D3D3D3D5D5D3D5D5D5D6D6D6D7D6D5D6D7D7D7D6D7D6D6D6D5D6D6D6D7D7D6D6D5D5D3D1D1D0D0D0CFCFCFCFCECFCFD0D0D1D1D1D1D1D0D1D3D3D3D1D0D0D1D0D0D0D1D1D3D3D5D5D5D5D5D3D1D1D3D3D3D1D0D0D0CFCFCFD0D0D0D0D1D1D1D3D3D3D3D1D1D3D3D1D1D1D3D3D3D5D3D1D0D0D1D1D1D1D0D0D1D0D0D1D3D3D1D0D0D0D0D1D3D5D6D6D6D6D6D6D3D6D6D3D3D6D3D1D1D1D3D1D1D3D3D1D3D1D1D1D3D5D5D3D5D5D5D5D5D3D3D3D3D5D3D3D5D5D5D5D5D5D5D6D5D6D6D6D6D6D6D6D6D6D3D3D3D3D3D5D6D6D6D6D6D7D6D6D6D6D5D5D6D6D6D7D7D6D6D6D5D5D6D7D7D6D6D7D9D9D9D9D9D7D7D681101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23000000000000000000000000000000000000000000000000367E7F81838486888A8C8F919396989B9EA1A4A7AAADAFB3B6B9BCBFC2C5C8CBCED1D4D7D9DCDEE0E2E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6F5F4F3F1F0EEEC5500000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBFBFAF9F9F9F9F9F8F7F6F5F5F5F3F1F0F0EFEDECE9E8E7E5E4E0E0DDDCDAD7D4D3D0CCCBC7C5C4C1BEBDB9B7B5B3B1ABB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3A5A7ABACAEB0B1B2B3B3B8B9BBBDBFC1C0C1C4C4C8C9C9C9C9CACBCED0D0D0D1D1D1D5D5D6D7D7D7D9D7D9DADADADADBDBDBDADBDCDEDEDEDCDCDBDCDCDADBDADADAD9D7D9D6D7D7D5D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3877173757777797C7E7F8185898A8E8F9296979B9FA2A5A7A8ACB0B1B3B5B8BCBFC1C3C5C9CACBCBCFD0D1D0D0D3D3D5D5D6D7D7D9D9D9DADAD9D9DADADADBDCDCDCDEDEDCDBDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1991010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000237E7F81838486888A8C8E919396989B9DA1A4A6A9ACAFB2B6B8BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E7E9EBECEEEFF1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1EFEEEC2F0000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFAFBFBFBFBFBFAFAF9F9F9F9F8F8F7F6F5F5F3F1F0F0EFEDECEBE8E7E5E4E1E0DDDCDAD8D6D3D0CECBC9C7C4C1BEBDBAB7B5B3AEB1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ACACACAEB1B2B5B8B9BCBDC1C3C5C8C9CACBCECFD0D3D3D5D5D7D7D9DADBDCDCDCDFDFE1E1E3E3E4E4E6E6E7E7E9EAEAE9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E7E7E7E7E7E7E6E7E6E4E3E2E1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3887576787A7C7D7F8285868A8D909293979B9CA2A5A7AAABAEB1B3B6BBBDC1C3C5C6C9C9CBCBCED0D1D3D3D6D7D7DADBDBDCDBDCDCDCDEDFDFE1DEDEDEDEDEDEDEE1DEDEDEDCDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDE96101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000000F7D7F80828486888A8C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBFC1C5C7CBCED0D3D6D8DBDDE0E2E5E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEEEC00000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFAFAFAFAFAFAFAF9F9F9F9F9F8F7F6F5F5F3F3F1F0EFEFECECE9E7E7E5E3E0DEDCDAD9D6D4D1D0CCC9C7C5C3C0BDBAB7B5B1B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0A8ABABAEB1B1B1B2B3B6B6B6BBBBBDBDBFC1C3C4C4C5C6C5C6C8C9C9CBCECBCECECED0D0D0D1D1D1D1D3D3D3D5D5D5D6D5D6D7D7D7D7D7D6D6D7D7DADADADADADAD9D7D7D5D5D3D3D0D0CECBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6F72757577787A7B7E818488888D9093969B9EA1A5A7AAACAEB2B5B8BBBCBFC1C5C9CACBCFD1D1D1D1D5D5D6D7D7D9D9DADADBDBDADADADADBDBDBDCDBDBDBDBDBDEDEDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DF9810101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000007D7F8082848588898B8E909395989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F3F5F5F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EFEECF00000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFAFAFAFAFAFAF9F9F9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECEBE8E7E5E4E0E0DDDAD9D7D4D1D0CCCAC7C5C3C1BDBAB7B5B1B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A0A2A5A5A7A7A8AAAAABACAEB1B2B5B6B6B8BBBDBFBDBFC0C0C1C3C5C6C9C9C9C9C9C9C9CACACACACBCBCECECFD0D1D5D5D5D5D5D6D5D5D6D5D6D6D6D6D6D5D5D5D5D5D5D6D6D5D3D3D1D3D1CFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3887475777A7C7E818286898A8E909394979B9CA1A5A7AAAEB0B3B6BBBCBFC1C4C5C9C9CACBCFD1D3D5D6D7DADADBDADCDBDBDCDEDCDCDEDFDEDEDEDCDEDCDCDCDBDEDBDADBDBDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDA941110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE300000000000000000000000000000000000000000000000000647F8082848587898B8E909295979A9DA0A2A5A9ABAEB2B4B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F0EFEEAA00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9F9FAFAFAFAFAF9F9F9F9F9F9F8F7F6F5F5F3F3F1F0EFEDECECE9E7E7E4E3E0DDDCDAD7D4D3D0CCCBC7C5C4C1BEBBB9B3B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1BCBDBFC0C1C4C5C5C6C9CACBCECFD0D0D1D6D7DADBDBDBDBDBDBDBDEDEDFE1E1E1E3E3E3E4E4E3E3E4E4E4E6E6E6E6E6E6E6E7E7E9E7E9E7E6E6E6E6E6E6E6E7E6E6E4E3E2E1DEDEDCDADBDAD9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38267696C6D6E71737576777A7C808385898D8E8F9294999C9EA2A5A7ABACB1B3B5B6B8B8B9BCBFC1C3C1C4C5C5C8C8C9C9CACBCBCBCBCECFCFD0D0D0D1D3D1D3D5D5D5D5D5D5D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E29B111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07000000000000000000000000000000000000000000000000507F8081838587898B8D909294979A9C9FA2A5A8ABAEB1B4B7BBBDC1C4C7CACDCFD2D5D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFEE8400000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9F9F9FAFAFAF9F9F9F9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDCDAD9D6D4D0CECCC9C7C4C1BEBDB5B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AAA7ABACAEB1B2B3B6B8BBBBBDBFC1C4C5C5C8C9CBCECECFD0D0D3D5D6D6D7D7D9D9DADADBDCDEDEDEDFE1E2E2E2E3E6E6E4E4E6E6E6E6E6E9E9E9E7E7E6E6E6E6E6E6E6E4E4E6E3E3E1DFDEDCDBDBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E70727577777B7C7F8185898A8C9093979B9EA2A2A5A7ABAEB1B5B6B9BDBFC3C5C6C9CBCED0D3D3D5D5D6D7D6D7D7D7D7DADBDADBDCDCDCDCDEDEDEDEDFDEDEDFE1E2E2E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDB9511111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000417F8081838587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC0C4C6CACDCFD2D5D8DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFED5E00000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F7F6F5F5F3F3F1F0EFEDECECE9E7E5E4E1E0DDDCDAD7D4D1D0CCCAC7C5C3C0BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AEA5A7A8ACAEB0B1B0B3B5B6B8B9B9BCBFBFC1C4C4C5C5C6C9CAC9CBCFCFCFD1D3D5D5D6D7D9D7D7D9D9D9D9D9DADADADADADADBDADADADADADADBDBDBDBDBDBDBDBDBDCDBDBDADAD9D7D7D6D6D3D1D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6F71737576787B7C7E818385898C8F9092969B9C9EA1A4A5A7AAACB0B3B5B8BBBDC1C3C4C4C6C8CACFCED0D3D7D7D7D7DADBDBDCDEDEDEDEDEDEDEDEDFE1E1E1DEE1DEDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDA93111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000002D7F8081838587898B8D8F929497999C9FA2A5A8AAAEB0B4B7BABDC0C3C6C9CDCFD2D5D7DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EFED380000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDCDAD8D6D3D0CCCBC7C5C3C1B6B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2AAACACAEB1B2B2B3B5B5B6B9BBBFC0C1C3C4C6C6C6C8C9C9CACECED0D0D3D1D3D5D3D5D6D9D9D7D9DADBDBDCDEDEDCDBDBDCDEDEDEDEDFDFDFDFE1E1E2E2E1E1E1DEDEDEDEDCDADBDBDBDAD7D9D9D7D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846C6D6F717577787B7D7E8185898C8D8E9294979C9FA2A7A8ACB0B2B3B6BBBDC0C3C5C5C9C9C9CAD0D0D1D3D3D5D7DADBDEDEE1E1E1E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E4E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DA9211111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000197E8081838586898A8D8F929497999C9FA1A5A8AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDEE1E4E5E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F0EFED1D00000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9F8F8F7F6F5F5F3F3F1F0EFEDECEBE8E7E5E4E1E0DDDAD9D7D4D1D0CCC9C7C4C0B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2ACAEB0B1B2B2B3B3B5B6B9B9BBBBBCBFC0C3C3C4C3C5C5C6C8C8C8CACECECBCBCECECECECECECECFCFD1D0D1D3D3D1D3D3D5D6D7D7D7D7D7D7D7D7D7D7D7D7D9D7D7D9DADADADAD9DADAD7D6D7D7D5D5D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38671757678797C7E818383888C8E90929499999C9FA4A5A7AAAEB1B5B8B9BDC0C1C3C5C6C9CBCBCFD1D0D1D3D3D5D5D7D9D9DBDCDEDEDEDFE1E1E3E3E3E3E2E4E4E4E4E3E2E1E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E49B1111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000057E8081838586898A8D8F919496999C9FA1A4A7AAADB0B3B6B9BDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F6F5F4F3F2F0EFED00000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDCDAD8D6D3D0CCCBC7C5BCB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2AAAEB1B1B2B5B5B8BBB9BBBCBDBFBFC3C5C6C6C9CACACBCFCFCFD0D0D1D1D3D5D5D5D7D5D7DADADBDADBDEDEDEDEDFDFE1E2E3E2E2E2E2E1E1E1DEDEDEDCDCDCDBDADADAD9D9D7D7D6D7D6D5D3D5D1D0CFCEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D7073757677787B7C808386898A8C909294979C9EA2A4A7AAACB1B3B8B9BDBFC1C3C5C8CACBD0D0D1D3D6D9D9DADADADCDEDFDEDFE1E1DFE1E1E1E2E3E3E3E3E4E4E4E4E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDB94111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE00000000000000000000000000000000000000000000000000798081838486888A8D8F919396999B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F3F2F0EEC600000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F8F8F7F6F5F5F3F3F1F0EFEDECECE9E7E5E4E1E0DDDAD9D6D4D1CECCC9C5B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2A9ACACAEAEB0B1B2B2B3B5B5B6B8BBBCBFC0C1C3C3C4C5C6C8C9CACACACBCECECECED0D1D3D5D5D6D6D7D7D7D6D6D7D7D7D7D6D6D6D5D5D5D6D7D6D7D9D9D7D7D9D9D9D7D7D7D7D6D6D5D6D5D3D3D3D0CECECBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6C6E6F7175777B7C7E8184898A8A8E9292969B9CA1A4A7A8ACAEB0B2B6BBBDBDC0C3C6C8C9CACECECFD0D1D5D6D7D7DADADBDCDEDEE1E1E1E1E1DFDFDEDFDFDEDFDFE1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E79E11111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000657F81838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCBFC2C5C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F3F2F0EEAA00000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDCDAD8D4D3D0CCCAC3B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2A9ACAEAEB0B2B3B5B6B6B8B9BCBDBCBCBDBFC0C1C4C4C4C5C5C5C5C8C9CACACACBCACACBCBCECECECECECECECFCFD0D0CECECECBCECECBCECFD0D0D0D0D0D1D3D1D1D3D3D5D5D7D5D5D5D0CFD0CFCFCBCECECECEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B386717273767677787C7C7F8285898C8E909496999C9EA2A5A7ABACB1B1B3B6B8BCBDBFC1C4C5C8C9C9CACECFD0D1D3D7D7D7D9DADADAD9DADADADADADADADADBDCDEDEDEDEDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9921111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19000000000000000000000000000000000000000000000000517F81838486888A8C8E919396989B9EA1A4A6A9ADAFB3B6B9BCBFC2C5C8CBCED1D4D7D9DCDEE0E2E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F3F2F0EE8E0000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F8F8F9F9F9F9F9F9F9F9F9F9F8F8F7F6F5F5F5F3F1F0F0EFECECE9E7E5E4E1E0DDDAD9D6D4D0CECBBFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2AAB1B2B5B6B8B9BCBDBCBDBFBFBFC0C3C4C4C4C6C8C8C9C9CACBCACACBCECECFD0CFD0D1D0D1D1D1D1D3D3D3D5D5D5D6D5D5D6D5D6D7D7D7D7D9D7D7D7D9DADBDBDADADADADAD9D7D9D7D7D5D5D1D1D1D1D0CFCECBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6C6E6E717376787A7D8083858A8C8F9396999C9EA2A5A7AAACB0B2B6BBBDC1C3C5C6C8C8CACACECED0D1D1D5D5D7D7D6D6D7D7D9DADADBDADADADADADCDEDEDFE1E1E2E1E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E29B111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6B390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F20821A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000467F81828486888A8C8E919396989B9DA0A4A6A9ADAFB3B6B9BCBFC2C5C8CBCED0D3D6D9DCDEE0E2E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F3F2F0EE680000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F8F8F9F9F9F9F9F9F9F9F9F9F8F8F6F6F5F5F3F3F1F0EFEDECEBE8E7E5E3E0DEDCDAD8D4D3D0CCBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2AAB2B1B5B5B6B8B9BBBBBDBFBFC0C1C1C4C4C5C5C8C8C9C9CBCFD0D0CFD0D1D5D6D6D7D9D9DADADCDCDEDEE1E1E1E2E1E1E1DFE1DEDEDEDCDBDBDEDEDEDEDEDEDEDEDCDCDEDEDEDEDFDEDEDFDBDBDBD9D7D7D7D7D7D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B388757676787B7D7F818486898D909296979C9EA2A5A7ABB0B3B6B8B9BDC0C1C5C8C9CBCED0D3D5D6D9D9DBDEDFE1E2E3E6E6E7E7E7E7E9EBEBECEBECEBEBEAECECECECEEEFEFEFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1DCDBDDDAD9D9D9D9D9D9DAD9D9D9D6D7D9D9D9D9D7D9D9D7D6D6D5D5D3D3D3D1D1D1D3D3D3D3D5D6D5D5D5D5D6D7D6D6D5D5D5D5D5D5D3D3D3D3D3D1D1D1D1D1D1D1D1D0D0D0CFCFCFCFCECCCCCCCCCECECECECFCFCECECCCECECECFCFCFD0D0D0D0D0CFCFCECBCBCECFCECBCBCBCBCBCCCAC9CACBCBCACACACBCBCBCBCBCBCECBCECFCFCFCFCFCFCFCFD0D0D0D1D1D0D0CFCFCFCFD0CFCFD0D0CFCFCFCFCFCFD0CFCFCFCFCFCECECFD0D1D1D1D1D1D3D5D5D5D5D3D3D3D3D3D3D3D5D5D5D3D1D1D0D0CFCFCFCFD0D0D0D3D3D3D3D0D1D3D1D1D1D0D1D3D3D5D5D3D3D3D3D5D5D3D5D6D5D5D6D6D6D6D7D7D7D7D7D6D7D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D6D6D6D6D6D6D5D6D6D7D6D7D7D6D6811111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBD82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB58A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000327F80828486888A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BCBFC2C5C7CBCED0D3D6D9DBDEE0E2E5E7E9EAECEEEFF1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6F5F4F3F1F0EE550000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F9F8F8F7F6F5F5F5F3F1F0F0EFECECE9E7E5E4E1E0DDDAD9D6D4D0CDBAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6B8BBBBBDBFBFBFC0C1C3C5C5C6C8C9CACBCFD0D0D1D3D3D3D5D6D7D9D9DADADBDCDCDBDEDEDEDEDEDEDEDFDFE1E1DEDEDEDFDFDFDFDEDEDFE1E1DEDEDEDEDEDEDEDCDBDBDADAD9DADADADAD7D7D5D5D3D3D0CFD0CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B382696C6F71737577787B7D7F8185898A8E9093979B9C9FA2A5A7AAACB1B3B6B9BDBFC1C4C5C6CACBCECFD0D1D3D5D7D9DADADCDEDEDEE1E1E1E1E1E3E3E1E1E2E3E3E3E4E6E7E6E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E336282828282829292929292929292929282828282828282828282828282828282828282828282727272727272727272727272727262625252525252525252525252525252425252525252525252424242424232323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191919171717171717171717171717161616161616151515151515161414141414141415151515141414141414141414141313131313131313131313131313111212121212121211111111111111111111111111111010101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000001E7F80828486888A8B8E909395989B9DA0A3A6A9ACAFB2B5B8BBBFC1C5C7CACED0D3D6D8DBDDE0E2E5E6E9EAECEEEFF1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1EFEE2F00000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F9F8F8F7F6F5F5F3F3F1F0EFEDECEBE8E7E5E3E0DEDCDAD8D4D3CCB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2AFB2B5B6B8B9B9BBBBBCBDBFBFBFC1C3C4C3C3C5C8C8C9C9C9CBCBCECFD0D0D1D1D1D1D3D5D5D5D7D7D7D7D6D7D9D9DADAD7D9DADAD9D9D9D9DADAD9D7D7D7D6D5D5D5D6D5D5D3D3D1D1D0D0CFCFCECECBCECBCAC9C9CAC9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6F727576787B7E818187898E9292979B9CA1A4A5A8AAAEB1B5B9BBBFC0C3C5C6CACBCFD1D3D5D7DADADCDEDFE1E1E1E1E3E2E4E4E6E6E6E7E7E9E9E9E9EAE9EAEAEAEAEAE9E9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDED7282929292929292929292929292929292929292929292828282828282828282828282828282828282827272727272727272727272727262626252525252525252525252525252425252525252525252424242424232323232323232323232323232323232322222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171717161616161616151515151515161414141414141415151515141414141414141414141313131313131313131313131313111212121212121211111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2082BDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000197F8082848588898B8E909395989A9DA0A3A6A9ACAFB2B5B8BBBFC1C5C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3F1EFEE13000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F8F8F7F6F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DDDCD9D7D4CAB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2AEB1B3B3B5B8BBBBBDBDBDBFC1C3C4C4C5C6C8C8C8C9CACBCECFCFCFCFCFCECECFCFCFD0CFD0D0D0CFD0D0D1D5D6D6D6D7D7D6D7D7D9D9D7D6D7D9D7D7D7D7D9DADADBDBDADADAD9D7D7D7D7D7D6D5D3D3D0D0CFD0CFCECECEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B382696C6E6F727577787B7D7F8288898A8E9094979B9B9FA2A2A5A7AAAEB2B6B9BBBDC0C3C4C4C6C8C9CACFD0D0D3D5D5D6D6D6D7DADBDBDBDBDCDEDEDEDEDEDEDEDEDEDFDFDEDFE1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEBC29292929292929292929292929292929292929292929292929292828282828282828282828282828282828282727272727272727272727272726262525252525252525252525252525252525252525252524242424232323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171717161616161616151515151515161414141414141415151515141414141414141414141413131313131313131313131313111212121212121211111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBD82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB5BDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE000000000000000000000000000000000000000000000000007F8082848588898B8E909295979A9DA0A2A5A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F3F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2F1EFEE00000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F9F8F8F8F7F6F5F5F5F3F1F0F0EFECECE9E7E5E4E0DEDCDAD9D6C8B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1B4B8B9B9BDBDC0C0C1C1C1C1C3C3C3C3C5C8CACACACBCECFD0D0D1D3D0D1D3D5D5D6D6D5D5D5D5D6D6D7D7D7D7D7D7D7D7D7D7D7D9DADBDBDCDCDBDBDBDBDBDADADBDBDBDADAD9D9D9D7D6D6D6D5D5D5D3D3D5D3D1D1D0D1D1CFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856E71737778787B7E81818487898C8D8F9294979B9B9FA2A4A5A7ABAEB2B3B6B9BBBCBFC0C3C4C4C8C8C9C9CBCED0D0D1D3D3D3D3D5D5D7D9D7D7D9D9DADADAD9DADADBDBDBDBDAD9D9DAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7A7292929292929292929292929292929292929292929292929292929292929282828282828282828282828282828282727272727272727272727272726262525252525252525252525252524252525252525252424242424232323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191919191717171717171717171717161616161616151515151515161614141414141414151515141414141414141414141413131313131313131313131313111212121212121211111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED000000000000000000000000000000000000000000000000007A8082848587898B8D909295979A9DA0A2A5A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F3F2F1EFC800000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F9F8F8F7F6F6F5F5F3F3F1F0EFEDECEBE8E7E5E3E0DEDCDAD7CAB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFB2B5B6B5B8B9BBBCBDC0C1C3C3C4C6C6C8CACACACBCBCECFD0D0D0D0D3D5D6D6D9D9D7D9DADADADAD9DADADADBDCDCDCDCDBDADADCDEDEDEDEDEDEDEDBDEDEDEDEDEDEDCDBDCDCDEDEDCDADAD9DADADCDAD9D7D7D5D5D5D5D5D3D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F72737576787C7F838386898D909294999C9FA2A4A7AAACAEB2B5B8BBBDC1C3C4C8C9CBCBCECED0D3D3D5D5D9D9DADADADBDCDCDEDFE1E1E1DEE1E1DEDFDFDFE1E1E1E1E1E2E2E2E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E38D29292929292929292929292929292929292929292929292929292929292929292928282828282828282828282828282827272727272727272727272727262625252525252525252525252525242525252525252524242424242323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717171616161616161515151515151614141414141414151515151414141414141414141413131313131313131313131313131212121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2082BDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000668081838587898B8D8F9294979A9C9FA2A5A8ABAEB2B4B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF1F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EFBE0000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F8F8F8F7F6F6F5F5F3F1F0F0EFEDECE9E8E7E4E1E0DDDAD9CAB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1B9BCBDBFBFC1C3C4C5C5C8C9C9CBCACACBCBCECFCFCECECFD0D1D3D3D6D6D7DADADADADEDCDEDEDEDEDEDEDFE1E1E1E1E1E3E2E1E3E1E1E1E1E1E2E1DFE1DFDFE1E2E3E3E3E2E3E3E3E4E4E4E3E3E3E2E2E2E2E2E1DFDEDBDBDADBD9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F72757777787C7F8185888A8E909296999B9EA2A4A7AAACB1B2B6B9BCBFC3C4C6C9C9CECFD0D1D3D5D6D7D9DADBDBDBDCDFE1DFE1DFE1E2E2E1E2E2E3E4E4E3E3E3E3E3E3E4E4E6E6E6E6E6E4E6E6E4E3E3E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D96F292929292929292929292929292929292929292929292929292929292929292929292929282828282828282828282828282828272727272727272727272727262625252525252525252525252525242525252525252524242424242323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717171616161616161515151515151614141414141414151515151414141414141414141413131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBD82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB5BDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23000000000000000000000000000000000000000000000000568081838587898B8D8F929497999C9FA2A5A8ABAEB2B4B8BBBEC1C4C7CACDCFD2D5D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2F1EF8F0000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F8F9F9F9F8F8F8F8F7F6F5F5F5F3F1F0F0EFECECE9E7E5E4E0DEDCDACBB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2ABB1B3B3B5B5B6B9B9BBBCBFBFBFBFC0C1C3C3C5C8CACACACBCECECECFD0CED0D1D0D0D0D1D1D1D1D3D5D3D5D3D5D5D7D9D9D7D9D9D9DADAD9D9D7D9DADADADADBDBDBDBDBDBDCDBDBDCDBDBDBDADADADAD7D7D6D5D6D6D7D6D5D5D5D3D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846D6F71737675787A7D7E8185898C8C8F9296999C9CA2A5A8ACAEB1B5B6BBBDBDBFC1C3C5C8C8C9C9CACED0CFD0D1D3D3D5D6D7D7D9D9DADBDBDADADBDBDADADBDCDEDEDEDEDCDEDEDEDFDEDCDCDCDEDEDFDFE1E1E1E1E2E1E1E2E2E2E3E3E2E2E1DFDFE1E1E1E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEEC6029292929292A2A2A2A2A2A2A2A2A292929292929292929292929292929292929292929292929292828282828282828282828282828272727272727272727272727262625252525252525252525252525252525252525252524242424242323232323232323232323232323232322222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717171616161616161515151515151614141414141414151515151414141414141414141413131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000004C8081838587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BBBDC1C4C7CACDCFD2D5D8DBDDDFE2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EF850000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F8F8F8F8F8F8F8F7F6F6F5F5F3F3F1F0EFEDECEBE8E7E5E3E0DEDCCDB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1B1B5B5B9BBBBBDBDBDBFC1C3C4C4C5C4C6C6C6C9C9CACBCECBCBCECECECECECECECECECECFCECECFCFD0D1D5D3D3D5D6D5D6D7D7D7D7D6D6D7D6D6D6D7D9DADADBDBDADADADAD7D7D9DADAD7D6D6D6D5D5D5D5D5D3D3D5D3D1D1D3D1D0CECEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6E71757577797C7E818286888A8C8F9093979BA1A2A5A7ACB0B1B2B5B8B9BCC0C1C4C5C9C9CACBCECFD0D3D5D5D6D7DADADADBDBDCDBDBDCDEDEDEDEDFE1E1E1E1E1E3E3E2E2E1E1E1DFDFDFDEDFDFE1E1DFE1E1E1DFDFDFDFDFDFE1DFDFE1DFDEDEDEDEDEDEDEDEDEDEDEDFDEDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDE4E292A2A2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A2A2A29292929292929292929292929292929292929292928282828282828282828282828282727272727272727272727272626252525252525252525252525252525252525252525242424242323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191917171717171717171717171716161616161515151515151614141414141414151515151414141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2082BDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000378081838587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BBBDC1C4C6CACDCFD2D5D8DBDDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EF5F00000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F8F7F6F6F5F5F3F1F0F0EFEDECE9E8E7E4E1E0DDD1B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4BFC1C3C5C5C6C6C8C9CACBCECFD1D1D1D3D5D5D6D9D9DADADADADBDADCDCDEDEDFE1E1E2E3E3E3E4E3E6E6E6E6E6E6E4E3E4E6E6E6E6E6E9E7E9E9EAE9E7E9EAE9E9E7E6E6E6E7E7E6E6E6E7E4E4E3E3E2E1E1E1DEDEDCDEDBDAD9D6D7D5D3D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846C6F6F72737677787B7E8184858A8A8E9093969B9CA1A4A5A7ACB0B2B6B8B9BBBFC1C1C4C5C8C9CACBCFD0D1D5D5D7D7D9D9DADADBDBDBDCDBDCDBDBDBDBDCDEDEDEDEDEDFDFDFDEDFE1E1E1E1E1DFE1E1E1E2E3E2E1E1E1E2E1E2E3E2E2E1E2E3E4E6E6E4E3E3E4E4E4E4E6E6E6E6E4E4E6E4E3E4E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDB2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A2A2929292929292929292929292929292929292929282828282828282828282828282727272727272727272727272626252525252525252525252525242525252525252524242424242323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717171616161616161515151515151614141414141414151515141414141414141414141413131313131313131313131313111212121212121211111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBD82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB5BDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75000000000000000000000000000000000000000000000000328081838586898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC1C4C6C9CDCFD2D5D8DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EF5F0000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F7F7F6F5F5F5F3F1F0F0EFECECE9E7E5E4E0DED6B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B7C0C1C1C3C3C4C5C5C6C6C9CACBCBCECECFCFCED0D0D0D1D3D3D3D5D7D7D7D9D9DADADADADBDADADBDBDBDBDEDEDEDEDEDFDEDCDBDAD9D9DADCDEDEDEDCDCDEDFDFDFDFDEDEDEDEDEDEDEDBDBDBDADADADAD9D9D7D7D7D7D3D3D3D1D3D5D5D3D3D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846C6E71737677787B7E81828587898D8F9294979B9EA1A5A7ABAEB0B2B6B9BBBDC1C4C6C9CBCECFD1D3D3D3D5D5D6D6D6D6D7D7D7D7D7D7D9D7D7D7D9DADAD9DAD9D9D9D9D9DAD9D9D9D9D7D9D9DADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADADBDBDBDBDAD9D9D9D7D6D6D6D6D7D9D9D9D7D9D9D9D9D7D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1DC2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A2A2929292929292929292929292929292929292828282828282828282828282828272727272727272727272726262525252525252525252525252425252525252525242424242423232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717171616161616161515151515151614141414141414151515151414141414141414141413131313131313131313131313111212121212121211111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000238081838586898B8D8F929497999C9FA1A5A8ABAEB1B4B7BABDC0C4C6C9CCCFD2D5D7DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EF2F00000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F7F6F6F5F5F3F3F1F0EFEFECEBE8E7E5E3E0DCBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B9BFBFC0C1C4C4C5C5C5C6C8C9CACBCBCBCFD0D3D1D1D3D1D3D3D3D5D6D5D5D6D6D6D7DADADBDCDBDEDEDFE1E1E2E1E2E2E2E2E2E3E3E4E3E3E1E2E3E4E3E3E2E3E3E3E3E3E3E3E1E1E2E1DFDFDFDEDCDCDCDCDADADBDCDEDBDBD9DADAD9D7D9D7D7D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38772757677787B7C7F818386898C8F909496999C9FA1A5A8ACB1B2B5B6B9BBBDC0C4C6CACBCED0D1D1D6D6D7D7D9DADADADBDCDCDEDEDEDEDFDFDFDFDFDEDEDEDEDCDADBDBDCDCDCDCDBDBDBDBDBDBDBDBDBDEDCDBDEDEDBDCDCDEDCDBDADAD9DAD9DADADADADADADADBDCDBDEDBDADBDEDEDEDCDEDBDCDBDADBDCDCDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6B72B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A29292929292929292929292929292929292928282828282828282828282828272727272727272727272726262525252525252525252525252525252525252525242424242323232323232323232323232323232323222222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717171616161616161515151515151614141414141414151515151414141414141414141413131313131313131313131313131212121212121211111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F2082BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000198081838586898A8D8F929497999C9FA1A5A8AAAEB0B4B7BABDC0C4C6C9CCCFD2D4D7DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EF2F000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F7F6F6F5F5F3F3F1F0EFEDECEBE8E7E5E3E0C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9BBBBBDBFBFBFC1C3C5C5C5C8C9C9CBCBCACACBCBCECFCECECBCED0D0CFD0D0D1D1D1D3D3D5D5D5D5D7D7D7D7D7D9D7D7D9DADBDBDBDBDADBDBDCDEDEDBDBDBDEDEDFDFE1E1E1E1E2E1E1E2E2E2E2E2E1E1DFDEDEDFDFDFDFDCDBDCDCDEDEDADBDADAD9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3887577787B7C7E818489898D8F929697999B9CA1A4A5A8ACB0B2B3B5B9BBBDC1C3C5C5C9C9CACECFD0D1D3D5D6D7D9D9D9D9DADADADADBDCDEDEDEDEDEDEDFDFDEE1E1E1E1E1E2E2E2E1E1E2E2E2E1E1E2E2E1E1E1E3E3E3E4E3E3E2E2E1E1E1E1DFDFDFE1E1E1E1E3E3E2E2E2E2E2E2E2E1E1E2E3E4E6E7E6E4E4E4E6E6E7E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBBB2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A2929292929292929292929292929292929282828282828282828282828282727272727272727272727262625252525252525252525252525252525252525242424242423232323232323232323232323232323232222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191917171717171717171717171616161616161515151515151614141414141414151515151414141414141414141413131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD82200F0F0F0F0F0F0F0F135DB5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000000F8081838586898A8D8F919497999C9FA1A4A8AAAEB0B4B7BABDC0C3C6C9CCCFD2D4D7DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EF09000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F7F6F6F5F5F5F3F1F0F0EFEDECE9E8E7E4E1C8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B8BFC0C3C1C3C3C5C5C8C9CBCBCBCECBCFD1D1D3D3D5D3D3D3D5D3D3D5D5D5D6D7D7D7D9D7D9D9D9D9DADBDBDADBDADBDBDBDBDCDEDEDEDEDEDEDEDEDEDFDFDFE1E1DEE1E1DFDFDFDFE1E1E2E2E3E4E3E3E2E2E2E1E1E1DFDFDEDCDBDCDCDCDADADADAD9D9D7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866E7173767777797B7E81838589898C8F9294979C9EA2A5A7ABB0B0B2B6B8BCBDBFC1C3C6C6CACACBCED0D1D1D3D5D7D7D7D6D7D6D9DAD9DADBDBDBDCDCDBDEDEDEDCDCDEDCDBDEDBDEDEDCDCDBDBDBDEDCDBDBDBDADBDADADADBDADADADBDEDEDCDBDBDCDEDEDEE1DFDFDFE1E1E1E1E2E3E2E3E4E3E3E2E1E1DFDEDEDEDCDBDEDEDEDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E39C2B2B2B2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A292929292929292929292929292929292828282828282828282828282727272727272727272727262625252525252525252525252525252525252525252424242423232323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191917171717171717171717171716161616161615151515151616141414141414141515151414141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB55D130F0F0F0F0F399FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3000000000000000000000000000000000000000000000000008081838486888A8D8F919496999C9FA1A4A8AAADB0B4B7BABDC0C3C6C9CCCFD2D4D7DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0EF00000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F7F6F6F5F5F5F3F1F0F0EFECECE9E7E5E4D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9B9BBBDBDBDBFBFBFC0C0C1C3C4C4C5C5C6C9C9C9C9CACBCED0D0D3D1D3D3D5D6D7D7DADADADBDEDBDBDBDBDBDADADADAD9D9DADBDCDCDBDBDBDBDBDBDEDEDEDEE1DEDEE1DEDEDFDEDEDEE1E1E1DFDEDEDEDEDEDEDEDCDCDCDCDEDCDBDEDEDCDCDADBDAD9D9D7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38A7576777A7C7D818285898A8D909396999B9FA2A5A8ACB1B2B5B9BBBDC1C4C6C9CBCFD0D0D3D5D7DADBDEDEE2E3E3E4E4E6E9EAE9E9E9E9EAEBEBECECEBEBECEEEEEEEEEEEFF1EFEFEFF1F1EFEFEFF1EFEFEEEEEFEEECEEECEEECEEEFF1F1EFEEECECEBEAEAEAEBECEAEAEBEBEBEBEAE9E9E9E9E9E9E9E9E9E9E7E7E9E9E9E9E9E9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDF8B2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A292929292929292929292929292929292828282828282828282828282727272727272727272727262625252525252525252525252524252525252525252424242423232323232323232323232323232323232222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919191917171717171717171717171716161616161615151515151516141414141414141515151414141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD9F390F0F2082BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000007581838486888A8D8F919496999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0C900000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F7F6F6F5F5F3F3F1F0EFEFECEBE8E7E5E0B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B1B5B6B9B9BBBBBBBDBFC1C1C3C4C6C8C9C9CACACACBCFCFD0D0D1D1D1D1D3D5D5D5D5D7D5D6D6D7D7D7D7D9D9DAD9D9D7D6D7D7D7D7D9DADAD9DADADADADADBDADADAD9D9D7D7D7D9D9D9DADADBDADBDCDCDEDEDEDEDCDCDCDCDCDBDCDBDCDEDEDEDCDBDAD9D6D6D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F72727677797B7C81838688898D8F9294979B9CA1A2A7A8ABAEB0B1B2B3B6B8BCBFC3C4C6C6C9CACECFD0D1D0D1D5D5D6D6D7D6D7D6D7D7D9D9D9D9D7D7D7D7D7D7D7D7D9DADBDBDCDBDADADADADBDADADBDADAD9D9D9D9D9D7D6D6D6D6D6D7D7D7D7D7D7D7D7DADBDBDADBDBDBDADADAD9D7DADADADADBDADADADADBDEDEDEDEDCDEDEDEDEDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1762C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A29292929292929292929292929292928282828282828282828282827272727272727272727272626252525252525252525252525252525252525252424242424232323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171716161616161615151515151516141414141414141515151514141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8264B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070000000000000000000000000000000000000000000000006681838486888A8D8F919396999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDEE1E4E5E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F0BF00000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F7F7F6F6F5F5F3F3F1F0EFEDECEBE8E7E5C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B2B9BBBBBDBDBDBFC1C1C3C3C4C4C5C5C5C6C8C9C9CAC9C9C9CAC9C9CACACACAC9CACACAC9CACBCECFD0D0D0D1D1D1D1D3D5D5D3D3D3D5D3D5D5D6D6D7D7D9D9D9D9D9D7D7D7D7D9D9D7D6D6D6D5D5D5D6D6D5D6D7D7D7D7D7D7D7D7D6D7D7D5D3D3D5D3D3D3D1CFCBCBCAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6C6E6F717577797C7E818387898A8E909296999C9FA2A5A7ABACAEB2B5B9BBBDBFC3C5C6C8CACACBCECFD0D3D3D5D7D7D9DADADBDCDFDFDFDFDFDEDEDEDEDEDCDEDEE1E1DEE1E1E1DEDEDEDEDEDEDFDEDEDFDEDEDEDEDEDEDEDEDCDEDEDEDEDEDCDEDEDEDBDEDCDEDEDCDCDCDEDEDEDEDEDFE1E1E1E1E2E1E2E1DFDEDFDEDEDFDEDCDBDBDCDEDBDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3772C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A29292929292929292929292929292928282828282828282828282827272727272727272727272626252525252525252525252525252525252525252424242423232323232323232323232323232323232222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171716161616161615151515151516141414141414141515151514141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000006681838486888A8D8F919396999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDEE1E3E5E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F0BF0000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F7F8F8F8F8F7F6F6F5F5F5F3F1F0F0EFEDECE9E8E7D2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4BABDBFC1C1C4C5C6C9C9CAC9CACBCACBCBCBCECACBCECFD0D1D1D3D3D3D5D6D7D7D9D7DADADADADADADBDBDBDBDCDEDCDEDFDEDFE1E1E1E1E1E3E4E4E6E4E4E4E4E4E4E4E3E3E6E4E6E6E6E7E6E7E7E7E9E9E7E7E7E7E7E7E4E6E6E6E4E4E3E3E4E6E3E3E3E2E1DEDCDBDAD7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6F72757677787B7C7F818489898D909297999B9EA1A5A7ABAEB2B3B6B9BDC0C1C5C6CACACED0D0D3D3D3D5D5D5D6D6D5D5D7D9DADADADADADADBDBDEDEDEDEDFDEDEDFDEDEDEDCDCDEDFDFDFDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEE1E1E1E2E1E2E1E1E3E2E1E1E2E2E2E2E2E1E1E1E1E1E3E3E3E2E2E2E3E3E3E3E3E3E3E3E2E2E3E3E3E3E3E3E2E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEB522C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A292929292929292929292929292929282828282828282828282828272727272727272727272626252525252525252525252525242525252525252524242424232323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171717161616161615151515151516141414141414141515151514141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000005181838486888A8D8F919396999B9EA1A4A7AAADB0B3B6B9BDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F08F00000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F7F7F8F8F7F7F6F6F5F5F5F3F1F0F0EFEDECE9E7E0B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4BAC1C1C3C5C6C8CAC9CACBCED0CECFD0D0D1D1D5D6D5D7D6D7D7D7DADADADCDCDCDEDEDEDEDFE1E1E1E1DFE1DEE1E1E2E1E3E3E3E4E6E6E6E4E6E6E6E6E6E7E6E6E3E4E6E6E6E6E6E7E7E9E9EAE9E7E7E9E7E9E6E6E6E6E6E6E4E4E4E4E3E3E2E2DFDEDEDEDADAD9D9D7D6D3D0D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6F71757677787C7D818186898C8D909296999B9EA1A5A7AAACAEB2B6B8BCBDBFC0C3C5C5C8C9CACBCECFD1D0D5D6D6D7D9D9DADADADADBDBDBDADCDBDADADADBDCDBDBDBDCDEDEDEDBDEDEDFDFDFDFDEDEDEDEE1E1E1DEDEDEE1DEE1E1E1E1E1E1E2E3E4E4E3E2E2E3E3E3E3E4E6E6E4E3E3E4E3E3E4E3E4E6E6E6E4E4E6E4E4E3E3E2E3E3E2E1E1E2E2E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDE4E2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A2929292929292929292929292929282828282828282828282828272727272727272727272626252525252525252525252525252525252525252424242423232323232323232323232323232323232222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171717161616161616151515151516161414141414141515151514141414141414141414131313131313131313131313131312121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004C81838486888A8C8F919396989B9EA1A4A7AAADB0B3B6B9BDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F08F00000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F7F6F6F5F5F5F3F1F0F0EFECECE9E7C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5B6C0C1C3C5C5C6C8C8C9C8C9C9C9CACBCED0D0D0D0D0D1D3D3D5D6D7D7D7D9D9DAD7DADADBDADADBDCDEDEE1E1E1DFE1E1E1DFE1E1E3E3E1E2E2E1E1E1DFDFE1E1E2E2E3E1E1E3E4E4E6E6E6E6E7E7E7E6E4E4E3E3E2E3E3E3E3E1E1E1E2E1E1E1DFDCDBDADBDADAD7D7D6D5D5D0D0D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38265686A6C6E70737477797C7E81828588898E9093979B9E9FA1A5A7A8ACAEB0B3B5B6B8BBBDBDC1C3C4C5C6C8CBCECECFD0D0D0D0D1D3D3D5D5D5D5D6D5D7D9D7D7D7D7D7D7D5D6D7D7D7D9D9DADADADADAD9D9DADBDCDCDCDADCDCDBDAD9D9DADADBDAD9DADBDBDBDADADBDBDBDADADADADADBDBDCDEDEDEDBDCDBDBDBDBDBDADBDADAD9D9DADBDADADADADADADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7322C2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2A2A29292929292929292929292929292828282828282828282828282727272727272727272726262525252525252525252525252525252525252524242424232323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717161616161616151515151515161414141414141415151514141414141414141414131313131313131313131313131312121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004C81838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F08600000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F6F5F5F3F3F1F0F0EFECECE8DBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCBFBFBFC1C1C0C0C1C1C4C4C4C5C4C6C5C6C8C9CACACED0D0D1D1D3D3D3D6D7D9D7D9DADADADADBDCDEDEDCDCDEDCDEDEDEDEDEDEDFDFDFDEDEE1DFDFDEE1E1E1E2E2E1E1E1E1E1E1DFE1E1E1DFE1E2E2E1E1E1E2E2E2E2E1E1DFDFDFDEDEE1DFE1DEDEDEDADAD7D5D5D3D5D5D5D3D1D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B382696B6E6F727375777B7E818386898C8F9294979B9C9FA2A5A7AAACB0B2B6B8B9BBBCBFC0C3C5C8CACACECED0D3D3D3D3D5D6D7D6D6D7D7D9DAD7DADBDBDCDBDCDFDFDEDEDFDFE1E1E2E1E1E1E1E1E1DFDEDEDCDBDBDBDADADADAD9D9D7D7D7D9D9D9D7DAD7D7D7D7D7D7D7D7D7D7D6D7D7D9D9D9D9D9D7D7D7D7D9DADADADADADBDBDAD9DADADBDBDBDBDAD9D9D9D7D6D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDC2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2A29292929292929292929292929292828282828282828282828282727272727272727272726252525252525252525252525242525252525252424242424232323232323232323232323232323232222222222222020202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717161616161616151515151515161414141414141415151514141414141414141414141313131313131313131313131311121212121212121111111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000003381838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F06000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3F3F1F0EFEDECEBE8BFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B8BBBBBCBBBBBCBCBDBDBDBDBDBDBDBFC0C3C3C4C5C5C6C6C6C8C8C9C9C8C8C8CACACACACBCBCECECFCFD0D0D0D0CECFD0D0D1D0CFD0D0CFD0CFD0D1D0D1D3D3D3D5D6D6D6D5D5D7D7D6D6D6D7D7D7D9D7D7D6D6D7D7D7D7D5D5D7D6D6D7D7D7D6D5D5D5D3D5D6D6D6D6D5D5D5D3D0D0CFCECAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846D6F70727677797B7D80818386888D8F9096999B9EA2A4A7ACAEB1B2B5B6B9BBBDBFC0C3C5C9C9CACBCFD0D0D0D1D3D3D6D7D7D7D9D7D9D9D9DADADBDBDADBDBDBDCDBDADBDBDCDADCDBDCDCDBDBDBDCDCDCDBDCDEDFDFDEDFE1DFE1DFDEDCDEDCDCDEDBDAD9D9DADBDADAD9DAD9D9DADADADADADBDCDCDBDBDBDBDADADADCDEDEDEDEDCDEDEDEDFDEDCDCDCDEDEDFDFE1E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E42D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2A2A292929292929292929292929292928282828282828282828282727272727272727272726262525252525252525252525252525252525252524242424232323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717161616161616151515151515161414141414141415151514141414141414141414141313131313131313131313131311121212121212121111111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970000000000000000000000000000000000000000000000003381838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F06000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3F3F1F0EFEDECEBD2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BFC4C5C5C5C5C6C8CAC9CACACBCBCBCBCECECECECECFCECBCECECECECECECECECECFD0D1D1D1D0D3D3D5D5D6D6D7D7D6D6D6D7D9D9D9D7D7D7D9D7D7D9DADADAD9DBDADADBDEDEDEE1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E3E2E3E3E2E3E2E2E2E1E1E1DFDEDCDEDBDCDADADAD7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846C6D6F6F727577787B7D7F8285888C8E8F9396999B9C9CA1A2A5A7ABAEB1B2B5B8B9BDC0C1C4C4C5C8C9CBCECED0CFD0D1D0D3D5D5D6D6D5D6D5D6D5D3D3D3D3D3D1D1D1D0D0D0D1D3D5D5D5D5D5D5D5D5D6D7D7D5D5D5D5D5D5D5D5D5D7D7D9D9D9D9D9D7D6D6D7D7D7D6D5D5D5D5D5D5D6D6D5D6D7D7D7D7D9D9D9D7D7D7D9D9D7D9DADADADADAD7D7D7D7D7D7D7D6D6D7D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAB82D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2B2A2929292929292929292929292929282828282828282828282827272727272727272727262625252525252525252525252425252525252524242424242323232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717171616161616151515151515161414141414141415151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970000000000000000000000000000000000000000000000002E81838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F05600000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3F3F0F0EFEDECE9BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B9BFBFC0C1C1C3C4C3C4C4C5C5C4C4C5C8C9C9C9C9CACBCECBCBCED0D0D1D1D1D1D1D1D1D3D6D5D3D3D3D6D3D7D7D7D7D7D7DADADBDCDBDADADCDCDCDEDEDFE1DFDFDFE1E1DFE1DFE1E2E2E2E2E2E3E2E2E1E1E1E1E1E1DFDFE1E1E1E1DFDFDFDFE1E1E1E1DFDCDEDEDADBDADAD9D9D9D7D7D7D7D5D1D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866E70717375777B7B7E818388898D8F9294979B9CA1A4A5A7ACB0B2B3B5B8BBBDBFC0C1C4C6C8C9CBCACBCED0D0D1D3D3D3D6D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D7D7D7D7D7D7D6D6D6D6D3D3D6D5D5D5D3D5D5D5D5D3D1D1D1D1D1D3D3D1D3D3D1D1D1D1D3D3D1D3D1D1D1D1D1D1D1D0D0D0D0D0D0D0D0CECECECBCECECBCECFCFD0D0D0D0D1D3D3D3D5D5D5D6D7D6D6D6D5D3D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCBB2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2A2929292929292929292929292928282828282828282828282827272727272727272727262525252525252525252525252525252525252524242424232323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191717171717171717171717171616161616161515151515161414141414141415151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0000000000000000000000000000000000000000000000001981838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F030000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3F1F0F0EFEDECD4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6B7BFBFBFC0C0C1C3C3C3C5C5C6C6C9C9CACACACACACACACACECFCFCECFCECECFD0D0D1D0D0D0D0D1D1D1D5D6D6D7D6D7D7D7D9D9D9D9DADADADADADADADADADADBDBDBDBDBDCDEDEDEDEDFDEDFDFDEDFE1E1E1E1E1E1E1E1E1E1E2E2E3E3E3E4E6E6E6E6E7E7E4E6E6E4E4E3E3E3E2E1E1DFDFDEDEDCDBDADAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38A787A7B7D80828386888C8F909396979B9CA1A2A7A8ACB0B3B6B8B9BBBDBFC0C3C5C9CACBCED0D3D5D6D6D6D7D9DADBDCDCDCDEDEDEDFE1E1E2E1E3E3E1E1E1E1E2E3E3E4E3E3E2E2E1E1DFDFDFDEE1DEDEDEDEDEDEDEDEDEDEDCDCDCDEDEDEDCDBDBDBDBDBDBDCDBDBDBDADADCDEDCDCDBDCDCDBDADAD9D9D7D7D7D7D6D6D7D9D9D9DADBDADADADADBDEDBDBDADADADADADADADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5B42D2D2D2D2D2D2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2A2A29292929292929292929292929282828282828282828282827272727272727272727262625252525252525252525252525252525252525242424242323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191917171717171717171717171616161616161515151515161614141414141415151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000001981838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F030000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3F1F0F0EFEDECBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8CCC9C4C5C6C6C6C6C5C6C9CBCACACACBCBCED0D0D1D0D1D0D1D5D5D5D5D5D3D3D3D3D3D1D1D1D1D1D3D3D5D5D3D5D5D3D3D3D5D5D5D5D3D3D5D5D6D6D7D7D7D7D7D7D7D7D7D9D9DADBDBDADBDCDADADBDBDEDEDFDFE1E2E2E2E1E1E1E1E1E1DFDFDEDEDEDEDEDFDEDEDFDEDEDEDEDEDEDBDBDBDADAD9D9D6D5D5D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E6F727376777B7C7E818389898C8E909697999C9EA2A4A7AAABAEB1B5B6B8BBBDBFC1C1C3C3C5C8C9C9CBCECED0D0D0D3D3D6D5D5D6D6D5D6D5D6D7D6D6D6D6D6D7D7D6D6D6D5D6D5D5D5D6D6D6D6D7D9D9D7D7D7D7D9DADADBDBDBDBDBDCDCDCDEDFDEDFE1DFDFDEDEDEDBDBDBDADAD9DBDCDCDCDBDBDBDBDBDBDEDEDEDEE1DEDEE1DEDEDFDEDEDEE1E1E1DFDFDEDEDEDFDFDFDEDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3A62E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2B2A29292929292929292929292929282828282828282828282827272727272727272727262625252525252525252525252525252525252524242424232323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717161616161616151515151515161414141414141515151514141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000001981838486888A8C8E919396989B9EA1A4A7AAADB0B3B6B9BCC0C2C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F030000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F6F6F6F5F5F5F3F1F0F0EFEDD9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4BAC5D0C1BBB9BBBBBBBCBFBFBFBFBFBDBFC0C0C3C3C1C1C1C1C1C1C3C3C3C3C3C1C1C3C3C3C3C1C1C1C0C0C0C0C1C3C3C4C4C4C4C5C6C6C6C9C9C9CACBCACACBCAC9CBCBCBCBCECFD0D3D1D3D5D6D6D6D6D7D6D7D7D6D6D9D9D9D9DADADADBDBDADADADAD9D9DADADADADBDADADADAD9DAD9D7D7D7D5D5D5D3D3D3D1D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846C6E6E71737475777A7B7D8083888A8D90929396979B9E9FA2A5A7A8AAACB1B2B5B8B9BBBDC0C3C4C5C6C8C9CBCED0D0D0D1D3D3D5D7DADADADADADBDBDCDCDCDEDEDCDEDCDBDBDBDCDCDBDAD9D9D9DADADADBDBDBDEDCDCDEDFDEDEDEDEDEDEDCDEDEDFDEDFDFE1DFDEDFDEDEDEDEDEDEDEDCDEDCDEDEE1E1E1E1E1E2E2E3E3E3E4E3E4E3E3E3E3E6E6E6E4E4E3E3E3E6E3E4E3E4E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E29C2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2A2A292929292929292929292929292828282828282828282828272727272727272727272625252525252525252525252525252525252525242424242323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717161616161616151515151515161414141414141415151514141414141414141414131313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000000F81838486888A8C8F919396989B9EA1A4A7AAADB0B3B6B9BDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3F2F026000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F7F7F7F6F6F6F5F5F5F3F1F0F0EFECC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAC5D0D1D5DCCEC9C9C9CACACBCACACACBCBCBCBCECFD0D0D0D1D1D1D0D1D1D1D3D3D3D3D0D1D0D0CFCFD0D1D1D1D1D1D1D1D1D5D5D7D7D7D7D6D7D9D9D9D7D7D6D7D7DADADAD9DADADADCDEDEDEDEDBDEE1E1E1E1E1E1DFDFDFDEDEDEDEDEDEDEDEDEDEDEDEDEDEDCDCDEDEDBDBDADADADAD9D7D9D7D7D6D6D5D3D1D0D0D0CFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38672737677797C7D818285888A8C8F9094979B9C9EA2A5A5A8AEB1B2B5B9BCBDBDC0C3C4C4C5C5C5C8C9CACBCECECFD0D1D3D1D3D1D1D3D5D5D5D7D7D7D7D7D7D9D7D9D9D9DAD9D9D9D9DAD9D9D9D9D7D9D9D7D7D7D7D7D7D6D6D5D7D7D6D7D7D7D7D9D9D7DADADAD7D7DAD9D7D9D7D9D9D9D9D7D9D9DADAD9DADAD9DAD9D9D9DAD9D9D9DBDCDCDBDADADBDEDEDEE1DFDFDFE1E1E1E1E2E3E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E19C2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2A2A2929292929292929292929292928282828282828282828272727272727272727272626252525252525252525252525252525252525242424242323232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191717171717171717171717161616161616151515151515161414141414141415151514141414141414141414141313131313131313131313131112121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000081838486888A8D8F919396999B9EA1A4A7AAADB0B3B6B9BDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F000000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F7F7F7F6F6F5F5F5F5F3F1F0F0EFE2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7BFC5C5C6C9CED7C9C1C0C3C3C3C3C4C4C4C6C6C8C8C9C9C9C9C9C9C9C9C9C9C9C9CACACACACBCACECACACECECECECFD0D0D1D0D0D0D0D0D1D0D1D1D3D3D5D6D5D7D7D6D7D7D7D9DAD9D9D9D7D7D7DAD9DADADADBDCDEDEDFDEDEDEDFDFDFE1E1DFDFE1E1E1E1DFDFDFDFDFDEDCDCDEDBDCDCDAD7D9D7D7D7D7D3D3D3D3D1CFCECBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B380646568696C6E70737778797C7E818284888A8D9093979C9CA1A2A7AAACACB1B2B3B6B8B9BCBFC0C3C4C5C6C9C9CACACBCBCBCFD0D0D1D1D5D5D5D6D7D6D7D7D7D7D7D7D7D7D7D9DAD9DADBDADADBDBDBDBDADBDBDADADADBDBDCDEDFDFDEDEDEDBDBDBDEDEDEDCDBDBDAD9D9D9D9D9DADADADBDBDBDBDBDBDCDBDCDCDEDEDEDEDBDBDBDADCDCDADCDCDCDCDEDBDBDBDBDCDCDEDEDEDEDEDEDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADA982E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2A2A2929292929292929292929292828282828282828282828272727272727272727272625252525252525252525252525252525252525242424242323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191717171717171717171717171616161616151515151515161414141414141415151515141414141414141414141313131313131313131313131312121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000081838486888A8D8F919396999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDEE1E3E5E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F7F7F6F6F6F5F5F5F3F3F1F0F0EFCAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5B8C3C8C9C6C8C9CAD0D9C9C5C4C3C4C4C6C6C6C5C5C6C6C9CAC9C9C9C9C9C9C9CACACBCACACACACACACACACBCBCBCBCACECFCFD0CFCFCECFCFCECECECFCFCFCFD0D0D0D1D1D1D3D3D3D5D3D3D5D5D5D5D6D5D5D5D5D6D7D7D7D7D9DADBDAD9DADBDEDEDEDEDBDCDCDCDEDFDEDBDBDBDEDADCDEDBDBDADADBDBDCDBDAD9D7D7D6D5D5D5D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6D6E7172757577787B7D7F8183868A8C8E9094979B9B9EA2A5A7ABACB1B3B6B8B9BBBFBFC3C3C5C6C9CACECFCFD1D3D3D3D3D5D5D7D6D7D6D5D6D6D9D7D9D7D7DADADADADADADADADADADADADADADADADBDBDADADADADADAD9D9D9DAD9DADAD7D7D7D7D9D9D9D7D7D7DADAD9D9D9D9D7D7D9D9D7D7D7D7D7D7D9D9DADAD9D7D7D7D7D7D7D7D7D7D7D7D7D7D9D9D7D6D6D6D6D6D7D7D6D7D6D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCF752E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2A2929292929292929292929292928282828282828282828282727272727272727272626252525252525252525252525252525252525242424242323232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151515141414141414141414141313131313131313131313131312121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000081838486888A8D8F919396999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDEE1E4E5E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0F0EFB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BCC7CACACACACACBCECED6E1D0CACACBCBCBCFD0D0D0D0D0D0D0D0D3D3D3D3D3D1D1D3D5D3D5D1D3D1D1D1D3D3D3D0D0D1D0CFCFCFCECECECECBCBCBCECECFCFCFCED0D1D1D1D1D3D3D3D1D3D3D3D6D6D7D7D7D7D7D7D7D7D9D9D9D9DADADADADCDEDEDFDEDEDEDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDBDADBDADADADBDBD9D9D7D6D5D5D1D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856C6E6F7172737577797C7E818283868A8C8F9293969B9C9EA2A5A5A8ACAEB1B1B2B3B5B9B9BBBDBFC0C3C4C5C6C9C9CBCAC9CBCFCFD0D0D0CFD0CFCFD0D0D0D3D3D0D1D0D0CFCECECECECECBCBCBCAC9CACACBCECECECECECECECFD0D0D0CFCECECFCECECFD0D0D1D1D3D5D3D3D3D3D1D1D3D5D5D1D1D1D1D1D1D0D3D5D3D5D6D6D6D7D7D7D7D7D7D7D9D7D7D7D9DADADADAD7D7D7D7D7D7D7D6D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDA732E2E2E2F2F2F2F2F2F2F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2A29292929292929292929292929282828282828282828282727272727272727272726252525252525252525252525252525252525242424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151515141414141414141414141313131313131313131313131312121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000007C838486888A8D8F919496999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2F000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0F0DAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAC8D3C9C9CACBCECFD0D0D1D1D6E1D0C8C9C9C9CACACACACACACBCBCACBCBCECBCFCECBCACACAC9C9C9CACBCBCACACAC9C9C9C9C9C9C9C9C9C9C9C9CAC9CACACBC9C9CACECECECFCECECFCECBCBCECECECECECBCECED0D0D0D0D0D1D0D0D1D1D0D1D3D3D1D0D0D0D0D0CFCECECFCFD0CFCFD0CFCECFCECFCFD0CFCFCECECBCBCBCACAC9C8C9C5C5C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856E6F72757677787C7E7F818588898D909297999B9FA1A4A5A8ACAEB1B2B3B6B6B9BBBDBFC0C3C4C6C9CACBCECFCFCFD0D0D1D3D3D3D3D1D3D3D1D1D1D3D3D3D5D5D6D6D6D6D7D9DADADADAD9DADADADAD9D7D6D7D7DAD9D9D7D9D9DADADBDBDADADADADBDCDCDCDBDBDADBDBDAD9DADADADADADADBDBDADCDCDBDCDCDEDEDCDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEE1E1E1E1E1DFE1E1DFDFDFE1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3792F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2B2A29292929292929292929292928282828282828282828282727272727272727272626252525252525252525252525252525252525242424242323232323232323232323232323232222222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616161515151515161614141414141415151515141414141414141414141313131313131313131313131311121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2300000000000000000000000000000000000000000000000067838486888A8D8F919496999C9FA1A4A8AAADB0B3B7BABDC0C3C6C9CCCFD2D4D7DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2DD00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0F0C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BECCDADACBBFBFBFC1C1C4C5C5C6C8CBD7C6C1C1C3C3C3C3C5C3C5C6C8C8C9C9C9CACAC9C9CBCBCACBCBCECECECECECFCECECBCBCBCBCBCECFD0D0D0D0D0D0D0D0CFD0D1D3D5D5D6D5D6D6D7D6D6D5D7D7D7D9D7DADADADADBDBDADADADCDCDCDCDBDEDEDFDFDFDEDEDCDCDEDEDEDEDEDEDEDEDEDBDCDCDCDEDEDEDEDCDBDBDBDBD9D9D9D7D6D5D3D1CECBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E7173757677787C7E7F8184888A8C8E909396999B9CA2A2A5A7AAABAEB1B2B6B8B9BDBFBFC1C4C3C5C5C6C9CACBCECFD1D3D3D3D3D3D3D3D3D1D3D1D1D1D3D5D5D3D5D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D9D9D9DADADADADADBDCDCDEDEDEDCDBDCDCDEDCDEDEDEDFDFDFE2E1E3E3E3E4E4E3E4E4E4E4E4E3E4E4E4E6E6E4E4E6E9E7E7E9E9E7E6E6E6E6E4E3E2E1E1E1E1E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2762F30303030303030303030303030302F2F2F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A2A292929292929292929292929282828282828282828282727272727272727272726262525252525252525252525252525252525242424242323232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616161515151515151614141414141415151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F9FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD2D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000067838586888A8D8F919496999C9FA1A4A8AAAEB0B4B7BABDC0C3C6C9CCCFD2D4D7DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2C00000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F0F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0EFB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BFD1D9DADADCD6CBCECBCBCECFD0D3D1D3DAE2D1CBCBCECECECFCFD0D0CFCFCFD0D0D0D0D0D0D0D1D0D0D1D1D1D1D1D3D5D5D5D5D3D3D1D1D1D3D1D1D3D1D3D3D3D5D3D5D5D5D5D6D5D5D5D6D6D7D5D7D7D7D7D7D7D7DADCDBDCDEDEDCDBDCDBDCDBDBDAD9DADADADADADADADADBDBDADAD9D7D7D7D7D6D7D9D7D7D7D7D7D6D5D5D3D5D1D1D1D0D0CECBCACAC8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E6F6F72737577787C7D808183868A8C8E9296979B9E9EA2A5A5A8ABACAEB1B5B8B9BBBCBDBFBFC3C4C5C5C6C6C8C9CACACECFD0D1D0D3D1D3D3D3D3D3D3D3D3D5D3D3D5D5D5D5D5D5D5D3D3D3D5D5D5D5D7D6D6D6D5D5D6D6D7D6D6D6D6D7D7D7D9D9DBDBDBDBDCDEDEDFDFDFDFE1E1E1E1E1E1E1E1E2E3E3E3E3E4E3E4E4E6E4E6E6E7E7E7E9E9EBEBEAE9E9E9E9EAEAEAEAEAEAEAEAEAEAEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF18030303030303030303030303030303030303030302F2F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A292929292929292929292929282828282828282828282827272727272727272726262525252525252525252525252525252525252424242423232323232323232323232323232322222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616161515151515151614141414141414151515141414141414141414141313131313131313131313131311121212121212111111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1391BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDAE340F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000067838586898A8D8F929497999C9FA1A5A8AAAEB0B4B7BABDC0C4C6C9CCCFD2D4D7DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2C00000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0DDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAC6D4D9DADADADCDCCFC1C1C3C3C3C5C5C8C9C9CED7C9C5C5C5C5C4C4C4C5C5C5C5C6C6C8C6C5C5C4C3C3C3C1C1C3C3C3C5C5C5C5C3C4C5C3C3C3C3C3C5C4C5C5C4C4C4C4C5C5C5C5C6C5C5C8C9C9C9C9CACBCBCBCBCECBCECBCBCFCFCFCFD0D0D0D1D1D1D1D1D5D5D5D5D5D5D5D7D7D7D7D7D7D7D6D5D6D6D6D3D3D3D5D5D5D5D3D3D1D0D0D0CECECAC9CACACAC9C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38167696A6C6D6F7171747577797C7E8183898C8D8F9093979B9CA1A2A7A8ABACB0B2B3B6B9BBBCBFBFC0C3C4C5C6C6C8C6CAC9CACACACBCBCBCECECECECBCAC9CACBCACACACBCBCACBCBCBCBCECECECBCBC9C9C9C9C9CACACACBCBCECBCECFD0D0D0D1D1D0D1D1D1D1D0D3D3D5D7D7DADADADAD9D7D9D7D9D7D7D9D9D9D9DADAD7D7D7D7DADADADBDADADADADADCDEDEDEE1E1E2E1E2E2E3E4E6E6E4E4E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4793030303030303030303030303030303030303030303030302F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A292929292929292929292929282828282828282828282827272727272727272726262525252525252525252525252525252525242424242323232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171716161616161515151515151614141414141414151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2098BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB54F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000067838586898A8D8F929497999C9FA1A5A8ABAEB1B4B7BABDC0C4C6C9CCCFD2D5D7DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2C00000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0CBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BECCD7D8D9DADADCDCDDDDD7CECFCECFD0D0D1D1D3D3D9E3D3CBCACACBCAC9C9C9C9C8C9C9C9C9C9C9C6C9C8C6C6C6C6C6C9C8C8C8C9C9C8C5C5C5C5C5C4C4C4C4C4C4C4C4C5C4C5C4C4C5C6C8C8C9CACACBCACACACBCBCECECFCFD1D1D3D5D5D6D7D6D7D7D9D9DADADAD9D7D7D7DADADADADADBDBDCDCDCDBDBDBDADADADADADAD9D9D9D9D7D5D3D3D3D1CFCECBCECACAC9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E6465646567696A6C6D6F747678797D7E8184878A8D909296999B9C9FA1A1A5A5A8AAACB0B2B5B6B9BBBDBFBFBFC1C3C3C4C3C4C5C6C6C8C8C9C9C9CAC9C9C9C9C9C9CBCBCBCBCECECECFCFCED0D0CFCFCFCECFCFD0D0D1D0D1D3D3D3D3D3D3D3D3D5D5D3D3D5D5D6D7D7DADBDADBDAD9D9DADADADBDADAD9D9D7D7D9D9D7DADADADBDBDBDCDCDEDEDCDCDCDEDEDEDEDCDCDCDBDEDEDBDEDEDEDEDEDBDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDF7630302F2F2F2F2F2F2F2F2F2F3030303030303030303030303030302F2F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A2A2929292929292929292929292828282828282828282827272727272727272726262525252525252525252525252525252525252424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191919171717171717171717171716161616161515151515151614141414141414151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2DA7BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD720F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000067838586898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC1C4C6C9CDCFD2D5D8DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3F2C00000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F6F6F6F6F6F5F5F5F3F3F1F0BDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C2D0D6D7D8D9DADADCDCDDDDDEDAD0D1D3D5D3D5D3D3D5D5D7E1D1C9C8C9C9C9C8C8C9CACACACAC9CACBCBCBCBCBCBCBCACACACACACACACAC9C9C9C8C8C8C9C6C6C6C6C6C6C6C9C9CACBCACACACACACBCBCACBCBCBCBCECBCED0D0D1D1D1D3D3D5D6D9D9D7DADBDBDBDBDADBDCDBDBDEDCDEDCDEDEDEDEDFDEDFDEDEDEDEDCDBDBDBDADAD9D9D9D7D5D3D3D3D1D0CECECECBC9C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38268696B6D6F72737577777B7D81828388898C8D8F9094979B9C9EA1A2A4A4A5A8A8AAACAEAEB1B1B1B3B6B8BBBCBDBDBFBFBFC0C3C4C4C3C3C3C3C3C3C3C4C5C6C6C8C8C8C8C8C6C5C5C5C6C6C6C5C5C5C4C4C3C5C5C5C6C6C6C6C8C9C9C9C8C8C8C9C8C8C8C9C9CACBCAC9CACACACBCBCBCACACBCECECFD0D0D0D0D0D1D1D1D5D6D7D7D7D7DADAD7DADAD7D7DAD7D7D7D7D7D7D9DAD9D9D9D7D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDE532F303030303030303030303030302F2F2F2F3030303030303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A2A29292929292929292929292828282828282828282828272727272727272727262625252525252525252525242525252525252424242423232323232323232323232323232322222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161615151515151614141414141414151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD911A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000067838587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BBBDC1C4C6CACDCFD2D5D8DBDDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2C10000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F7F7F6F6F6F5F5F5F3F3F1EBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCC6D3D4D6D7D8D9DADADCDCDDDEDEE0D6CACECFCFCFCECBCECECED1DECBC4C3C3C4C5C5C5C5C5C5C5C6C6C6C6C6C6C6C9C8C9C9C9C9C8C8C8C9CACBCACACACACACACACACAC9C9CAC9C8C6C8C8C8C6C5C5C5C5C6C8C8C9C9C9CBCBCBCED0D0D0D1D1D3D3D3D5D5D6D6D7D7DAD9D9DAD9D9DADADADAD9D7D7D7D7D7DADADADADADADADADADADAD9D9D7D6D6D5D5D5D5D1D0CECBCBCBC9C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856E6E6F72757678797D7E818386888A8D8F929496999B9CA1A2A7A8AAACB1B1B5B6B6BBBBBCBDBFC1C1C3C4C5C6C6C6C8C9CACACACACACBCBCBCECECFD0D0CFCECECECECED0D0D1D1D1D1D1D0D3D1D0CFCFCFCECECECFCECECECECECECECECECFCBCECBCBCBCACACACECECECECECECECFCFCFCFD0D0D3D3D1D5D5D5D5D5D6D6D6D5D5D5D5D5D6D7D7D7D9D9D9DADADADCDBDADBDEDEDEDCDEDBDCDBDADBDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D950303030303030303030303030303030303030302F2F2F30303030303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A2929292929292929292929292828282828282828282827272727272727272726262525252525252525252525252525252525252424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161615151515151614141414141414151515141414141414141414141313131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA72D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000058838587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BBBDC1C4C7CACDCFD2D5D8DBDDDFE2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2C10000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F7F7F7F6F6F5F5F5F3F3F1DBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7BFCDD1D3D4D6D7D8D9DADADCDCDDDEDEE0E0D9D1D3D5D3D5D5D5D5D5D7DAE3D5CBCBCBCBCBCECECECECECECECFCFD0D0CFD0D0CFCFCECECECECBCBCBCBCBCBCBCBCACACBCACACAC9CACACACAC9C9C9C9C9C9C9C9C9C9CACBCACACACACBCBCBCFCED0D3D1D3D1D3D3D3D5D7D7D9DADADBDBDADCDBDADADADADADADADADADAD9D7D7D7D7D6D6D5D3D1D0D0CFCBCACACAC9C9C8C6C4C3C3C3C0BFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3806767686A6B6D71737577787B7C7E7F8183888A8C8D8F909296979B9C9C9FA4A5A7A8ACAEB0B0B1B3B5B5B6B8B9BBBCBDBDBDBCBDBFBFBFBFBFBFC0C0C0C1C3C3C3C1C1C1C1C3C4C5C6C6C5C5C6C5C4C5C5C4C4C5C4C3C3C3C4C3C3C5C4C3C5C4C4C4C6C8C8C6C9C9C9C9CAC9C9C9CACBCBCBCECFCFCFCFD0D1D3D1D3D5D5D5D5D5D6D6D7D5D6D5D6D7D9DADADADADBDEDBDADBDBDBDBDEDCDCDEDEDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E15430303030303030303030303030303030303030303030302F2F303030303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A29292929292929292929292928282828282828282828272727272727272727262625252525252525252525242525252525252424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161615151515151616141414141414151515151414141414141414141413131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5410F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004D838587898B8D8F929497999C9FA2A5A8ABAEB2B4B8BBBEC1C4C7CACDCFD2D5D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3F2C10000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F7F7F7F6F6F5F5F5F5F3F1CCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9C2CED0D1D3D4D6D7D8D9DADADCDCDDDDDEE0E0E0D5CACAC9C9C9C9CBCACACAD0D7C9C3C4C4C4C4C4C3C3C3C3C4C5C4C4C4C4C4C4C3C1C3C3C4C3C3C3C1BFBFBFBDBBBBBBBBBBBCBCBBBBBBBBBBBBBBBBBBBBB9B9BBBBBBBBBBBBBCBCBDBDBDBDBFC1C3C3C3C5C8C9C9CACBCFCFCED0CFCFCFD0D0D1D0D1D0D0D0D0D0D1D1D1D0D0D1D1D0D1D3D0D1D0D0D0D0D0D0D0CFCECBCBCBCACAC9C5C5C5C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3887274757778787C7C7D7F818383888A8D8D8E8F9396999B9C9FA2A4A5A8AAACACAEB1B2B5B5B6B8B8B9BBBBBDBDBFBFBFC0C1C1C1C1C1C3C3C4C3C3C4C4C4C5C5C5C5C6C6C6C9C9C9C6C8C6C6C8C9C9C9C9C9C9CACACBCBCBCBCBCBCECBCBCBCACACAC9C9C9CACAC9CACACBCBCECFCECFCFD1D0D1D1D3D6D7D5D7D6D7D7D9D9DADAD9DADADBDBDEDBDEDFDFDFE1DFDFDFE1E1DEE1E1DFDFDFDEDFDFE1E1E1E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDC5430303030303030303030303030303030303030303030303030302F2F303030303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A2A292929292929292929292928282828282828282828272727272727272727262625252525252525252525252525252525252424242423232323232323232323232323232322222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161615151515151516141414141414151515151414141414141414141413131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1379BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004D838587898B8D8F929497999C9FA2A5A8ABAEB2B4B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF1F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F2C10000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F6F7F7F7F6F6F6F5F5F5F3F1C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BCC7CCCCD0D0D1D4D4D6D7D9DADADADCDCDDDEDEE0E0E0DCD3D5D5D5D3D3D1D1D3D0D5DED0C8C6C8C8C8C8C8C9C8C6C6C8C6C6C8C8C9C9C8C8C6C6C5C5C5C5C5C4C4C3C3C3C4C1C4C3C3C1C3C1C1C1C1C1BFC1C0C0C0C0BFC1C1C4C4C5C5C4C5C5C5C6C8C9CACBCBCBCECBCBD0D0D0D0D0CFCECFCFD0D0D1D1D1D3D3D5D3D1D1D1D3D3D5D3D3D3D3D3D3D3D3D3D3D1D3D1D1D1D0D0CECBCAC9C8C5C5C4C3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6D6D6E717173757678787C7E7F81838689898D8E90929697999B9C9FA2A4A5A5A7A8A8ACACAEB1B1B1B1B3B3B3B3B3B3B2B3B6B8B8B9B8B8B9B9B9B9BBBBBCBDBDBDBDBDBDBCBDBDBDBDBDBFBDBDBCBCBCBDBDBDBDBDBDBDBDBDBDBDBDBDBCBDBDBFBDC0C0C0C1C3C3C3C3C3C3C4C4C5C6C6C8C9CBCAC9CACBCBCECBCBCFCFCECED0CFD0D1D1D3D3D3D5D7D7D7D7D7D7D7D7D7D7D9DADAD9D9D9D7DADADADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDF5430303030303030303030303030303030303030303030303030303030302F2F3030303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A29292929292929292929292928282828282828282828272727272727272727262625252525252525252525252525252525252424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161615151515151516141414141414151515151414141414141414141413131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1A91BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004E848587898B8D909295979A9DA0A2A5A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3C10000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F6F6F6F5F5F5F3F1B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8BEC7C9CBCCCED0D1D3D4D6D7D8D9DADADCDCDDDDDEDEE0E0E0D8CECFCECFD0D0D0CFD1D1D7E2D1CBCBCBCAC9C8C9C8C8C6C6C6C6C6C5C5C5C3C1C1C1C3C1C1C1BFBFBFBFBDBFBFBFBFC1C1C1C0C1C1C1C3C4C4C3C3C4C4C4C4C5C6C6C6C6C5C9C8C9C9CACACACBCBCECBCECED0D0D0D1D3D5D5D5D6D6D7D6D6D7D6D6D7D7D7D6D7D7D7D7D7D7D7D7D7D6D5D3D1D1D1D0CFD0CECECBCACAC8C5C4C1BFBFBFBFBFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B381656768696B6E6F72737576787C7E818185898A8D8F90939797999B9C9FA2A4A5A8AAABACACACB0B1B3B6B6B8B9BBBCBDBFBDBDBFBFBFBFBFBFC0C0C1BFC1C3C3C3C3C3C5C5C4C4C5C5C5C8C9C6C6C6C6C5C5C5C4C4C3C3C1C3C3C1C1C1C1C1C1C1C1C3C3C3C3C4C4C3C3C4C4C5C4C5C5C6C5C8C8C9CACBCBCBCBCECECED0D1D0D1D3D3D5D5D5D3D5D7D7D9DADAD9D7D7D7D7D5D5D5D6D7D9D9D9D7D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D95330303030303030303030303030303030303030303030303030303030303030302F2F30303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2A292929292929292929292928282828282828282828272727272727272727262625252525252525252525242525252525252424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919191717171717171717171717161616161615151515151516141414141414151515151414141414141414141413131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F20A7BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD9F200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004E848588898B8E909295979A9DA0A2A5A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F3F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4F3B70000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B8C0C5C7C7CACCCCD0D0D1D3D4D6D7D9D9DADADCDCDDDDDEDEE0E0E0D7CECECECBCFD1D0D0D0D0D5DECBC5C6C6C5C6C8C8C8C6C8C8C9C9C8C6C5C5C5C4C4C3C1C3C3C4C3C0C1C1C1BFBFBFBDBDBDBFBDBDBDBCBBBBBBBBBBBBBBB9BBBCBDBFBDBDBFBFBFBFC1C0C3C3C3C4C4C6C6C8C8C9CACECFCFD0D1D1D3D1D0D1D1D1D1D3D0D0CFCFD0D1CFCFCFCFCECECECBCECECACACBCAC9C9C8C6C4C4C3C3C3C1C0BFBDBDBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3887377767778797B7D7E818185898A8D8F909296999B9CA1A2A4A5A7AAABACAEB1B2B3B6B8B9BBBCBDBDBFC0C0C1C3C4C5C6C8C8C9CACACBCACAC9C9C8C9C9C9C9C8C9C9C6C6C6C6C6C8C6C6C5C5C4C4C5C5C5C5C5C5C5C5C5C4C5C4C4C4C4C4C4C4C5C5C5C5C6C5C8C8C8C9CACACBCBCECFCFCFD0D1D3D3D1D3D5D6D5D6D7DADADADCDBDBDBDCDBDCDCDCDBDCDEDEDFDFDFE1E2E1E1E1E2E2E2E2E1E1E2E3E4E6E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E755313131313131313131313131313131303030303030303030303030303030303030302F2F30303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A292929292929292929292929282828282828282828282727272727272727272625252525252525252525252525252525252524242424232323232323232323232323232322222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919191717171717171717171717161616161615151515151516141414141414151515151414141414141414141413131313131313131313131311121212121212121111111111111111111111111110101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34AEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004E848588898B8E909395989A9DA0A2A6A9ACAFB2B5B8BBBFC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6F5F4F39100000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3E1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C0C1C3C5C7C9CBCCCCD0D0D3D4D4D6D7D9DADADADCDCDDDDDEDEE0E0E0DACFD0D0D0D1D0D1D0D0D0D5DECEC5C8C8C8C8C6C8C6C5C5C5C5C6C6C6C5C5C4C3C5C5C3C0BFBDBCBBBBBCBCBCBBBBBBB9B9B9B8B6B6B9B9B9B9B9B9BBBBBBBBBDBDBFBFC0C1C3C4C4C4C4C5C5C5C6C6C9CACBCECFD0D0D0D0D3D3D5D7D9D9D9DADADAD9DADADBDADADADBDBDBDCDCDAD9D9D9D7D5D5D3D5D5D1D1CFCECBC9C6C6C5C4C4C3C3BFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E636465656769696C6E6F72757878787C7E81818386898A8C8F90929396979B9B9C9EA1A4A4A5A5A7A8AAAAAAACACAEAEAEB1B0B1B2B3B3B3B3B3B3B3B5B5B6B6B8B9B6B5B6B6B6B6B5B5B6B6B6B6B6B5B6B8B8B8B8B8B8B9BBBBBBBBB9BBBBBCBCBDBDBFBFBFBFBDC0C1C3C3C3C3C3C3C3C3C4C5C9C9C9CBCBCED0D0CFCFD1D5D6D6D7D5D7D7D7D6D6D6D7D9DADAD9DADBDBDBDBDBDBDBDBDBDBDBDBDBDCDCDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADA53313131313131313131313131313131313131313130303030303030303030303030303030302F30303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2A2929292929292929292929282828282828282828282727272727272727272626252525252525252525252425252525252524242424232323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616151515151515161414141414141415151514141414141414141414131313131313131313131313111212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F48B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD560F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004E8486888A8B8E909395989B9DA0A3A6A9ACAFB2B5B8BBBFC1C5C7CACED0D3D6D8DBDDE0E2E5E6E9EAECEEEFF1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F39100000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3D7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9BBBDC0C1C4C5C7C9CBCCCCD0D0D3D4D4D6D7D9D9DADADCDCDCDDDDDEDEE0E0D8D0D1D1D1D1D3D3D5D6D6DAE1D1CACACAC9CACACAC9C9C6C6C6C9C6C6C5C6C4C4C4C4C3C1C0BFC0BFBCBCBBBBB9B9B9B8B6B6B6B8B8B6B6B6B8B8B8B8B9B9B9B9B9BBBBBBBDBDBFBFBFBFBFC0C1C3C5C5C5C5C6C8C9CACBCECFD3D1D3D3D3D3D3D5D3D6D6D6D6D6D5D5D6D6D5D5D3D3D3D5D5D5D5D1D1D1D0CFCECBCBCAC9C8C8C5C5C3C3C1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B382676869696C6D6F7172757678797C7D81818286898A8A8C8E8F929396999B9C9C9FA2A4A7A7AAA8AAACAEB1B1B1B2B2B2B2B3B3B6B6B8B9B6B6B6B6B5B3B5B3B3B3B3B3B3B2B1B2B2B3B3B5B5B5B6B5B5B5B6B8B9B6B6B6B6B6B6B6B8B8BBBBBBBCBCBCBDBDBBBCBDBFBFBFBDBDBFBDBFBFC1C3C3C4C6C6C8C8C9CACBCACBCECFCECFCFD1D3D3D3D3D3D1D3D3D5D6D6D5D5D7D6D6D7D7D7D9D7D7D7D7D9DADADBDBDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DA523131313131313131313131313131313131313131313131303030303030303030303030303030302F2F30303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A292929292929292929292929282828282828282828282727272727272727272625252525252525252525252525252525252424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151514141414141414141414131313131313131313131313111212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F56BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD79130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004E8486888A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BCBFC2C5C7CBCED0D3D6D9DBDEE0E2E5E7E9EAECEEEFF1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F39100000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3CCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1B0B5B7B9BDBDC1C1C4C5C7C9CBCCCED0D0D3D4D4D6D7D8D9DADADADCDCDCDDDDDEDEDED6CBCBCBCBCECECACBCBCBD0DAC9C3C3C3C1C1C0BFBFBFC0C1C1C0C0BFC0C0C0BFBDBDBDBCB9BBB9B9B9B9B6B8B8B8B8B6B6B8B8B6B6B6B6B8B9BBB9B9B9B9B9B9B9B8B8B8B8B9B9B9B9B9BBBBBCBCBDBFC0C1C3C3C4C4C4C4C5C5C9C6C8C8C8C6C9C9CBCBCBCBCBCACAC9C9CACAC9C9C9C9C9C8C5C4C5C5C4C4C3C1C0BFBCBBB9B6B5B3B2B2B1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3846A6C6D6D6F7273757576787B7C7F818186888A8C8F909294999C9C9FA1A2A5A7A7AAACAEB1B1B2B2B5B6B8B8B9BBBBBCBDBDBDBDBDBCBDBDBDBFC0BFBFC1C3C3C3C4C3C3C1C3C3C3C4C4C4C5C5C5C5C6C6C6C6C6C6C6C6C6C6C5C6C5C5C5C5C5C4C5C5C5C4C4C4C5C6C8C8C9C9C9CACACBCBCBCBCECECFD0D0D0D1D1D1D1D3D5D5D5D5D6D7D7D7D7D7D9D9D9DADADADADBDBDCDCDEDCDEDEDFE1E1E1DFE1DFDFE1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E15431313131313131313131313131313131313131313131313131313030303030303030303030303030302F2F303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A2929292929292929292929282828282828282828282727272727272727272626252525252525252525252525252525252524242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151514141414141414141414131313131313131313131313111212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F72BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD98200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004E8486888A8C8E919396989B9DA0A4A6A9ACAFB2B6B8BCBFC2C5C8CBCED0D3D6D9DCDEE0E2E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F3AF00000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F5F5F5F3C7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ADACB1B3B5B7B9BDBDC1C1C4C5C7C9CBCCCCD0D0D1D3D4D6D7D8D9DADADADADCDCDCDDDDDDDED6CAC9C9CACBCBCBCACBCBD0D7C8C1C1C1C1C1BFBFBFBFBFBFBFBCBBBBBBBBBDBBB9B9B8B6B6B6B6B6B6B3B3B2B2B2B2B2B1B2B2B2B1B0B1B2B2B2B2B1B1B2B2B2B3B3B5B5B5B6B8B9BBBCBCBFBFBFC0C3C3C4C5C5C6C5C8C8C6C8C9CACECECECECFD1D1D0CFD0D1D1D1D1D1D0D0D0CFD0D0CFCBCACACBC9C9C9C6C6C5C5C4C4C4C4C1BDBCBCBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3816567676A6C6D6E717275747577787B7B7E7E818585898A8E8F90929397999B9C9EA2A2A5A5A7A8AAABABACAEAEB1B1B3B6B6B6B6B6B6B6B8B8B9B8B9B8B8B8B8B9B8B9B9B9BBBBBCBCBCBBBBBBBBBBBBBCBCBCBCBDBDBDBDBDBDBDBDBDBCBDBDBFBDBFC0BFBFBFC0C0C1C1C1C3C4C5C5C5C6C5C6C8C9C9C9C9CACACBCBCECFCFD0D0D0D0D0D1D3D0D1D3D5D5D5D3D5D6D7D7D6D5D5D5D5D5D7D7D6D7D6D5D5D5D5D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D069313131313131313131313131313131313131313131313131313131313130303030303030303030303030302F2F303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292929292828282828282828282727272727272727272626252525252525252525252525252525252524242424232323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151514141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F138ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA7340F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004F8486888A8C8E919396989B9EA1A4A6A9ADAFB3B6B9BCBFC2C5C8CBCED1D4D7D9DCDEE0E2E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F7F7F7F6F6F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AEA8AAACAFB1B3B5B7B9BDBDC1C1C4C5C7C9CBCCCCD0D0D1D3D4D4D6D7D8D9DADADADADCDCDCDCDDDDD6CBCECED0D0D1D1D0D0D1D7DCCEC9C9C9C8C6C5C6C5C5C4C4C4C4C4C3C1C1BFBFBFBDBDBCBDBCBCBCBBB9B9B6B6B6B5B3B5B5B5B2B3B3B3B2B2B2B3B5B5B5B5B3B5B6B5B5B6B9B9BBBBBCBDBCBDBDBCBCBFC0C3C5C5C6C5C6C9CACACBCBCBCBCECECECECECBCBCACACACACAC9C9C9C9C6C6C4C3C3C3C3C4C4C3C3C0BFBCBCBBB9B6B5B5B3B2AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3826767696A6A6C6E7172747577787B7C7C81838586898C8D90939697979B9C9C9F9F9FA1A2A2A4A5A5A5A7A7A7A7A7A8A8ABACACACAEACACACACACAEAEAEAEAEACAEAEAEB0B0B0B0AEAEAEAEB0B2B1B1B1B1B2B2B1AEB1B2B2B2B2B3B3B1B2B2B1B1B1B1B2B3B5B6B6B6B8B9B9BBBBBBBCBDBCBDBFC0C0C1C3C3C3C5C5C6C5C6C8CACBCBCED0D3D3D5D5D7D9D9D9D9D9D9D9DADADAD9DAD9D9DADADADBDBDBDADADBDCDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3793131313132323232313131313131313131313131313131313131313131313130303030303030303030303030302F2F303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A2929292929292929292929282828282828282828282727272727272727272625252525252525252525252525252525252424242423232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151514141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2098BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB54F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004F8486888A8C8E919396989B9EA1A4A6AAADB0B3B6B9BCBFC2C5C8CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F6F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8E9ECEDEFF0F1F3F3F5F5F5F6F6F7F7F8F7F7F7F6F6F5F5F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2A8A3A4A8AAACAFB1B3B5B7B9BBBDC0C1C3C5C7C7CACBCCCED0D0D1D3D4D6D6D7D8D9D9DADADADADADCDCDCCFC3C3C3C4C4C4C4C5C6C4C9D1C3BDBDBCBCB9B9B9B9B9B9B8B6B6B6B5B3B3B2B2B2B1B0B0AEAEACAAAAAAA8A7A5A4A5A5A5A5A5A5A5A5A4A4A2A4A5A5A5A5A5A8A7A8AAABAAABAAAAABAEB1B0B0B1B2B2B3B6B5B5B6B9BBBBBCBCBDBFBFC0C0C1C4C3C3C5C5C5C5C5C5C5C5C5C5C4C5C4C3C3C1C0BFBDBFBCBBBBB9B8B6B3B2B1B1B1AEACABAAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38065676769696C6D6E6F7172737678797B7D7E81828688898C8D90909293969799999B9B9F9FA1A4A5A5A5A7A7A8A7A8A7ABACACAEB0B0B0B1B1AEAEAEAEAEACAEAEAEACAEAEAEAEACACACACABABACACACACACACACABACACACACACAEACAEAEAEAEAEAEB0B0B2B3B3B3B6B6B6B6B9B9BCBFBFC0C1C1C3C3C4C4C5C5C6C8C8C6C8CACACBCECBCED0D0D0D0D0D0D0D0D1D1D3D5D5D7D7D7D9D9D7D7D9DADBDADBDCDEDEDEDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DF7932323232323232323232323232323232313131313131313131313131313131313131303030303030303030303030302F2F303030303030302F2F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292929292828282828282828282727272727272727272626252525252525252525252425252525252524242424232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151514141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F27A7BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD720F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004F8486888A8D8F919396999B9EA1A4A7AAADB0B3B6B9BCC0C2C5C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFE -FEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F7F8F8F8F7F7F6F6F5F5F5B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0A39EA0A2A4A8A9ABAFB1B3B5B7B9BBBDBEC1C3C4C5C7C9CBCCCCD0D0D1D3D3D4D4D6D7D7D8D9D9DADADADADADACFC4C5C5C5C4C4C4C6C6C8CBD5C4BDBBB9B9B9B8B6B6B5B3B3B3B3B3B3B2B1B1B0AEAEAEACACAEACAAA8A7A7A5A5A5A2A2A4A2A5A2A2A4A2A1A2A2A4A5A5A7A7A8A8A8A8A8ABACACAEB1B0B2B5B6B9B9BCBDBFC1C0C1C4C5C5C6C9CACACBCBCBCFCECECFCFCFCFCFD0D1D1D1D0D0D0D0CFCFCBCBCBCBCBCACAC8C9C6C5C4C3C0BFBDBCBBB9B9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3826767696A6C6D6F7173757677787C7E8181838688888A8C8D8E9093969797999B9C9EA2A2A4A5A5A5A7AAABACACACACACAEAEAEACACAEB0B0B0B1B1B1B0B1B1B0B1B1B1B1B0B1B0B0B0B0B0B0B1B1B1B1B1B1B1B1B1B1B1B1B3B3B2B3B5B2B2B3B3B6B6B9B9BBBDBDBFBDBFBFC0C1C3C1C3C3C3C4C5C8CAC9CBCECECFD1D3D3D5D5D7D7D9DADADADBDBDCDEDEDFDFDFE2E1E1E2E3E3E3E3E6E6E7E9E7E7E7E6E6E6E6E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E97D333333333333333333333333333332323232323231313131313131313131313131313131303030303030303030303030302F2F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2B2A29292929292929292929292828282828282828282827272727272727272726252525252525252525252525252525252524242424232323232323232323232323232322222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191917171717171717171717171616161616161515151515161414141414141415151514141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD911A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004F8486888A8D8F919496999C9FA1A4A7AAADB0B3B6B9BDC0C2C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFE -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F7F8F8F8F8F7F6F6F5F5F5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB9D989A9EA0A2A4A7A9ABADB1B2B4B7B7BABDBEC1C1C4C5C7C7CACBCCCCD0D0D1D3D3D4D4D6D6D7D7D8D8D9D9D9D9DAC9B9B9BBB9B8B8B6B5B6B6B9C3B5AEAEAEAEAEAEAEAEAEAEAEAEAEB0AEACACAAA8AAAAA8A7A7A8A8AAA8A7A7A8A7A7A7A7A7A5A5A5A5A5A5A7A7A7A7A7A8A8A8A7A8AAABACACAEB1B1B2B5B6B8B8B9BDBDBFBFC0C1C3C4C5C8C9C9CBCECBCED0D0D1D1D1D3D3D1D1D1D1D1D1D1D3D3D1D0CFCBCACACAC9C8C5C4C1BFBDBBBBB8B6B6B3B1B2B1AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B380646567696A6B6D6F6F72757678797B7C7F818385888A8C8C8F8F9090939697979799999B9C9EA1A2A2A4A7A7A7A8ABABABACACACACACAEAEAEAEB0B0B1B0AEB0AEB0B0B0B0B0AEACACACACAEB0B1B1B1B0B1B1B2B2B3B3B3B3B3B3B3B5B5B5B6B6B6B6B6B8BBB9BCBBBDBDBDBFC0C1C1C1C3C5C5C4C5C5C6C5C6C9C9C9CACECFD1D0D1D0D3D7D7D7D9DADADBDADBDBDBDEDFDFDEDEDEDEDEDEDEE1DFDFDEDFDFDFDFE1E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E47C3333333333333333333333333333333333333232323232313131313131313131313131313131313030303030303030303030302F2F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A29292929292929292929292928282828282828282827272727272727272726262525252525252525252525252525252524242424232323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171616161616161515151515161414141414141415151514141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34989898989898989898989898989898989898989898989898989898AEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA79898989898989898989898989898989898989898989898989898821A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004F8586898A8D8F929497999C9FA1A5A8AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7DADCDEE1E4E5E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFE -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BBBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F7F7F6F6F5F5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB969395979A9DA0A2A3A5A9AAADB1B1B4B5B7B9BDBDC0C1C3C4C5C7C9CACBCCCCD0D0D0D1D3D3D4D4D4D6D6D7D7D7D7D7D8CDC1C3C3C3C0BFBFC1C0C0C3CEC0B8B9B8B6B8B8B8B5B6B6B6B5B5B5B3B5B5B5B5B3B5B5B3B5B2B3B2B2B2B1B1B1AEAEAEB0B0AEAEAEAEAEAEB0B0AEB1B1B1B1B3B3B3B6B6B8B9B9B9BBBBBDBFC1C1C3C5C5C9C9C9CBCBCED0D0D1D1D5D5D3D3D3D5D5D6D6D6D7D6D7D6D7D6D5D5D5D3D3D0CECBCBCBCAC8C6C5C5C4C3BFBDBBB9B6B5B2B1B0B0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B380656767676769696D6D71717373757678787B7D7F8181828586898A8C8E909292929697999B9B9C9C9E9F9E9FA1A2A2A2A4A5A5A5A7A5A7A8A8A8A8A8A8A8A8A8A7A8A7A7A7A7A7A8A7A7A7A8AAABABA8ABABACACACACABACACACB0B1B0AEB0B0B1B1B2B5B5B6B5B6B9BCBDBFBDBDBFC1C3C4C4C6C9C9CACACBCECECFD0D0D5D5D6D7D7D9DBDADADADBDBDBDEDCDCDEDEDFE1E1DFDFDFE1E1E1E1E2E2E1E1E1DFE1DFDFE1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDE7833333333333333333333333333333333333333333333323232323131313131313131313131313131313030303030303030303030302F2F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A29292929292929292929292828282828282828282827272727272727272626252525252525252525252425252525252524242424232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161515151515161414141414141415151514141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD2D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000548587898B8D8F929497999C9FA2A5A8AAAEB0B4B7BABDC0C3C6C9CDCFD2D5D7DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F7F6F6F5F5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A4919091939597999CA0A0A3A5A8AAACAFB1B3B5B7B9BABDBEC1C1C3C5C5C7C9CACBCCCCCED0D0D1D1D3D3D4D4D4D4D4D4D6D6D6CFC6C6C6C6C6C5C5C5C5C5C8D1C1BBB9B9B8B8B8B5B6B5B3B5B3B5B2B2B2B2B1B0B0B0AEABAAA8A7A7A7A7A5A5A5A4A2A2A2A2A2A1A1A1A2A2A2A2A5A4A4A2A4A4A5A5A5A7A7A8AAABACAEB1B2B3B3B3B8BBBBBDBFC1C3C5C5C5C5C6C8CACACACACBCECFD0CFD0D0CFCFCECECECFCBCBC9C8C6C5C6C5C5C1C1C1C0C0BDBDBBBBB8B6B5B3B2B1AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37D6162616361646565676969696C6D6E6F71737575757777797C7C7E8181858686898A8D8E8E90909296979797979797999B9B9B9B9C9EA19FA1A1A2A2A2A2A2A2A2A4A2A2A4A4A4A4A4A4A5A5A5A4A4A5A5A5A5A5A7A7A7A8A8A8AAABAAABACABACACAEB0B0B1B2B5B5B6B8B9BBBCBDBDBFC0C3C4C3C5C5C6C9CACED0D1D1D3D3D3D3D5D7D9DAD9D9D9D7D7D9D9DAD9DBDADBDEDEDEDEDCDEDEDEDEDEDFDFDFDFDEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDF80333333333333333333333333333333333333333333333333333232323231313131313131313131313131313030303030303030303030302F2F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A29292929292929292929292828282828282828282827272727272727272726252525252525252525252525252525252524242424232323232323232323232323232322222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161515151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA70F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000698587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC0C4C6CACDCFD2D5D8DADDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F7F6F6F5F5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A28D8B8D8F91939597999C9EA0A2A4A7A9ABADB1B2B4B6B7B9BBBDBEC1C1C4C5C5C7C9CACBCCCCCCCED0D0D0D1D1D1D3D3D3D3D3D4D4D1C9C9C9C9C9C9CACAC9C9CED1C4BFBCBDBCBBBBBBB9B9BBB9B8B8B8B8B6B3B3B1B1B0AEACAAAAA8A8A7A7A5A5A5A5A5A2A2A2A1A19F9F9FA2A2A2A2A4A4A5A5A5A7A7A8A8AAABACB0B0B1B2B2B3B8B8B9B9BBBDBFC0C0C0C0C3C4C4C5C6C8C9C9CAC9CACBCBC9C9CAC9C8C9C6C8C6C5C4C3C3C1C1BFBFBCBBB9B9B5B3B3B2B0AEACACACABA7A7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38267696A6A6C6D6E6E6F727275767778787C7E7E8081838688898C8C8E8F8F90929496979799999B9C9C9FA1A2A2A4A5A5A7A7A8AAAAA8ABABAAABAAABABABABABABABAAACABABACACACACACACACAEAEB0B1B1B0AEAEB0AEB0B0B0B1B1B1B2B2B3B3B3B6B6B9BBBBBCBCBDBFBFC1C1C4C5C8C9C9CAC9CBCBD0D0D3D3D6DADADADBDCDEE1E1E1E2E2E3E4E6E7E9E9E9E9EAEAEBECECEEEEEFEFEFEFF1F2F1F1F1F2F1EFEFEFF1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBA53333343434343434343434343333333333333333333333333333333332323231313131313131313131313131313030303030303030303030302F2F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A292929292929292929292928282828282828282828272727272727272726262525252525252525252525252525252524242424232323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161515151515151614141414141415151514141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA7BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD5D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000698587898B8D909294979A9C9FA2A5A8ABAEB1B4B7BBBDC1C4C7CACDCFD2D5D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F5F4F3C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C7CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F7F7F6F5E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78B87888B8D8F90929395989A9EA0A2A3A5A8AAADAFB1B3B5B7B7BABDBDBEC1C1C4C5C5C7C7C9CACBCCCCCCCED0D0D0D0D0D0D0D0D1D1D1C8BBB9B9B9B9BBB8B8B8B8BBC4B5AEAEAEAEACABAAA8A8AAAAA8A7A7A7A7A7A5A4A4A5A5A4A4A2A29E9E9E9C9B9B9B999B9B99999999999999999B9B9B9B9B9B9C9C9C9E9FA1A2A2A4A5A5A7AAACAEB0B2B5B8B9BBBDBFC0C0C1C1C3C3C4C5C6C5C6C5C5C5C5C5C6C6C6C5C5C5C5C5C5C5C4C4C3C1C0BFBFBFBDBDBBB9B8B6B6B3B2B1AEACACABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E6F6E6E71727273757777777979797B7D7E81818284888988898C8D8F8F9090929393949696979999999999999B9C9C9C9C9C9C9C9C9E9C9C9E9F9F9F9F9F9FA1A1A2A2A2A2A2A2A2A2A2A2A2A2A4A4A4A5A5A5A5A7A7A7A8A8A8A7A8A7A7A7A7A7A7AAABABACAEAEB0B1B2B2B5B6B8B8BBBCBFC1C3C3C5C4C5C8C9CACBCECECFD0D1D1D5D3D7D7D9D9DBDADBDCDCDEDBDEDEDEDEDEDCDEDEE1E1E1E1DFE1E1DFDFE1E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDE9D34343434343434343434343434343434343333333333333333333333333332323232313131313131313131313131313030303030303030303030302F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A292929292929292929292928282828282828282828272727272727272726262525252525252525252524252525252525242424232323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161515151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F72BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000006A8587898B8E909295979A9DA0A2A5A9ABAEB2B4B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4C20000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F7F6F6E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD8C838586888B8B8D90929395979A9CA0A0A3A4A8A9ABADB1B1B4B5B7B9BABDBDBEC1C1C3C4C5C7C7C7C9CACBCBCCCCCCCCCCCECECECED0D0D0C4B9B8B8B6B6B6B6B6B5B5B9BFB1AAA7A7A7A5A5A2A2A2A2A2A2A1A1A1A19E9E9C9C9C9C9B9B9B9B9B9B9B9B979794939393969292929292929392909393949496979799999B9C9EA1A1A4A5A7A8AAACACAEB1B3B5B6B9B9B9BBBCBDBDBDC0C0C1C1C3C1C1C1C1C1C1C3C1C1C0BFBDBCBBBBBBBCB9B9B8B6B6B6B5B3B2AEACACA8A8A7A5A5A4A2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3806465656567676969696A6E6F717274757777787A7B7C7C7F8183848789898C8C8C8C8E8E8F8F909292929394949694979796949497979797979797979997979797979797979797979799979999999999999999999B9C9C9C9E9E9E9F9E9F9EA1A1A2A2A2A2A4A4A4A5A7A7A8AAABAEACAEAEAEB1B3B5B6B9B9BCBDC1C1C3C3C4C5C9CAC9CED0D1D3D5D5D7D7D7DADADBDBDCDCDEDEDEDEDFDFDFDEE1DEDEDEDEDFDFDFDFE1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDC9B343434343434343434343434343434343434343433333333333333333333333333323232313131313131313131313131313030303030303030303030302F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292929282828282828282828272727272727272727262525252525252525252524252525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191919171717171717171717171716161616161515151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F39BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD980F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000006A8588898B8E909395989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F3F5F5F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F4E000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828386888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F7F6F6EDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B292808083848687898B8D8F91939597999C9EA0A2A3A5A8AAACAFB1B2B4B5B7B9BABDBDBEC1C1C3C4C4C5C5C7C7C7C9C9CACBCBCBCCCCCCCCCCCCCCC9C1C3C1C0BFC1C1C0C0C0C3C9B9B2B2B1B0B0AEACACACABABAAAAA8A8A7A7A5A5A5A4A2A2A2A19F9E9E9E9E9C9C9C9B9B9B9B9B9B9B9B9B9B9C9C9C9C9C9CA1A1A2A4A5A7AAABAAACAEAEB0B2B1B3B3B6B8B9BCBFBFC1C4C4C5C6C9CACBCACBCBCECECECECECECECECECECBCBCBCAC9C9C9C8C6C5C5C5C3C3C1BFBDBBB9B8B6B3B2B1B0AEACAAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38064656567676768696A6C6D6D6F7172737577777A7B7D7D7E7F8181818286888889888A8C8E8E8E8F8F909290909293939494969797979797979999999C9B9B9B9C9C9C9C9C9E9E9E9F9E9E9E9C9C9C9C9C9B9B9B9B9C9C9C9C9C9C9E9F9FA2A2A2A4A5A5A5A8A8A8AAAAABACB0B1B2B2B3B5B6B8BBBCBFBFBFC1C1C5C5C6CACBCED1D0D3D3D5D7D9D9D9DADADBDCDEDEDEDEDFE1E1E1E1E1E1E1E2E2E3E3E3E3E3E3E2E2E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAA53434343434343434343434343434343434343434343434343333333333333333333333323232313131313131313131313131313030303030303030303030302F303030303030302F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A292929292929292929292928282828282828282828272727272727272726262525252525252525252525252525252524242424232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD5D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000006A86888A8C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBFC1C5C7CBCED0D3D6D8DBDDE0E2E5E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6F5F4F300000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F6F7F8F8F8F8F8F8F8F8F7F6F5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A3817D808082848587888B8D8F90929395989A9CA0A0A2A4A7A9AAADAFB1B3B4B5B7B7BABBBDBEC0C1C1C3C3C4C5C5C5C7C7C7C7C9C9C9C9C9C9C9C9C9C4B9BBBBBCBBBBBBB9B8B8BBC4B5ABABABACACAAABAAA8A7A7A5A5A5A4A4A4A2A2A29F9E9E9C9C9C9C9B9B9B999B9997979797969797979797979799999B999C9C9FA1A2A2A5A5A7A8A8AAABACAEB1B1B1B2B3B6B9B9BBBBBDBFBFC0C1C4C4C4C4C6C8C6C6C6C6C5C5C5C5C5C5C5C4C3C1C1C1C0BFBCBBB9B9B8B6B6B5B3B1B1B0ACAAAAA7A7A5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6E706F7172727275757576777A7A7B7C7E817F818283858889898D8E8F90929394969694969697979799999B9B9B99999B9B9C9B9B9B9B9B9B9B9B9B9B9C9B9B9B9B9B9B999B9B999999999999999B9B9B9B9B9B9B9C9C9C9C9F9FA19FA1A1A4A4A2A4A5A7A7A8A8ACAEAEB1B1B2B3B5B5B6B9B9B9BCBDBFC1C4C5C8C9CACBCBCFD0D1D3D1D5D6D9DADCDEDFDEDFDFE1E2E3E4E6E6E7E6E7E7E6E6E7E9E7E6E6E6E6E6E7E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7C8343434343434343434343434343434343434343434343434343433333333333333333333333232323231313131313131313131313130303030303030303030302F2F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282828272727272727272726262525252525252525252525252525252524242424232323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000006A86888A8C8E919396989B9DA0A4A6A9ACAFB2B6B8BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E7E9EBECEEEFF1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F4F300000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F8F8F8F8F8F8F8F7F6F6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1907B7B7D808082838586888B8B8D9091939597999A9EA0A2A3A5A8A9ABADAFB1B3B4B5B7B7B9BABDBDBEC0C1C1C1C3C3C4C4C5C5C5C5C7C7C7C7C7C7C7C7C4BCBDBDBDBDBCB9BBBBB9BCC4B5AEB0AEAEACACACABAAA8A7A5A5A5A4A2A2A2A1A1A19E9E9C9C9C9C9B9B9B99999797979796969697969799999997999B9999999B9B9B9E9FA1A2A4A5A5A7A8AAACAEAEB2B3B6B8B9BDBDBFBDBFC0C0C1C1C3C3C4C4C5C5C5C6C6C5C4C4C4C5C4C4C4C4C3C3BFBFBDBCB9B8B6B6B3B5B1B2B1AEACABA8A7A5A4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E6060616363646564656768696A6A6C6C6D6E7072727476757576777B7C7B7C7C7E7F808081838182828285858686858484858686858889898A8A8A8A8A8C8C8C8D8D8D8E8F8E8E8E8D8C8E8E8E8D8E8F909292929396969696969797979797999B9B9B9C9EA1A2A2A2A4A5A7A7A7ACACAEB1B2B5B6B8B9BBBFC0C1C3C4C5C6C8CACBCFD0D1D5D5D6D9D9DADADADCDEDCDEDEDFE1E1E2E4E4E4E4E3E2E3E3E4E4E4E3E2E1DFDFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFBF3434343434343434343434343434343434343434343434343434343434333333333333333333333232323231313131313131313131313130303030303030303030302F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292929282828282828282828272727272727272727262525252525252525252524252525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161615151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F48BDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000007A86888A8C8E919396989B9EA1A4A6AAADAFB3B6B9BCBFC2C5C8CBCED1D4D7D9DCDEE0E2E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F4F300000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F8F8F8F9F9F8F8F8F7F6F6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE85797B7B7D7E808283848687898B8D8F9192939597999C9EA0A2A3A5A8A9ABADAFB1B2B4B5B6B7B9BABABDBDBDBEC0C1C1C1C1C3C3C3C4C4C4C4C4C4C4C4C4BDB1B1B0B0B1B1B1B1B1B1B5BDACA5A5A4A2A2A5A2A4A2A2A2A2A19E9C9B9B9B999999979696969494929090908F8F8F8E8E8E8E8E8E8D8E8E8E8E8F8F8F90909293949699979B9C9E9FA2A4A4A5A8AAACB1B2B3B5B8B9B9BBBBBDBFBFBFC0BFBFC3C1C1C3C1C1C3C1C1BFBFBDBCBCBBB9B9B9B8B6B5B5B3B2B0AEACACACA7A7A7A7A5A5A2A19EB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3816565656567686768696C6C6C6D6F70717171727376777778787B7B7C7D7F818183868988888A8C8E8F9090909292939494969797979797979797979797979797979796969797979797979797979797979797979697979797999999999B9B9C9C9E9E9F9FA1A2A2A2A4A7A7A8AAABACACAEAEAEB0B2B5B6BBBBBFBFC0C1C5C5C6C9C9C9CACECED0D0CFD0D1D1D3D5D5D5D6D5D6D7D7D6D7D7D7D9DADBDCDEDCDBDBDBDBDBDADBDCDBDBDADADADADAD9D9D9D9D9D7D9D9B834353535353535353535353534343434343434343434343434343434343434343333333333333333333332323231313131313131313131313130303030303030303030302F303030303030302F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292929282828282828282828282727272727272727262625252525252525252525252525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161615151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000008486888A8D8F919396999C9EA1A4A7AAADB0B3B6B9BCC0C2C5C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F6F5F4F300000000000000000000000000000000000000000000000000F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F8F9F9F9F9F8F8F8F7F6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D78787B7B7D7E808082838587888B8B8D9091939595989A9DA0A0A2A4A5A8A9ABADAFB1B1B3B4B5B7B7B9B9BABBBDBDBDBEBEC0C1C1C1C1C1C1C1C1C1C1C1C1C1BBBBB9B9B9B9B6B8B6B6BCC0B1ACACACAAA8A7A7A5A5A4A19F9F9E9C9C9C9B999B9B9B9797949392929292929292909090929090909293929292939694969799999B9C9C9C9EA2A4A5A5A7A7AAACACB1B1B2B5B8B9BBBDBFC0C0C1C3C3C3C4C4C5C5C5C5C4C4C4C5C4C4C3C3C0C0BFBDBDBCB9B9B8B6B6B5B2B1AEACACABAAAAA7A5A4A2A29FB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38065656567696969696A6C6E6E6E707272747576777878797B7D7C7E7F8182838688898A8C8E8E8E8F909090929093929393939494949494979697979797979797979999999B9B9B999999979999999999999B9B9B9B9B9B9C9C9E9E9EA1A2A2A2A2A4A5A7A8AAABACACACACB1B2B5B5B9BCBDBDBFC1C3C5C8C9CACBCED0D1D3D7D7D7DADBDEDFE1E2E3E3E7E7E9E9EAEBEBEBEBECECECECEEEEEEECEEECEEEEEFEFF1F1EFEEEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E93535353535353535353535353535353535343434343434343434343434343434343433333333333333333333323232313131313131313131313131303030303030303030302F2F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282828272727272727272726262525252525252525252525252525252524242424232323232323232323232323232322222222222220202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919191717171717171717171716161616161615151515151614141414141415151515141414141414141414131313131313131313131313131212121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000008586898A8D8F929497999C9FA1A4A8AAADB0B3B7B9BDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFF -FFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F4F31D000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E4E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F8F8F8F7F6BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A478787878797B7B7D80808283858687898B8D8F9092939597999A9DA0A0A2A4A5A8A9AAACADB1B1B2B3B4B5B7B7B7B9B9BABBBDBDBDBDBDBDBEBEBEBEBEBEBEBEBEB4AAA8A8A8A8AAA8A7A5A7ABB3A59E9E9C9B9B9999969696949494939392929290908F8E8E8D8C8C8A8C8A8A89898988888887888889888A8A8C8D8F8F9092939394969797999B9E9E9FA2A2A4A5A7A8ACAEB1B1B3B6B9BBBDBFBFC1C1C4C4C5C6C9C9C9C9C9C9CACACAC9C8C6C6C6C6C5C3C1C0BFBFBCBBB9B8B6B5B2B2B1AEACACABA8A7A5A2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38265656567686969696A6A6C6D6D6D6E6F71727373757676777778787A7B7C7C7D7F7F8181828283838686888889898A8C8C8C8A8C8D8D8D8D8D8E8E8F8F8F8F8F8F9090908F8F8F8F8E8E8D8C8C8D8D8C8D8E8E8F8F8F8F9090929092939497979799999B9B9C9E9FA1A1A2A4A5A5A8AAACB0B1B1B6B6B8B9BCBFBFC1C1C3C5C5C5C9CACED0D0D1D1D5D6D5D6D9D9DBDBDCDEDEDCDEE1E1DFDEDEDCDBDBDBDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E335353535353535353535353535353535353535353534343434343434343434343434343433333333333333333333323232313131313131313131313130303030303030303030302F303030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292929282828282828282828272727272727272727262525252525252525252524252525252525242424232323232323232323232323232322222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5DBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000000000000000000000000000000000000000000000000008586898B8D8F929497999C9FA2A5A8AAAEB0B4B7BABDC0C3C6C9CCCFD2D4D7DADCDFE1E4E5E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFF -FFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F4F330000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDBEC3C5C9CCD0D1D4D8DADDE0E1E5E7E8EBECEDEFF0F1F3F5F5F5F6F7F8F8F9F9F9F9F9F9F8F8F8F7C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD7C76787878797B7B7D7E808082848587888B8B8D8F9192939597999A9DA0A0A2A3A5A7A9AAABADAFB1B1B2B3B4B5B5B7B7B7B7B9B9BABABABBBBBBBBBBBBBBBBBBBBB6ACAEAEACACACABAAAAAAACB5A59C9E9C9C9C9C9B999997979796949494949393929290929292908F8F8E8E8E8E8E8E8E8D8D8E8F8F8F8F95A092939392939494969697999B9C9C9FA2A4A5A7AAABACAEB2B2B5B8B9BDBFBFC1C0C3C4C5C5C6C8C6C6C6C8C8C9C6C9C9C8C6C6C5C5C4C3C1BFBFBDB9B8B6B5B3B1B1B1AEACA8A8A7A2A2A19F9EB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B382656768696A6C6C6C6D6E6F6F707172737576777675777878787A7C7D7E7E80818383868689898A8A8A8A8A8A8A898A8A8C8C8C8C8C8C8D8C8C8C8C8A8A898C8C8C8A898A8A8A898888888889898A8A8A8A89888A8A8A8A8A8A8A8A8A8C8C8C8F8E8E8E8F90909092929394979B9C9E9EA1A2A4A5A7AAACAEB1B2B3B6B9B9BBBCBDBFC1C3C4C5C6C5C8C9CACACBCBCED0D0D0D0D1D3D3D3D1D3D3D5D3D3D5D3D5D6D6D6D6D5D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D73C3535353535353535353535353535353535353535353535343434343434343434343434343433333333333333333333323232313131313131313131313130303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A29292929292929292929282828282828282828282727272727272727262625252525252525252525252525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F20BDBDBDBDBDBDBDBDBDBDBDBDBD480F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE000000000000000000000000000000000000000000000000108587898B8D8F929497999C9FA2A5A8ABAEB1B4B7BBBDC0C4C6CACDCFD2D5D8DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F330000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828486888B8D909295979A9EA2A4A8ABAFB2B5B7BDC0C3C5C9CCD0D1D4D8DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F8F8F7C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37F7676787878787B7B7B7D80808283858687888B8D8D909193959597999A9DA0A0A2A3A4A5A8A9AAABADAFB1B1B1B3B3B4B5B5B6B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B2AAA8A8A8A8A8A7A7A7A7AAB2A29C9B999997999997979696979694929394939392928F8F8E8E8F8F8F8D8D8C8D8C8D8D8C8C8C8D8E98AAB3AA8F9092939496979B9B9B9C9EA2A2A4A5A7AAACAEB1B2B3B6B8BBBBBDBDBFC1C1C3C3C5C6C6C6C8C8C9C9C9C9C9C9C9C6C8C6C5C5C3C1C1C0C0BDBDBDBBB9B5B3B2B0ACAAA7A5A4A19F9E9B9B97B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38065656565656567696A6A6A6C6E6F6F6E6F7272727374757777777878787B7B7B7C7D7D7E7E8181818181818181818182828182818383838383838283838381818382828281828282828281818181818383818382828282838585848685858689898A8A8A8A8A8D8E8F929292949497979B9B9CA2A2A5A7A8AAACB0B2B3B8B9BBBDC1C1C3C3C4C3C5C8C9C9CACED0D3D1D5D5D7D7D9D9DAD9D9D9D9D9DADBDBDBDBDBDCDEDEDBDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E159353535353535353535353535353535353535353535353535353534343434343434343434343434333333333333333333333232313131313131313131313131303030303030303030302F2F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A29292929292929292929292828282828282828282727272727272727272625252525252525252525252525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA7BDBDBDBDBDBDBDBDBDBDBDB5130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000001A8587898B8E909294979A9DA0A2A5A8ABAEB2B4B8BBBEC1C4C7CACDCFD2D5D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4F330000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828486888B8D909295989A9EA2A4A8ABAFB2B5B9BDC0C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F8F8F7CDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B397767676787878787B7B7B7D7E80808284858688898B8D8F909293959597999A9D9EA0A2A3A4A5A7A8A9AAABADAFAFB1B1B1B2B3B3B4B4B4B5B5B5B5B5B5B5B5B5B5B5B5B1ABA8A8A7A8A7A5A7A5A4A7B0A199999797979696949492929290908F8E8E8E8D8D8D8C8C8C8C8C8C8C8989888989898A88888893ACB3B3B3AA8E8F90929292939496969797999B9C9FA1A4A5A7A8ABAEB0B1B2B6B6B9BBBDC1C1C1C4C3C5C5C6C8C8C9C6C6C6C6C6C8C5C5C5C5C5C4C1C1BFBDBDB9B9B6B3B1B1ACACABAAA8A7A4A1A19E9B99B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B381656565676769696B6D6D6C6E6F7070717173757576777775777778787A7C7C7D7D7E8182828385868486868888878788868687878989888688898888888685858385868684838383838284848484858583838383858385868588888688888888888A8C8C8D8D8F90909092939397999C9CA1A1A2A5A5A7AAACAEB1B3B6B9BBBCBDBDC0C1C3C4C5C6C8C9C9CACACBCBCECFCFD1D1D0D3D3D3D5D3D1D3D3D5D3D5D5D3D5D6D6D6D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9553535353535353535353535353535353535353535353535353535353534343434343434343434343434343333333333333333323232313131313131313131313130303030303030303030302F303030303030302F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292929292828282828282828282727272727272727272625252525252525252525242525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F64BDBDBDBDBDBDBDBDBDBDBD820F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000001A85888A8B8E909395989A9DA0A2A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F45700000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828586888B8D909395989CA0A2A4A8ABAFB3B5B9BDC0C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F9F8F8D5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B17776767678787878797B7B7D7D80808283858687888B8B8D8F909293959597999A9C9EA0A0A2A3A4A5A7A8A9AAABACADADAFAFB1B1B1B1B2B2B2B3B3B3B3B3B3B3B3B3B3ABA2A2A2A2A2A2A2A2A2A2A5AC9F999997979697979794939392909290909090908F8E8F8E8D8D8D8E8E8D8D8D8C8C8C8A8E9AB2B3B3B3B3B3AA9090909293979799999B9B9C9EA1A4A5A7A8ACAEB3B5B6B8BBBBBFC1C3C5C6C8CACBCECFD1D1D3D3D3D3D3D3D3D1D0D1CFCECBCACAC8C6C5C4C1BDBCBCBBB9B6B3B2B1ACACABA7A5A4A19C9C9BB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E616163636565656567676768696A6B6C6D6D6D6E717072737575777777777778787B7B7A7B7B7B7D7D7F7F81817F81818181828283838383838181838383838181818181818181818181818181818181818183838384868888888A8A8A8D8E8F90929294949797979B9B9C9EA1A4A5A7AAAAACAEB1B3B8BBBDBDC0C3C4C4C6C9CACBCED0D3D5D7DADBDBDBDCDEDFDEDFE1E3E3E3E3E4E3E2E3E1E2E2E3E3E4E6E3E3E4E6E6E7E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E47536363636363636363636363635353535353535353535353535353535353534343434343434343434343434343333333333333333323232313131313131313131313130303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A292929292929292929292828282828282828282827272727272727272625252525252525252525242525252525252424242323232323232323232323232323232222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121211111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34BDBDBDBDBDBDBDBDBDBDBD410F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0000000000000000000000000000000000000000000000001A86888A8C8E919395989B9DA0A3A6A9ACAFB2B6B8BCBFC1C5C7CACED0D3D6D8DBDDE0E2E4E6E9EAECEEEFF1F2F3F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F46100000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80828586888B8D909395989CA0A2A4A9ABAFB3B5B9BDC0C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F6F7F8F8F9F9F9F9F9F9F9F9F8F8DDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7676767678787878797B7B7B7D7E80808283858687888B8B8D8F909293959597999A9C9DA0A0A2A2A3A4A5A7A8A9A9AAABABACADADADAFAFAFAFB1B1B1B1B1B1B1B1B1AFA59B9B9B9B9B9B999799979BA2938E8D8D8C8A8A8A8A8A898989898788888585838385858583838281828281818181849AB2B3B3B3B3B3B3B3A78283818485858889898D8E8F9293979B9C9C9EA1A4A7A7ACAEB1B5B5B6B9BBBDBFC1C3C3C5C5C5C6C6C6C9C8C8C5C6C5C5C4C3C3C1C0BFBFBDB9B9B5B2B1B0ACABA8A7A5A4A2A19E9B9B999794B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3806465656767676768696A6A6A6A6D6D6D6F6F70717072737375757577787878787879797B7B7C7C7C7C7C7D7F7F7E81818181818181818181818181818181818181807F7E7C7D7D7E7F8181817F7F818181818181818182818183828383858586888988888C8C8D8E8F909296999B9C9FA1A2A4A7A7ABACACB1B2B3B5B6B9BBBDBDBFBFC3C3C4C6C8C9CBCECECFD0D3D5D5D5D7D7D7D7D9D7D7D7D9D9D9D9DBDADADADADBDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDE7A3635353535353535353535363636363636353535353535353535353535353535353434343434343434343434343433333333333333333232323131313131313131313131303030303030303030302F2F3030303030302F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A29292929292929292929292828282828282828282727272727272727262625252525252525252525252525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FAEBDBDBDBDBDBDBDBDBDB5130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970000000000000000000000000000000000000000000000002A86888A8C8E919396989B9EA1A4A6A9ADAFB3B6B9BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E7E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6F5F46100000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7E80838587888B8D919395989CA0A2A4A9ABB1B3B5B9BDC0C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F6F8F8F9F9F9F9F9F9F9F9F9F9F8E9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38A7676767678787878787B7B7B7D7E8080828384858687898B8B8D8F90929393959598999A9C9EA0A0A2A2A3A4A4A5A7A8A8A9A9AAAAAAABABABACACACACACACACACACACABA8A2A2A2A19F9F9F9F9E9EA2A79B969496949393929292929090908F8E8E8C8D8A8D8C89898A8889898889898890A4B3B3B3B3B3B3B3B3B3B3A988898A8C8F8F8F929396999B9C9C9EA1A4A5A7ABAEB1B2B3B6B8BBBCBDBDBFC1C1C3C4C5C5C5C5C6C8C8C9C9C9C8C5C5C4C4C1BFBFBDBDBCBBB9B6B3B2B2B0ACABA8A7A7A4A2A19F9B9B979794B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37D5E5D5D5F6061616060616161626264646467676767696A6B6B6C6D6E6E6E6F6F72727273747273757575757576767577777778787878787878787B7B7C7C7B7B7C7B7B7B7B7B7B7B7B7878787B78787B7B7B7C7A7B7C7D7E7E7E7F81818283838585868988898D8E90929294979B9B9CA1A2A4A7A7A8ACACAEB1B1B3B6B9BDBFC0C3C5C8C8C8C9CACACED0D0D3D5D7D6D7D7D7D9DADBDCDBDBDCDEDEDEDEDFDEDEDEDEDFDFDEE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E19135353535353535353535353535353535363636363535353535353535353535353535353434343434343434343434343433333333333333333232323131313131313131313131303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A2A292929292929292929292828282828282828282727272727272727272625252525252525252525252525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191917171717171717171717171616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79BDBDBDBDBDBDBDBDBD720F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970000000000000000000000000000000000000000000000003586888A8D8F919396999B9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED1D4D7D9DCDEE0E2E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F47F00000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D8080838587888B8D919395989CA0A2A5A9ABB1B3B6B9BDC0C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F8F5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37F767676787878787878797B7B7B7D7E8080828384858788898B8B8D8F9091929395959798999A9C9EA0A0A0A2A2A3A3A4A5A5A7A7A8A8A8A9A9A9A9A9A9A9A9A9A9A9A9A99F92909292909090929293979E908C8A8A888A898988868685858585838383838381818080807E817F7F8092AAB3B3B3B3B3B3B3B3B3B3B3B3A98689898A8C8D8E90929497979B9C9E9FA1A5A7A8ACB1B2B3B6B6B6BBBCBFC1C3C3C3C3C3C3C3C4C5C4C5C5C5C6C6C6C5C4C5C4C3C1BFBFBDBCBBB8B6B3B1B1AEABAAA7A5A5A29F9E9B99979693B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E6262616161616464656565676869696A6D6C6D6E6E6E6F6F717273727575777675767776767777787777787878797B7C7C7D7C7D7E7E7F7F7F7F7F7E7E7F7F7F7F8180807E7E7E817E817F817F7F7F807F817F7F80807E8080818181818182838688898A8C8C8E90929497999B9C9C9EA1A2A7A8ABACAEB1B2B3B6B8BCBDBFBFC3C5C5C8CACED0D3D3D5D6D7D9DADBDADBDEDEDEDFDFE1E1E1E1E2E1E2E2E4E4E6E6E4E6E6E6E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7A43535353535353535353535353535353535353536363636353535353535353535353535353534343434343434343434343433333333333333333332323231313131313131313131303030303030303030302F2F3030303030302F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A292929292929292929292828282828282828282727272727272727272625252525252525252525242525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A19191919191919191919191919191917171717171717171717171616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F41BDBDBDBDBDBDBDBDBD390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000003586898B8D8F929496999C9FA1A4A7AAADB0B3B7B9BDC0C2C6C9CBCFD2D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F49200000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D8080838587898B8F919395999CA0A2A5A9ACB1B3B6B9BDC0C3C5C9CCD0D3D6D9DADDE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F8BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37F767678787878787878797B7B7B7D7D808080828385868788898B8B8D8F909192939395959799999A9C9D9EA0A0A0A2A2A2A3A3A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A29B9B9997979997979694979E908A8A8C8C8C8A89898889888886868583838383828181817F817F869EB2B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78183848786898C8C8C8F8F92949697999B9EA1A2A4A7A8AAACACB0B2B3B5B6B9BBBDBFBFBFC0C3C4C5C5C6C6C6C6C6C6C5C5C5C6C5C4C4C1BFBDBBB9B6B2B1AEACA8A7A7A5A29F9E9C99979696B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E636464656567676869696A6C6D6C6D6D6E6E6F707272727273737475777777787878797B7B7C7D7D7F7F7E7E7E7E7D7F7F7F8181818181818181818181828282838383828282838384848383838383848484868689898989898A8A8C8C8D8E8F909092969697979B9B9EA1A2A5A5AAACAEB1B2B6B8B9BDBFC0C3C4C5C9CACBCFD0D1D5D7DADCDEDEDEDEDEDEDFE1E1E3E4E4E6E6E7E7E9E7E6E6E6E7E7E7E9E9E9E9E7E7E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6B935353535353535353535353535353535353535353535363636363535353535353535353535353534343434343434343434343433333333333333333232323131313131313131313131303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A292929292929292929292928282828282828282827272727272727272626252525252525252525252525252525252424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717171616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F13B5BDBDBDBDBDBDBDAE0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000004B87898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F49200000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D8080838587898B8F919395999CA0A2A5A9ACB1B3B6B9BDC1C3C7C9CCD0D3D6D9DADDE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F8C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B381787878787878787878797B7B7B7B7D7E808082838385868788898B8B8D8D8F909192939595959798999A9C9C9D9EA0A0A0A0A2A2A2A2A2A2A3A3A3A3A3A3A3A3A3A3A3A2A29C9C9C9B9B9B9B9B9B9B9FA2968F8E8E8D8C8989898888888886868684848281817F7F818293A7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78181818383858688898A8C8D909294979B9E9EA2A2A5A8ACACAEB0B1B3B5B6B9B9BBBCBDBDBDBFBFBFBFBFC0BFBDBDBDBBBBBBB9B8B3B2B2B1B1AEACABAAA8A5A4A19F9E9C9B99979693928F8EB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37C5D5E5E5D5F60606060616161636361636363636363646565676869696A6A6A6D6C6D6D6D6D6E6F7272717272727273737374737576767676757777757775777676757577757575777775777775757777777878787878797B7C7B7D7D7D7E7F81818181838589898C8E9090939697999B9C9CA1A5A5AAABAEB1B3B5B6B8B9BBBCBDC0C3C4C5C6C9C9CACACECFCECECFD0D1D3D3D3D5D5D5D6D6D6D6D6D6D6D7D7D7D7D6D6D7D6D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCBD3535353535353535353535353535353535353535353535353536363635353535353535353535353535343434343434343434343434333333333333333332323231313131313131313131303030303030303030302F2F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282827272727272727272626252525252525252525252525252525252424242423232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717171616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8ABDBDBDBDBDBDBD720F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000005087898B8D90929497999C9FA2A5A8ABAEB1B4B7BBBDC1C4C6C9CDCFD2D5D8DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFF -FFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4B90000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D80828385878B8B8F919395999CA0A2A5A9ACB1B3B6B9BDC1C3C7C9CCD0D3D6D9DADDE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38C78787878787878787878797B7B7B7D7D7E808082838385868787888B8B8D8D8F9091929393959595979899999A9A9C9C9D9E9EA0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A09990909290909392929092979C8F8A8A8A88868684848383828381817F7F7F7F7C7E7E89A0B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77E7F8181838588888A8E8F90929497999C9FA1A2A5A5A7A7AAACAEB0B1B3B3B6B9BBBCBDBCBFBDBFBFBFBFC0C1C1BFBDBDBCBBB9B8B5B3B3B1B2AEAEACAAA7A7A5A4A4A19E9C9B99979492908FB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38063636463636364646565656767676769676A6A6A6B6D6D6F6F6F7171727173757475757575747575767776777776767877787877777777777778787877777677777777777777777777777779787B7B7B7B7B7C7D7C7C7D7C7C7C7E81818181818486898A8C8C8E8F90949699999B9C9E9FA4A4A5A7AAACB0B1B3B6B8B9BDBFC0C1C4C5C9C9CACACECFD1D1D3D5D7D7D7D9D9DADADBDCDEDEDFDFDEE1E1DEDEDFDFE1E1E2E2E3E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3DB37373737373737373737373737353535353535353535353535353535363636353535353535353535353535343434343434343434343434333333333333333332323231313131313131313131303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282827272727272727272726252525252525252525252525252525252424242423232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717171616161616151515151516141414141414151515151414141414141414141313131313131313131313131112121212121211111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F4FBDBDBDBDBDBDBD340F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000005588898B8E909295979A9DA0A2A5A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F4C200000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D80828486878B8D8F919395999DA0A3A5A9ACB1B3B7B9BDC1C4C7C9CCD0D3D6D9DADDE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F7F8F8F9F9F9F9F9F9F9F9F9F9F9F9E3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39278787878787878787878797B7B7B7B7D7E80808082838385868687888B8B8B8D8D8F90919292939395959597979899999A9A9C9C9C9C9D9D9E9E9E9E9E9E9E9E9E9D9D9D989292929090909090908F90978982818181818181817F7F7E7C7D7D7C7C7C7D8195ADB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78386878788898D8F929497979B9C9F9FA2A5A8AAABAEB1B5B8BBBDBFBFC3C3C5C5C5C8CACACACACBCBCBCBCACACACACBCACAC8C6C6C6C5C5C5C3C1C0BDBCB9B5B3B1ACAAAAA7A5A49F9C9B9B97B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37A5A5A5B5B5C5B5C5D5D5E5F5F5F5F5F60615F6161636263636465656565656767676869696A6C6B6D6D6B6D6D6D6D6C6D6E6E6D6D6E6D6E6F6F6F6F6F6F71717171716F716F7171717272717171707273737372737373737575767777787A7B7D7E817F818286888A8A8C8F90929294979B9B9FA1A2A5A7ABACAEB1B3B5B6B9BBBCBFC0C4C5C8CACBCECECFCFD0D1D3D3D3D5D5D6D5D5D7D9D7D7D7D9DAD9DADBDBDBDBDADADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDB373737373737373737373737373737373735353535353535353535353535363636353535353535353535353535343434343434343434343434333333333333333232323131313131313131313131303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A292929292929292929292928282828282828282827272727272727272625252525252525252525242525252525242424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515161414141414141515151514141414141414141413131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F20BDBDBDBDBDBDA70F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000006B888A8C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBFC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5CD00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D80828486888B8D90929397999DA0A3A5A9ADB1B3B7B9BDC1C4C7C9CCD0D3D6D9DADDE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F7F8F9F9F9F9F9F9F9F9F9F9F9F9F9F3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A078787878787878787878797B7B7B7B7D7D7E8080808283838586868788898B8B8B8D8F8F909191929393939595959597979899999999999A9A9A9A9A9A9A9A9A9A9A9A99948C8A8A8A8C8A898C8C8C9096898281818181818180808181817F7F7F818EA7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7838385898A898C8E8F90939396979B9C9FA2A2A4A5AAABAEB1B1B3B5B8BBBBBCBDBFBFC1C1C3C3C4C3C4C3C4C4C4C3C3C1BFBFBFBDB9B9B9B6B5B3B1B0AEACAAA7A4A29F9E9B9B999693908E8DB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37D5F5D5D5F5F5F60616161616363646464656767676767676869696B6D6D6E6E6E6F6F6F72727272737272727575757675777777757676767575757675757372727273727372727373737375757575757575767676767676767776777879797C7C7C7C7E8181828689898C8E9090929397999B9C9FA2A2A5A7ACAEB1B5B6B9B9BBBDBFC0C1C4C5C5C6C8C9CBCECED0D1D1D3D5D6D7D9D9D9DADBDBDEDEDEDEDEDEDFE1E2E3E2E2E2E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E159373737373737373737373737373737373737373735353535353535353535353636363535353535353535353535353434343434343434343434333333333333333332323231313131313131313131303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A2A2929292929292929292928282828282828282827272727272727272626252525252525252525242525252525252424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515161414141414141515151514141414141414141413131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98BDBDBDBDBD640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF070000000000000000000000000000000000000000000000006B888A8C8E919396989B9DA0A4A6A9ADAFB3B6B9BCBFC2C5C7CBCED0D3D6D8DBDDE0E2E5E6E9EAECEEEFF1F2F3F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5F400000000000000000000000000000000000000000000000000F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E80828586888B8D909295979A9EA0A3A7AAADB1B4B7BABDC1C4C7CACCD0D3D6D9DADDE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F7F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B079787878787878787879797B7B7B7B7B7D7D7E808080828383858586878788898B8B8D8D8F8F909091929293939393959595959597979797979797979797979797979797948D8D8D8C8C8C8A8989898C92837D7D7D7D7D7C7C7B787B78787B8BA0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D7E8181828685888A898D8F929497979B9C9C9E9FA4A4A5A8AAABACAEB0B1B3B6B9BBBCBDBFBFBFBFC1C1C1C0BFBFBFBFBDBDBDBCBCBBBBB9B8B5B3B1ACABAAA8A7A4A19F9C9B979494928F8EB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37C5D5D5D5D5D5D5E60605F5F5F616261636364656565656565656565656769696A6A6A6C6D6C6A6D6D6D6D6E6D6E6F6F6F6F6F6F6F7071717070717272727272717170717272717273737373757575757676767575757676757777777A787B7C7D7E7E8081828386898A8D8E8F90929697999C9CA1A4A5A8AAACB0B1B3B5B9BBBDBFC0C3C4C6C9CAC9CED0D3D3D5D7DAD9DADADADADBDBDBDEDBDAD9DADBDCDBDBDBDBDBDBDBDBDCDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDE603737373737373737373737373737373737373737373735353535353535353535353636363535353535353535353535353434343434343434343434333333333333333332323131313131313131313131303030303030303030302F3030303030302F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282827272727272727272626252525252525252525252525252525252424242323232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515161414141414141515151514141414141414141413131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5DBDBDBDBDBD2D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000007B888A8D8F919396989B9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED1D4D6D9DCDEE0E2E5E7E9EBECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5F400000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E80838587888B8D909295979A9EA0A3A7AAADB1B4B7BABDC1C4C7CACCD0D3D6D9DCDDE0E3E5E7E8ECECEFF0F0F3F3F5F5F6F7F8F9F9F9F9F9F9FAFAFAF9F9F9F9F9D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38A797978787878787979797B7B7B7B7B7B7D7D7E808080828383848586868788888B8B8B8D8D8D8F8F9090919192929293939393939595959595959595959595959595959490908F8F8E8F8D8D8D8D9094898181817F7E7E7C7B7B7E8CA2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D7F818383868A8C8C8E9093949697999B9EA1A4A5A7AAACACAEB2B5B6B9BBBDBFBFBFC1C1C3C4C4C5C4C4C4C4C5C5C5C3C1C0C0C0C1BFBCB9B9B6B5B2B2B1AEABA8A7A5A4A19E9C9B99979492B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B37E6363636364646464646565656565656768676969696A6A6A6A6A6A6B6C6D6C6D6D6D6E6E6D6E6E6E6F707072727071716F7070707171727172727272717172716F6F6F6E6E6E6E6F6F6F6F6E6F6F6E6E6F6F6F71727373757575747575777777797A7B7D7E7F818586898A8C8E929396999C9EA2A4A5A8ABACB0B1B3B6BBBDC0C3C5C6C9CACBCBCFD1D3D3D5D6D6D7D7DADADCDCDEDEDFE1E1E2E1E2E2E2E2E3E3E3E3E3E3E4E4E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E17C373737373737373737373737373737373737373737373737373535353535353535353535363635353535353535353535353534343434343434343434343333333333333333323231313131313131313131303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282827272727272727272726252525252525252525252525252525252424242423232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515161414141414141515151514141414141414141413131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2DBDBDBDBDA70F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30000000000000000000000000000000000000000000000000086898B8D8F929497999C9FA1A4A7AAADB0B3B7B9BDC0C3C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F6F5F431000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E82838587898B8D909395989A9EA2A4A8AAADB1B4B7BABDC1C4C7CBCCD0D4D7D9DCDEE0E3E5E7E9ECECEFF0F0F3F3F5F5F6F8F8F9F9F9F9F9FAFAFAFAFAF9F9F9F9E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A67B7B7B797979797979797B7B7B7B7B7B7D7D7D7E80808082828384858586868788888B8B8B8B8D8D8D8F8F9090909191919292929292929393939393939393929292928D86858585838383838383848C7F7B7B797B7A787D8CA0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A67B7C7B7E7E7F828385888A8C8E8F929497979B9E9FA2A5A7A8ACAEAEB1B3B6B9BCBDBFB3B6B6B6B6B6B6B6B6B6B6B3B3B6B3B3B3B3B3B3B3B3B2B2B2B0B0AFAFAFAFAFAFAEAEAEAEACABABABABB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A9A3A3A3A3A3A3A3A3A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6A6A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A5A5A6A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A7A7A7A79E8181828586898C8D8F90909396979B9CA1A2A5A7A8ABACAEB1B1B2B3B9BCBFC1C3C4C5C8CACBCED0CFD0D0D3D3D5D6D5D6D6D6D7D9D9D9D9D7D9D9D9D7D7D7D9DADBDCDCDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD98D3737373737373737373737373737373737373737373737373737373735353535353535353535363636353535353535353535353534343434343434343434343333333333333332323231313131313131313131303030303030303030302F30303030302F2F2F2E2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A2A29292929292929292929282828282828282828272727272727272726252525252525252525252525252525252424242423232323232323232323232323232222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515161414141414141515151514141414141414141413131313131313131313131312121212121212111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA7BDBDBD5D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000000A87898B8D8F929497999C9FA2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F7F7F5F43100000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E828486878B8B8F919395989C9EA2A4A8ABAFB1B4B7BABDC1C4C7CBCCD0D4D7DADCDEE0E3E5E7E9ECECEFF0F0F3F3F5F5F6F8F8F9F9F9F9FAFAFAFAFAFAFAF9F9F9F5B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3887B7B7B7B7B7B797B7B7B7B7B7B7B7B7B7D7D7E7E808080828283838485858687878888898B8B8B8B8D8D8D8D8F8F8F909090909091919191919191919191919090908E898989868686888687868C90837E7D7D8091A3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D7E7E8181838688898D8F90939697999B9CA1A2A4A7A7A8ACAEB1B5B8B9BBBCBCBCBFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A782838388898A8A8E909293979B9C9FA2A4A7A8AAAEB1B1B3B6B9BCBDC0C3C5C5C6C9CBCECFD0D1D3D6D7D6DADADBDEDEDEDEDEDFE1E1E2E3E4E4E4E4E4E4E6E6E4E3E3E3E2E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFA5373737373737373737373737373737373737373737373737373737373737353535353535353535353636353535353535353535353535343434343434343434343333333333333333323231313131313131313131303030303030303030302F3030303030302F2F2F2E2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A29292929292929292929282828282828282828272727272727272726262525252525252525252425252525252424242423232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515161414141414141515151514141414141414141413131313131313131313131312121212121212111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F72BDBDBD200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB90000000000000000000000000000000000000000000000001B88898B8E909295979A9D9FA2A5A8ABAEB1B4B7BBBDC1C4C6CACDCFD2D5D8DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F45800000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E838586888B8D8F919395999CA0A2A4A8ABAFB2B5B7BBBEC1C5C7CBCCD0D4D7DADCDEE0E3E5E7E9ECEDEFF0F0F3F3F5F5F6F8F8F9F9F9F9FAFAFAFBFBFAFAFAF9F9F9C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE7C7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7D7D7D7E808080808082828383848585868687878888898B8B8B8B8B8D8D8D8D8D8D8D8F8F8F8F8F8F8F8F8F8F8F8F8F8F8D867D7D7E7E7D7E7E7D7E7E8186798293ADB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77C7E7F818183868A8A8C8F929497999B9C9FA1A4A5AAABACB1B3B5B8B9BDBFC1C3C4C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7878789898D8E8F90939497999C9EA2A5A7ACAEB0B3B5B6B8B9BBBFC1C3C5C5C9CACACBCFD1D3D5D5D7D7D9D9DADADBDBDEDFDEDFDFE1DFDFDEDFDFDEDEDFDFDFDFDFE1E1DFE1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DADADADAD9D7D6D5D5D5D3D3D1D3D3D1D1D3D3D3D3D3D3D3D1D1D1911A1A1A1A191919191919191919191919191919171717171717171717171716161616161515151515161414141414141515151514141414141414141413131313131313131313131312121212121212111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F39BDBD980F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000020888A8B8E909395989A9DA0A2A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F46100000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F3F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E838587888B8D90929395999CA0A2A5A9ABAFB2B5B7BBBEC1C5C7CBCED1D4D7DADCDEE0E4E5E7E9ECEDEFF0F1F3F3F5F5F6F8F8F9F9F9F9FAFAFBFBFBFBFAFAF9F9F9D9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A17D7B7B7B7B7B7B7B7B7B7B7B7B7B7B7D7D7D7D7E808080808082828383848485858686878788888889898B8B8B8B8B8B8B8B8B8D8D8D8D8D8D8D8D8D8D8D8D8B8B82787B7C7879797876787A89A1AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77E8081838588888D8E909394979B9C9FA1A4A5A8AAACB0B2B3B6BBBDC0C1C3C4C4C5C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A67B7C7D7F818388888A8C8F9094969B9B9EA1A2A4A7A8ACB1B1B3B6B8BBBDBFC0C4C5C6C6CACBCECFD1D5D6DADADADADBDCDEDEDEE1E1E1E1E1E1E1E2E2E3E3E2E3E3E4E4E6E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDB991A1A1A1A1A1919191919191919191919191919191717171717171717171717161616161615151515151614141414141415151514141414141414141414131313131313131313131313121212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5BD5D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7500000000000000000000000000000000000000000000000036888A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BCBFC2C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5890000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A08486878B8B8F909295979A9DA0A3A5A9ACB1B3B5B9BDBEC1C5C7CBCED1D4D7DADCDEE0E4E5E7E9ECEDEFF0F1F3F3F5F5F6F8F8F9F9F9F9FAFBFBFBFBFBFBFAFAF9F9F1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7D7D7B7B7B7B7B7B7B7B7B7B7B7B7B7D7D7D7E7E80808080808282828383848485858686868787878888888889898B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B867E7D7D7C7B7B8695A5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A781818484868A8C8D8E909397979B9C9FA2A5A7A8A8ACAEB1B1B5B8B9BDBDBFC0C0C1C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A677797B7D7F8182848588898A8C8E909296999B9E9FA4A5A8A8ABAEB0B2B3B6B8BBBCBDBFC3C3C5C5C6C8C9CACBCFD0D1D3D6D7D7D9DBDCDBDADADADADADBDBDBDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DF9B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171717161616161615151515151614141414141415151514141414141414141414131313131313131313131313121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82BD200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000003B888A8D8F919396989B9EA1A4A6AAADAFB3B6B9BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F5920000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A08587888B8D8F919395989A9EA0A3A7AAADB1B3B6B9BDC0C3C5C9CCD0D1D4D8DADCDEE0E4E5E7E9ECEDEFF0F1F3F5F5F6F6F8F9F9F9F9FAFAFBFBFBFBFBFBFBFAFAF9F9C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7F7D7D7D7B7B7B7B7B7B7B7B7B7D7D7D7D7D7E7E808080808080828282838383848585858686868787878787888888888888888888888888888888888888888681818994A3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77E7F81818286898C8C8F909397999B9EA1A2A5A5A8ABAEB1B3B5B8B9B9BCBDBFC0C3C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6767879787C7E818386898A8D8F90929397999C9E9FA2A5A7A7AAACB0B2B3B6B9BCBFC0C3C5C6C6C8C9CBCBCBCED0D1D3D5D5D3D3D5D6D6D7D7D5D5D7D6D7D7D9D9D9D7D7D7D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAA51B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171717161616161615151515151614141414141415151514141414141414141414131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F488A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3500000000000000000000000000000000000000000000000050898B8D8F929497999C9FA1A4A7AAADB0B3B6B9BCC0C2C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F5C30000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A18687898B8D90929395999CA0A2A4A8AAADB1B4B7B9BDC1C3C5C9CCD0D1D4D8DADCE0E1E4E7E7E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBFBFBFBFAFAF9DFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD847D7D7D7D7D7B7B7B7B7B7D7D7D7D7D7D7E7E7E80808080808082828282838383848485858585868686868686878787878787878787878787878787878F99A3B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77C7F808181828586868A8C8D8F9394999B9C9EA1A4A5A7A8AAACAEB0B3B3B6B6B9BBBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77C7E80818385898A8D8F9093979B9B9C9FA1A2A4A5A7AAACB0B2B3B6B9BBBDBFC3C4C5C6CACACECFD1D5D6D5D7D7D7D9DBDCDCDEDCDEDEDEDEDFDEE1E1E1E1E2E1E1E1E1E1E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7941B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171717161616161615151515151614141414141415151514141414141414141414131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1A4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000005C898B8D8F929497999C9FA2A5A8AAAEB0B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5CD00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A187888B8D8F91929597999DA0A2A4A8ABAFB1B4B7BABDC1C4C7C9CCD0D3D6D9DADDE0E1E4E7E8E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBFBFBFBFBFAF9F7B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B29B837E7E7D7D7D7D7D7D7D7D7D7D7D7D7D7E7E80808080808080808282828283838383848485858585858585868686868686868686868689929DA8B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D7E81818588888C8D909296979B9CA1A2A5A7A8ABB0B1B2B6B6B9BCBFC1C1C3C5C5C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77C7E7F80818385898A8D8F929396999B9C9EA2A5A8ABAEB1B1B3B6B9BDBFBFBFC1C1C3C4C9C9CBCECFD0D0D1D3D3D5D5D7D9DADBDBDEDEDEDEDEE1E1E1E2E3E3E4E4E4E4E3E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDC9A1B1B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171717161616161615151515151614141414141415151514141414141414141413131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000006D898B8E909295979A9DA0A2A5A8ABAEB1B4B7BBBDC1C4C6CACDCFD2D5D8DADCDFE1E4E6E7EAEBEDEFF0F2F3F4F5F6F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5F400000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF9F9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A188898B8D90919395989A9EA0A3A5A9ABAFB2B5B7BABEC1C4C7CACCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFBFBFBFBFBFBFBFBFAFAF9CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B29B83807E7E7D7D7D7D7D7D7D7D7D7E7E7E7E808080808080808080828282828283838383838384848484858585858585868F99A3AEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7858486898A8C8D8E8F909397999B9EA1A2A7A7ABAEB2B3B6B6B9BBBDBFC1C3C5C5C8C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77C7C7E7F81818285898A8C8E909294979B9B9EA1A4A7A8ABAEB1B2B5B8BBBCBDBFBFC1C3C4C6C9C9CACECFD0D1D5D5D6D6D6D7DADADBDADBDADADBDADADCDCDEDEDBDBDADADAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DE9A1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171716161616161615151515151614141414141415151514141414141414141413131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED000000000000000000000000000000000000000000000000007D8A8C8E919395989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDD0D3D6D8DBDDDFE2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F5F413000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A1888B8D8F91929595999CA0A2A3A7AAADB1B3B5B7BDBEC1C5C7CBCCD0D4D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFAFBFBFBFBFCFCFCFBFBFBFBFAFAE7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A58D81807E7E7E7E7E7E7E7E7E7E7E808080808080808080808080828282828282828383838383838387919AA3ACB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A988888C8E9090949797999B9C9E9FA1A4A4A7A8ABACB1B1B1B5B8B9BBBCBDBFC0C1C3C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7838486888A898E8F909397979B9CA1A2A5A7ABB0B2B3B5B8B9BCC0C1C3C6C9C9CBCFD1D5D5D7D9DBDEDEDFE2E3E3E3E4E6E9E9EAEBEBEBEAEAEAEBEBEBECEEEFEFEEEEEEEEF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADB991B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171717161616161615151515151614141414141415151514141414141414141413131313131313131313131311121212121212111111111111111111111111101010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE00000000000000000000000000000000000000000000000000888A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BCBFC2C5C7CACED0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F53100000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F7F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A18B8B8D90919395979A9DA0A2A4A8AAADB1B4B7B9BDC0C3C5C7CBCED1D4D7DADCDDE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFBFBFCFCFCFCFCFBFBFBFBFAF9BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7988B838080807E7E7E7E8080808080808080808080808080808082828282868A939BA3ACB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78384868688898C8E8F92929697999B9EA1A4A5A7ABACAEB1B2B5B5B8B9BCBFC0C3C3C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D7D80818386898C8E8F909396999B9C9EA2A5A8ACB0B2B5B6B9BBBFC0C4C6C9CBCED0D1D3D5D6D7DADADADBDBDCDEE1E1E2E2E3E4E6E6E6E7E9E9E7E9E9E7E6E6E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DADADADAD9D7D6D5D5D5D3D3D1D3D3D1D1D3D3D3D3D3D3D3D1D1D1D0D1D1D1D0D1D1D1D3D1D3D3D5D7D7D7D7D7D7D9D7D7D7D7D5D6D6D7D7D5D5D5D5D5D6D6D6D6D7D7D7D7D7D7D7D7D7D9D9DADAD9D9D9D9DADADADBDCDCDEDEDEDCDEDFE1DFE1E1E1DFDEDEDEDEDEDFE1E2E3E2E2E3E3E4E3E2E3E3E3E3E1E3E2E2E1E2E2E2E2E2E39D1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515141414141414141414131313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA200000000000000000000000000000000000000000000000016898A8D8F919496999B9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED1D3D6D9DCDEE0E2E5E6E9EAECEEEFF1F2F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F54E0000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A28B8D8F91939597999C9EA0A3A5A9ABAFB2B4B7BABDC1C3C5C9CCD0D1D4D7DADCDEE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFBFBFBFBFADFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0A79E98918D8787878380808080818787888892929A9E9FA8B0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77F81828688898C8C8F8F909394979B9CA1A1A2A4A5A5A8AAABACB0B1B5B5B8B9BBBBBDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77E7F8183858589898C8E8F9294979B9C9EA1A2A5A7AAACB1B1B6B8B8BDBFBFC1C3C5C9CACBCFD1D5D6D7D7D9DADADADBDBDCDBDBDCDEDFE1DFE1E2E1E1E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4A01B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515141414141414141414131313131313131313131313121212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000020898B8D8F929497999C9FA1A4A8AAADB0B3B7B9BDC0C2C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6F56200000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A28D8F91929395989A9DA0A2A4A8AAADB1B3B5B7BBBDC1C4C7C9CCD0D3D4D8DADCDEE0E4E5E7E9ECEDEFF0F0F3F3F5F5F6F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFBFBFBFBFABEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A98A8D8E9090929697999B9C9E9FA2A4A5A7AAACB0B1B1B5B6B9BCBDBFC1C3C3C5C5C5C8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A5747678787B7D7E81818589898D90939496999B9B9FA2A5A5A8ACB0B3B5B9BBBFC0C1C3C5C6C8C9C9CACECFD0D1D3D5D5D7D9D9D7D9DADADADBDCDCDCDEDEDEDFDFDEE1E1DFE1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DF9B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515141414141414141414131313131313131313131313121212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000000000000000000000000000000000000000000000000036898B8E90929497999C9FA2A5A8ABAEB1B4B7BABDC0C4C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7F5920000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A38F9092939597999C9EA0A3A5A9ABAFB1B4B7B9BDBEC1C5C7CACCD0D3D6D9DADCE0E1E4E5E7E9ECEDEFF0F0F3F3F5F5F6F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFBFBFBFAD9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8D8E90939697999B9C9EA1A4A5A7ABACAEB1B5B5B8B9BBBBBDC0C3C4C6C8C9CBCFD1D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77E81818486888A8D8F9293979B9C9EA1A2A5A7A8ABAEB1B2B6B9BCBDBFC1C4C5C9CBCFD1D1D5D5D7D6D9DADBDCDEDEE1E3E3E6E6E4E4E6E6E6E6E6E6E7E9E7E7E7E6E4E4E3E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDB991B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161616151515151516141414141414151515141414141414141414131313131313131313131313121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35000000000000000000000000000000000000000000000000478A8C8E919395989A9DA0A2A5A9ABAFB2B4B8BBBEC1C4C7CACDCFD2D5D8DBDDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5B000000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F6F5F3C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A49192939597999A9EA0A2A4A8AAACB1B2B5B7BABDC1C3C5C7CBCCD0D4D7D9DADDE0E1E4E7E8E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFBFBFBF7B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8E9092929497979B9C9CA1A2A5A7A8ACB1B1B3B5B5BBBBBCBFC1C3C4C5C6C9CACBCBCBB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77C7E8082838389888A8C8F9090939497999B9FA1A4A5A7A8ACB1B3B6B6B9BCBDBFC3C3C4C5C6C9C9CBCECFD1D1D3D5D5D7D6D7D9DADADADADADADAD9D9D9D9DADBDCDCDCDCDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBA41B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161615151515151516141414141414151515141414141414141414131313131313131313131313121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19000000000000000000000000000000000000000000000000578A8C8E919396989B9DA0A3A6A9ACAFB2B6B8BBBFC1C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F7F6C400000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A492939595989A9DA0A2A3A5A9ABADB1B3B6B7BBBEC1C4C7C9CCD0D1D4D7DADCDDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBDAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A987888A8D8D9090939497979B9C9F9FA1A4A5A5A7A8AAAEB0B1B2B3B3B6B6B8B9BBBBBDBBB4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78182838589898C8D8F9092949797999CA1A2A5A8ABABAEB1B5B6B6B9BBBDBFC1C4C5C6C9C9C9CACED0D1D3D5D6D7D6D5D7D9DADADADCDADADADBDEDEDCDBDBDBDBDCDEDCDCDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E19E1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161615151515151514141414141414151515141414141414141414131313131313131313131311121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000006E8A8D8F919496999B9EA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDDE0E2E5E6E9EAECEEEFF1F2F3F4F5F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6F500000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A4939595989A9CA0A0A3A5A8AAADB1B2B4B7B9BDC0C1C5C7CACCD0D3D4D8DADCDEE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBF7BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8E8F90929496979B9C9C9E9FA2A5A5AAABB0B0B2B3B5B6B6B9B9BBBCBFC3C3C4C5C6C5C6C0B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A98687888A888A8C8D909294979B9B9EA1A2A5A8ACB0B2B3B6B9BCBDC0C0C1C3C5C8CBCBCECED0D3D5D7DADADADBDBDEDFE1E1E2E1E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E19C1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191919171717171717171717171616161616151515151516141414141414151515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE000000000000000000000000000000000000000000000000007E8B8D8F929497999C9FA1A4A8AAADB0B3B7B9BDC0C2C6C9CBCED1D4D7D9DCDEE0E2E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6F51E00000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A49597989A9C9EA0A2A4A7A9ABAFB1B3B6B7BBBDC1C3C5C7CBCCD0D3D6D9DADCDEE0E4E5E7E9ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBE3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA909293939697999B9E9FA2A4A5A7ABACB0B1B3B6B9BCBDBDBFC1C1C3C3C4C4C5C8C9C9CACBC0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A78183838688888A8D8E9092929494999C9C9EA2A2A5A5A8AAACACAEB0B1B2B6B9BBBDBDC0C1C3C4C5C8C9CACECECFD0D0D0D0D1D1D3D5D5D6D5D5D3D3D5D6D5D5D5D5D7D6D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E29E1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171616161616151515151516141414141414151515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD00000000000000000000000000000000000000000000000005898B8E909294979A9C9FA2A5A8ABAEB1B4B7BABDC0C4C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F7F53A0000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF9F9F9F8F8F6F5F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A697999A9C9EA0A2A4A5A9ABADB1B3B5B7B9BDBEC1C4C7C9CCD0D1D4D7D9DADDE0E1E4E7E7E9ECEDEFF0F0F3F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8C8D8F8F92939396999B9C9EA2A2A5A5A7A8ABAEB2B2B5B6B9BBBDBFBDC0C3C4C6C6C8C9C8C8B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7858689898A8D8F8F92929497979B9C9FA2A5A7A8ABAEB0B2B6B9BCBCBFBFC1C5C6C9CACBCED0D3D3D6D7D7DADBDCDEDEDCDEDEDBDEDCDBDBDCDEDCDEDEDEDEDEDFDEDEDEE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6941B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191919171717171717171717171616161616151515151516141414141414151515141414141414141414131313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000001B8A8C8E919395989B9DA0A2A6A9ABAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DADDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5620000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6999C9DA0A0A2A4A5A9AAADAFB1B4B6B9BBBDC1C3C5C7CBCCD0D3D4D8DADCDEE0E3E5E7E8E9ECEDEFF0F1F3F3F5F5F6F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBEBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8F9090949697999B9E9FA2A4A5A8ABACACB1B2B5B8B9BDBDC0C3C5C6C8CBCED0D1D1D5D5D7D9D7BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A9868888898D8E90929397999B9C9EA1A2A4A5A8A8ACACAEB1B2B6B9BBBDBFC3C4C6C8C8CACBD0D1D1D5D3D6D7D7DADBDCDBDBDCDFDEE1E1E1E1E1E1E2E4E6E6E4E3E3E4E4E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5951B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171616161616151515151516141414141414151515141414141414141414131313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000318A8D8F919396989B9EA0A4A6A9ADAFB2B6B8BCBFC2C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F58900000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F6F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A89C9EA0A0A2A4A5A8AAACAFB1B3B5B7BABDC0C1C4C7C9CCCED0D4D6D9DADCDEE0E4E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBCFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB97999B9B9E9FA2A5A5A7A8ACAEB0B2B5B9BBBBBDBFC1C3C5C6C9CBCECFD0D0D3D5D5D7D9D9D9DADAB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A989898A8C8E8F9092939797999C9B9EA1A4A5A8ABACB1B3B5B8B9BDC0C1C4C5C8CBCBD0D0D1D3D3D5D6D7D9DADBDEDEDFE1DEE1E1E1E2E4E6E6E4E6E6E6E4E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6D23A3A3A3A3A3A3A3A3A3A3A3A3A3A3A393939393939393939393A3A3A3A3A3939393939393939393939383838383837373737373737373737373737373737353535353535353636353535353535353535353434343434353535353434343434343435353434343333333333333232323232323232323131313131313131313030302F2F2F2F2F2F2E2E2E2E2E2D2D2D2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828282727272727272727262525252525252525252425252525252424242423232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171616161616151515151516141414141414151515141414141414141414131313131313131313131313121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C000000000000000000000000000000000000000000000000428B8D8F929496999C9FA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDEE0E2E5E6E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F6B100000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A9A0A0A2A3A4A7A9AAACAFB1B3B5B7B9BDBEC1C3C5C7CBCCD0D1D4D7DADCDDE0E1E4E7E7E9ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBF9BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB949799999B9B9CA1A1A2A4A7A7AAABACAEB1B2B6B8B9BBBCBDBFC1C4C5C5C9C9C9CACACBCECFCECFCBB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA8C8E8E8F9092939497979B9C9C9C9FA2A5A7A7ACACAEB1B2B3B9BBBDBFC4C5C8C9CBCBD0D3D5D7D7D9DADBDCDEDFE1E2E3E3E2E3E3E3E3E4E4E4E4E4E6E4E3E3E4E3E3E3E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3493A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3939393939393939393A3A3A3A3A3939393939393939393939383838383737373737373737373737373737373735353535353535353636353535353535353535343434353535353535343434353535353535343434343333353535353535353533333333323131313131313131313030302F2F2F2F2F2F2E2E2E2E2E2D2D2D2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282827272727272727272625252525252525252525252525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191919171717171717171717171616161616151515151516141414141414151515141414141414141414131313131313131313131313121212121212111111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07000000000000000000000000000000000000000000000000588B8D8F929497999C9FA2A5A8ABAEB0B4B7BABDC0C3C6C9CBCED1D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFAF9F9F8F7F6CE00000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AAA0A2A3A5A7A9AAACAFB1B3B5B7B9BBBDC0C1C5C7C9CCCED0D3D6D8DADCDEE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBE6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AC97999B9C9C9FA1A4A5A5A7A7AAABACB1B2B6B6B9BBBDBFC1C1C3C4C5C6C8C9C9C9CBCECED0D0D1D3D1C7B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB9696979799999B9C9EA1A4A5A7A8ACB0B1B3B5B6B8BCBDC0C1C5C6C9CBCFD0D3D5D7D9DADADCDEDEDEDEE1E1E1E1E2E3E2E3E3E3E2E1E1E3E3E3E3E3E4E4E3E3E4E3E3E2E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDE6B3B3B3B3B3B3B3B3B3B3A3A3A3A3A3A3A3A3A3A3A39393939393939393A3A3A3A3A39393939393939393939393838383837373737373737373737373737373737353535353535353636353535353535353535363535353535353535363535353535353536363535353535353535353535353535333333333232323232313131313030303030302F2F2F2E2E2E2E2E2E2E2D2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282727272727272727262625252525252525252525252525252524242423232323232323232323232323222222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171716161616161515151515161414141414141515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3000000000000000000000000000000000000000000000000006E8B8E909295979A9DA0A2A5A8ABAEB2B4B7BBBDC1C4C6C9CCCFD2D4D7DADCDEE1E3E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F7F500000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F5C0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AAA3A4A5A8A9ABADAFB1B3B4B7B7BABDBEC1C4C5C7CBCCD0D1D4D7D9DADDE0E0E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBCFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA7AAACACAEB0B2B2B6B8BBBDBDBDBFBFC0C1C3C5C8C9CACBCED0D1D3D3D5D5D5D7D7D9DADADBDCDBDCDCC9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A98A8C8E90909293939697999B9C9FA2A4A5A5A7A7AAAAACAEB1B3B5B8BCBFBFC0C0C3C5C6C8C8C8CACECFD0D1D1D3D5D5D6D7D6D7DAD9D9DADBDBDBDCDEDEDEDEDEDEDBDCDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDE933B3B3B3B3B3B3B3B3B3B3B3B3B3A3A3A3A3A3A3A3A3A3939393939393939393A3A3A3A3939393939393939393939383838383737373737373737373737373737373535353535353535363635353535353535353535353535353636363635353536363636363635353535353535353535353535353333333332323232323232323130303030303030302F2E2E2E2E2E2E2E2E2D2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727272626252525252525252525252525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171716161616161515151515161414141414141515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB900000000000000000000000000000000000000000000000000858C8E919396989B9DA0A3A6A9ACAFB2B5B8BBBFC1C4C7CACDD0D3D5D8DBDDDFE1E4E6E7EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F53100000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F6C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ACA5A8A9AAABADAFB1B3B5B7B7BABDBEC1C3C5C7CACCD0D1D3D6D8DADCDEE0E3E4E7E7E9ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBF9BFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AEA1A1A2A5A7A8A8ABACAEB0B2B2B5B6B9BCBDBFC1C4C4C5C9CBCECECFD0D3D3D6D7DADADBDBDCDBDCDEDEDEC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB93949497999B9B9B9B9B9E9EA2A4A5A7A8ACACAEB1B2B2B5B9BBBFBFC1C4C5C8C9CACFD0D1D3D5D7DADADBDCDCDCDEDEDEDEDFE1E1E3E3E3E3E2E3E3E3E4E6E7E7E6E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9BE3B3B3B3C3B3B3B3B3B3B3B3B3B3B3B3B3B3A3A3A3A3A3A3A3A393939393939393A3A3A3A3A3939393939393939393938383838373737373737373737373737373737373535353535353536363535353535353535353535363636363636373736363636363636363635353535353535353535353535353535353532323232323232323131303030303030302F2E2E2E2E2E2E2E2E2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A2929292929292929292928282828282828282827272727272727262625252525252525252525252525252524242423232323232323232323232323232222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171716161616161515151515161414141414141515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000118A8D8F919496999B9EA1A4A6AAADB0B3B6B9BCBFC2C5C7CBCED0D3D6D8DBDDE0E2E4E6E8EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F64F00000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ADA9AAABADAFB1B1B3B5B7B7BABDBEC1C3C5C7C9CCCCD0D3D4D7D9DADDDEE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AC9B9B9E9F9FA1A4A5A7A7ABABACACAEB1B2B3B5B6B6B9BBBCBFC1C3C3C3C4C5C6C8CACBCFCFCFD0D1D1D0D3D3BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB9293949797999B9C9C9E9FA2A5A7A8ACAEB1B1B5B5B8B9BDBFC1C3C4C5C5C5C8CACBCED0D0D1D5D6D7DADADCDEDEDFE1E1E1E2E2E1E2E3E3E3E3E3E4E4E4E6E6E7E9EAEAEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEE23C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3B3B3A3A3A3A3A3A3A3A393939393939393A3A3A3A3A3939393939393939393938383838373737373737373737373737373737373535353535353536363535353535353536363636363636373737373636353535353536363535363536363636363535353535353535353533333332323232323131313130303030302F2E2E2E2E2E2E2E2E2C2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282827272727272727262625252525252525252525252525252524242423232323232323232323232323232222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919191717171717171717171716161616161515151515161414141414141515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000268B8D8F929497999C9FA1A5A8AAADB0B3B7B9BDC0C2C5C9CBCED1D4D7D9DCDEE0E2E5E7E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F67500000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AEABADAFB1B1B3B4B5B7B9BABDBEC1C3C5C7C9CBCCD0D1D4D6D9DADCDEE0E1E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBDDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA8A8ABAEB0B1B1B2B5B6B6B9B9BCBCBDC0C1C4C4C5C6C9CACBCBCBCED0D1D1D3D3D6D9D9D7D7D9DADADADBDBDCB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA90929393949799999B9C9E9EA2A5A7A7AAABACB0B2B2B3B5B8B9BBBDBFC1C3C4C6C6C9CBCACBD0D0D1D3D3D3D5D5D5D5D5D5D7D9DADADADBDCDEDBDBDBDBDBDBDEDCDCDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1573C3C3C3C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3B3A3A3A3A3A3A3A393939393939393A3A3A3A3939393939393939393939383838383737373737373737373737373737373535353535353536363535353535363636363636363636373736363636353535373737373636363636363636363535353535353535353533333333333332323131313131303030302F2F2E2E2E2E2E2E2E2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282827272727272727272625252525252525252524252525252524242424232323232323232323232323232222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161615151515151614141414141415151514141414141414141313131313131313131313131112121212121211111111111111111111111110101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000003D8B8E909295979A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F6A600000000000000000000000000000000000000000000000000F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AEAFB1B1B2B4B5B7B7B9BBBDBEC1C3C5C7C9CBCCD0D1D3D6D7DADCDDE0E0E3E5E7E8E9ECECEFF0F0F1F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBCFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AE9E9FA2A4A7A7A8A8ABAEB0B1B3B3B6B6B8B9BCBDBFBFC1C4C5C9C8C9CACBCECED0D1D3D3D3D7D6D9D9DADADADCD6B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB9797999B9C9E9FA1A2A2A5A5A7A8AAACACB0B1B5B5B8BBBBBFBFC3C3C5C5C8CACACACBCECFCECFD0D3D5D5D6D6D9DADBDBDADCDEDFDFDFE1DEDFDFE1E2E3E2E1E1E1E2E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E67D3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3A3A3A3A3A3A3A393939393939393A3A3A3A39393939393939393939393838383737373737373737373737373737373535353535353636363635353636363638383836363636363636363836373737373737383837373737373737373736363635353535353434353533333333333131313131313130302F2F2F2F2E2E2E2E2E2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727272625252525252525252524252525252524242424232323232323232323232323232222222222202020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171717161616161615151515161614141414141515151514141414141414141313131313131313131313131212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000538C8E919396989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DADDDFE1E4E6E7E9EBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7CE00000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F8F7C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B1B2B4B5B6B7B9BABDBDC0C1C3C5C7C7CBCCCED0D3D4D7D9DADCDEE0E3E4E5E7E8EBECEDEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBF9C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA2A4A5A5A5A8AAA8ABAEB1B1B3B5B5B5B6B8B9BCBDBDBDBFC1C3C3C5C8C8C8C8CACACACECFD0D3D3D3D3D5D5D3D5CAB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AC999B9B9C9E9EA1A2A5A5A5A7A7AAACAEB1B2B6B8B9BCBFBFC0C3C5C5C9CACBCBCBCBCED1D1D3D5D5D6D9DADBDEDEE1E1E1E2E2E2E2E3E3E3E3E3E3E4E4E4E4E4E4E6E6E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFB23C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3A3A3A3A3A3A3A393939393939393A3A3A3A393939393939393939393838383837373737373737373737373737373735353536363636363836363636383838383836363636383838383836383838383838383837373737373737373736363636363636363534353535353333333232313131313131302F2F2F2F2F2E2E2E2E2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727272625252525252525252525252525252524242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191917171717171717171716161616161515151515161414141414141515151414141414141414141313131313131313131313131212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE000000000000000000000000000000000000000000000000006E8D8F919496999B9EA1A4A6A9ADAFB3B6B8BCBFC2C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7F5000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B4B5B6B7B7BABBBDBEC1C1C3C5C7C9CBCCCED0D3D4D6D9DADCDDE0E0E3E5E7E8E9ECECEFEFF0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBF1BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA4A4A5A5A8A8AAABACAEAEB0B2B3B6B9B9B9BDBFBFBFC1C3C5C8C9C9CACBCBCECECECFCFD0D0D0CFCFD1D1D0D1D0D0C2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AEA1A2A2A2A2A4A5A5A7AAABACAEB1B1B1B1B2B2B3B6B9BBBFBFC1C3C3C5C8C9CACBCBCECED0D0D1D3D1D3D3D5D5D5D6D7D7D7D7D7D7D7D7D7D7D9DBDCDCDEDCDBDBDBDBDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADAC83D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3A3A3A3A3A3A3A393939393939393A3A3A3A393939393939393939393838383837373737373737373737373737373737363636363738383837373738383737373638383838393939393838383939393939393838383838383838383737373736363636363535353535353333333232323131313131302F2F2F2F2F2E2E2E2D2D2D2D2C2C2C2C2C2B2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727272625252525252525252525252525252524242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191717171717171717171716161616161515151515161414141414141515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA200000000000000000000000000000000000000000000000000868D8F929497999C9FA1A4A8AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDDE0E2E5E6E9EAECEEEFF0F2F3F4F5F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F63100000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B7B7B9BABBBDBDC0C1C1C4C5C7C9CBCCCED0D1D4D6D8DADCDDDEE0E3E4E5E7E8EBECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBE9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0AAACACAEB0B1B2B3B6B6B8B9B9B9BBBDBFC3C3C5C5C6C9CACBCBCBCECFD0D0D0D0D1D3D5D5D6D7D7D9D7D9DADADADADAC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA7AAAAAAAAABABACAEB0B2B5B5B6B9BBBFC0C1C3C4C4C8C9CACBCFD1D3D5D7D7DBDBDEDEDFDFE1E3E3E2E2E3E3E3E3E4E4E4E4E4E4E3E2E2E3E3E4E4E4E4E4E3E3E4E3E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDE523D3D3D3D3D3D3D3D3D3D3D3C3C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3B3A3A3A3A3A3A393939393939393A3A3A3939393939393939393938383838373737373737373737373737373737373736373737373939373738373737393939383A3A3A3A393A3A3A3A39393A393A3A3A3A3939393939393939383737373737373736353535353535353333323232323231313131302F2F2F2F2F2E2E2E2D2D2D2D2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727272626252525252525252525252525252524242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191717171717171717171716161616161515151515161414141414141515151414141414141414141313131313131313131313111212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A000000000000000000000000000000000000000000000000168B8E909295979A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEEFF1F2F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F66200000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9F8C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9BABBBDBDBEC1C1C3C5C5C7C9CBCCCED0D1D4D6D8DADADCDEE0E1E4E5E7E8E9ECECEFEFF0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBE9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFABACB1B0B1B1B2B3B5B6B9BBBCBCBDBFBFC0C1C4C4C6C9C9C9CACECFD0D1D1D1D1D3D5D5D5D6D6D6D6D7D9D7D9DAD9DADABBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA5A5A7A8AAAAACACAEB0B1B3B5B6B6B9BCBCBDBFBFC1C3C4C5C5C6CAC9CBCECBCECFD0D1D3D3D3D6D7D7D9D9D9DADADADADADBDADADADADADADADBDBDBDADADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6753E3E3E3E3E3E3E3E3E3D3D3D3D3D3C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A3A3A3939393939393A3A3A3A39393939393939393939383838383737373737373737373737373737373837373739393939383838393939393B3B3A3A3B3B3B3A3A3B3B3A3A3A3A3B3B3B3A3A3A3A3A393939393938383838383837373736363535353535333332323232323231313130302F2F2F2F2F2E2E2D2D2D2D2D2C2C2C2C2B2B2B2B2B2B2B2B2A292929292929292929282828282828282828272727272727272626252525252525252525252525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171717161616161615151515151614141414141415151514141414141414141413131313131313131313131112121212121211111111111111111111111110101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000002C8C8E919396989B9DA0A3A6A9ABAFB2B5B8BBBEC1C4C7CACDCFD2D5D7DADCDEE1E4E5E7E9EBECEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F78900000000000000000000000000000000000000000000000000F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F8C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BDBDBEC0C1C1C3C4C5C7C7CACCCCD0D0D3D4D6D7D9DADCDEE0E1E3E5E7E7E9ECECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBE3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFAAABABAEB0B0B2B1B3B3B3B5B6B8B9BBBDBFC0C3C4C5C4C5C8C9CBCACED0D1D3D3D3D6D6D7D7D9D9D9DADADADADADADBDAD7B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA2A2A4A4A5A5A5A7A7A8A8AAABAEB1B2B5B6B9B9B9BBBDBFC0C0C1C4C5C6C6C8C9C9CACACACBCBCECED0D0D1D3D5D5D5D6D9D9D9D9DADADADADADAD9D7DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFA83E3E3E3E3E3E3E3E3E3E3E3E3E3D3D3D3D3C3C3C3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A3A3A3939393939393A3A3A3A39393939393939393939383838373737373737373737383837373A3A3837393939393939393939393B3B3B3B3C3C3B3B3C3C3C3B3C3C3B3B3B3B3B3C3C3C3C3B3B3B3A3A3939393939393938383838383736363635353534343232323232323231313030302F2F2F2F2F2E2D2D2D2D2D2C2C2C2C2B2B2B2B2B2B2B2B2A292929292929292929282828282828282828272727272727272626252525252525252525252525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171717161616161615151515151614141414141415151514141414141414141413131313131313131313131112121212121211111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07000000000000000000000000000000000000000000000000428D8F919496999B9EA1A4A6AAADAFB2B6B8BCBFC1C5C7CACDD0D3D6D8DBDDDFE1E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7B100000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BEC1C1C1C3C4C5C7C7C9CBCCCCD0D1D3D4D6D8D9DADCDDE0E0E3E5E5E7E8EBECEDEFF0F0F1F3F3F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBDDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBBBBCBCBDBFC1C1C3C4C6C9C9CBCECECED0D0D3D1D3D3D7D7D7D9D9D9D9DAD9DADADADCDEDEDEDEDFE1E1E3E3E3E3E3E3E3DBB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFA2A5A7A7A8A8A8ABACAEB1B1B1B2B2B5B6B6B8B9BBBFBFC3C4C5C5C5C8C6C9CACACBCBCFCECFCFCFD1D5D3D3D3D5D7D6D9DADADADAD9D9D9D9DBDADBDBDBDBDAD9DADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6C43E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3A393939393939393A3A3A393939393939393939393838383837373737373738383838373A3A3A3939393939393B3B3B393B3B3B3C3C3C3C3C3C3C3C3C3C3C3D3D3D3C3C3C3D3D3D3B3B3C3C3C3C3A3A3A3A3A3939393939383838383736363636353434343232323232323231303030302F2F2F2F2E2D2D2D2D2D2D2C2C2C2B2B2B2B2B2B2B2B2A292929292929292929282828282828282828272727272727272726252525252525252525252525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171717161616161615151515151614141414141415151514141414141414141313131313131313131313131212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9000000000000000000000000000000000000000000000000005E8D8F929497999C9FA1A5A8AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D9DBDDE0E2E4E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7E3000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C1C3C4C5C5C7C7C9CBCCCCD0D0D1D3D4D6D8DADADCDDE0E0E3E4E5E7E8E9ECECEDEFF0F0F1F3F5F5F6F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBDDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B5B6B8B9BBBDBDBDC0C1C3C3C3C4C5C5C6C9C9CACBCBCBCECFD0D0D1D1D1D5D5D6D7D7D6D7D7D9D7D9D9DADAD9D9D9DADADAD9CCB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B0B1B1B1B1B2B2B3B6B6B8B8B9B9BBBCBDBDBFC0C0C1C4C5C5C6C8CACBCBCFD0D0D1D3D5D6D7D9DADADADADCDEDEDEDEDFE1DFDFDFE2E2E2E3E3E3E2E2E1E1E1E1DFE1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7553E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A3A3939393939393A3A3A3A3939393939393939393838383837373737393938383839393A3B3B3B3939393B3B3B3B3C3C3B3B3B3C3C3C3D3D3C3C3C3C3C3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3B3B3B3B3B3B3939393938383838373737373636353434333232323232323231303030302F2F2F2F2D2D2D2D2D2D2C2C2C2B2B2B2B2B2B2B2B2A292929292929292929292828282828282828272727272727272726252525252525252525252525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171717161616161615151515151614141414141415151514141414141414141313131313131313131313131212121212121111111111111111111111111010101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000007A8E909395989A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EBECEEEFF1F2F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7F61E00000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8C4C5C5C7C7C9CBCCCCCED0D0D3D4D6D7D9DADADCDDE0E0E3E4E5E7E8E9ECECEDEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBDDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9B9BBBBBCBFBFC0C0C3C3C5C5C5C6C6C9C9CAC9C9CACBCECED0D0D0D1D3D5D5D7D7D7D6D7D9D7D7D9D7DADAD9D9D7D9D9DAD9D7C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8B9B9BBBDBDC0C0C1C0C1C1C5C5C6C8C9CECFCFD0D1D1D6D7D7D9D9DADBDEDEE1E1E1E2E3E4E6E7E9E9EAEBEBEBEBEEEFEEEEEEEFEFEFEEEEEFEFEEEEEEEEEEEFEFF2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9863E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3D3D3D3D3C3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A3A3939393939393A3A3A3A393939393939393939383838383737393939383939393B3B3B3B3B393B3B3B3B3B3B3D3D3D3D3D3D3D3D3E3E3F3D3D3D3E3E3F3F3F3D3E3E3E3E3E3E3E3E3D3D3D3B3B3B3B3B3B3A3A3A393838383838373737373636353433333332323232323230303030312F2F2F2F2D2D2D2D2D2D2C2C2B2B2B2B2B2B2B2B2A292929292929292929292828282828282828272727272727272726252525252525252525252525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919171717171717171717171616161616151515151516141414141415151514141414141414141413131313131313131313131112121212121211111111111111111111111110101010101010101010100F0F0F0F0F0F3A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000B8D8E919396989B9DA0A3A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D5D7DADCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F74F00000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8C7C7C9C9CBCCCCCED0D0D1D3D4D6D7D9DADCDCDDE0E0E3E4E5E7E7E9EBECEDEFEFF0F0F1F3F5F5F6F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBE3B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C8C8C9CACECFD0D1D0D1D1D1D1D1D3D5D6D7D7D7DADADBDCDEDBDCDCDEDEDFE1E1E1E1E1E2E3E3E4E3E6E4E3E3E3E3E3E4E4E6E4E3C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFABABAAABACACAEAEB1B2B3B3B5B3B5B5B6B6B8B8B9BCBDBFC3C4C5C5C5C6C9C9CACACACED0D0D1D3D3D3D5D5D6D7D6D7DAD9D9DADADBDBDCDEDEDEDEDEDEDBDCDBDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEAD3E3E3E3D3D3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A393939393939393A3A3A39393939393939393939383838393939393B3B39393B3B3B3B3B3B3B3B3B3B3C3C3C3D3D3C3C3D3E3E3E3E3E3F3E3E3F3F3F40403F3F3E3E3E3E3E3E3E3E3D3D3D3D3D3D3D3D3D3B3B3B3A3A3A383838383737373737353535333333323232323231303030312F2F2F2F2D2D2D2D2D2D2C2C2B2B2B2B2B2B2B2B2A292929292929292929292828282828282828272727272727272726252525252525252525242525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919171717171717171717171616161616151515151614141414141415151514141414141414141413131313131313131313131112121212121211111111111111111111111110101010101010101010100F0F0F0F0F8A82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F20828A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35000000000000000000000000000000000000000000000000278D8F929497999C9FA1A4A7AAADAFB3B6B8BCBFC2C5C7CACDD0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F78000000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BACACBCBCCCCCED0D0D1D3D4D6D7D8DADADCDDDEE0E0E3E4E5E7E7E8EBECECEDEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBE9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BDBFC0C0C1C0C3C3C3C4C5C6C8C9C9CACACACBCACACBCBCECFCFD0D1D1D3D3D3D5D5D7D7D6D7D5D6D5D5D5D6D7D7D9D9D9D7D9DADADBBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0ACACACAEB0B2B2B2B3B5B6B6B8B8B9B9BBBDBDBFC0C1C3C4C5C6C9C9CBCBCED0D1D1D3D5D5D7D6D6D7D7D7D9DADADBDCDBDADADADADBDCDEDEDEDEDEDFE1E1DFDEDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4D83F3F3F3F3F3F3F3F3D3D3E3E3E3E3E3E3E3E3E3E3E3E3E3E3D3D3D3D3C3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A3939393939393A3A3A3A3939393939393939393838393939393B3B3B3B3B3B3A3A3B3B3B3C3B3C3C3E3E3D3D3E3F3D3F3F3F3F3F3F3F3F3F3F3F40414141413F3F3F40403F3F3F3E3E3E3E3E3D3D3D3D3C3C3C3B3B3A3A3A3838373737373737353535333333323232323131303030312F2F2F2E2D2D2D2D2D2D2C2C2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272726252525252525252525242525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191919171717171717171717171616161615151515151614141414141415151514141414141414141413131313131313131313131112121212121211111111111111111111111010101010101010101010100F0F0F0F4FBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB5BD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000438E90929497999C9FA2A5A8AAAEB0B3B7B9BCC0C2C5C9CBCED1D3D6D9DBDEE0E2E4E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F7B200000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCCCCCCED0D0D0D1D3D4D6D7D8D9DADADCDDDEE0E0E3E4E5E7E7E8E9ECECEDEFF0F0F1F3F3F5F5F6F6F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBECBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBBDBFBFBFC0C1C3C3C3C3C3C4C4C5C8C9C9C9CACBCED0CFD1D0D0D1D5D6D6D5D6D5D7D6D6D7D9D9DADAD9D9D7D9D7D6D6D5D5D5D1D1CEB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B5B5B6B6B8B9BCBDBDBDBDBDBFBFBFC1C1C3C4C5C8C6C9CACBCACBCECFD0D0D3D3D3D6D6D6D7D7D7D9D9DAD9DBDBDBDEDCDBDCDCDEDBDEDCDEDEDEDEDEDEDEDEDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDC653F3F3F3F3F3F3F3F3F3F3F3D3D3E3E3E3E3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3A3939393939393A3A3A393939393939393939393939393B3B3B3B3B3B3A3A3B3B3C3C3C3E3C3E3E3D3D3F3F40404040403F3F4040404140404141414142424241414141414141413F3F3F3F3F3E3E3E3D3D3D3C3C3A3A3A3A3937373737373737353535333333323232313131303031312F2F2E2E2D2D2D2D2D2C2C2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828282727272727272726252525252525252525242525252525242424232323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191919171717171717171717161616161615151515151614141414141415151514141414141414141413131313131313131313131212121212121111111111111111111111111010101010101010101010100F0F0F1ABDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4000000000000000000000000000000000000000000000000005F8E919396989B9DA0A2A5A9ABAEB1B4B7BABDC0C4C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEEFF1F2F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7E30000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BDD0D0D0D1D3D3D4D6D7D7D9DADADCDCDDDEE0E1E3E4E5E7E7E8E9ECECEDEFF0F0F1F1F3F5F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBF1C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9BBB9BBBCBBBDBDBDBDBDBDC0C0C1C3C4C4C5C5C5C6C5C8C9C9CACBCECFCFD0D0D0D0D0CECECED0D1D0D0D0D0D0D0D0CFCECFCECECECBC7B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B0B1B1B2B2B3B3B3B5B5B6B6B8B9BBBBBCBDBDBDBFC0C1C3C3C4C8C8C8C9CBCACBCBCFD1D3D3D5D5D6D6D6D7D6D7D7D7D7D7D6D6D7D7D7D9D7D7D9D9D9D7D7D6D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E18E3F3F3F3F3F3F3F3F3F3F3F3F3F3F3D3D3E3E3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A3A39393939393A3A3A3A393939393939393A3A39393A3B3B3B3B3B3B3B3B3B3C3C3E3E3E3E3D3D3F3F40414141404141404141424242424243434342424242424242424242424242404040403F3F3F3E3D3D3D3D3B3B3A3A3939373737373737373535353333333232323131303031312F2F2E2E2D2D2D2D2D2D2C2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272726262525252525252525252525252525242424242323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191919191717171717171717171616161616151515151516141414141414151515141414141414141414131313131313131313131312121212121211111111111111111111111110101010101010101010100F0F0F0F8ABDBDBDBD82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2082BDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D000000000000000000000000000000000000000000000000007C8F919396989B9EA1A4A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D5D8DADDDFE1E4E5E7E9EBECEEF0F1F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F7F71E00000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCD1D3D3D4D4D6D7D8D9DADADCDCDDDEE0E0E3E4E5E5E7E7E8E9ECECEDEFEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBF9CFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C5C5C5C5C6C8C8C9CAC9CACACBCECECECFD0CFD0D0D0D0D1D1D3D1D3D5D5D5D6D5D5D5D5D6D3D5D7D7D7D7D6D6D6D7D7D5D5D5D5D5D3D5D3C7B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B5B5B6B6B6B9BBBCBDBFBFBFBFBFC0C0C1C1C4C4C4C3C4C5C8C9C9CACBCBCECFD0D1D1D3D5D5D6D7DADADADADADBDEDFE1E1E1E1E1E2E2E3E3E3E4E3E3E4E3E2E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4BF3E3E3E3E3E3E3F3F3F3F3F3F3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3E3E3D3D3D3D3C3C3C3C3C3C3C3B3B3B3B3B3A3A3A3A3A3939393939393A3A3A39393939393A3A3A3A3A3A3A3B3B3B3B3B3C3B3C3C3D3D3E3E3F403F40404141414142434242434343434444434444444544444444444343434343434242424241414140403E3E3D3D3D3D3D3B3B3A3A39393737373737363535353333323232313131303131312F2E2E2E2D2D2D2D2D2C2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828282727272727272726262525252525252525252525252525242424242323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191919171717171717171717171616161616151515151516141414141414151515141414141414141413131313131313131313131112121212121211111111111111111111111110101010101010101010100F0F0F4FBDBDBDBDBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB5BDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C0000000000000000000000000000000000000000000000000B8D8F929497999C9FA1A4A7AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F75800000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BDD4D4D6D7D7D8D9DADADCDCDDDEE0E0E0E3E4E5E5E7E7E8E9ECECEDEFEFF0F0F1F3F3F5F5F6F6F7F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBDDB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C3C4C4C4C5C6CAC9CAC9CBCECFD0D1D1D1D3D1D3D5D5D7D7D9D7D7D7D9D9DADADBDBDBDBDBDCDEDEDFE1E1E1E1E1E1E1E1E1E1E1E1E1E1E1DFC9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B2B3B3B3B5B6B8B9BBBCBCBDBFBFBFBDBFC0C3C3C3C3C3C4C4C5C5C6C8C8CACBCECECFD0D1D3D1D1D3D5D3D3D5D7D7D7D9D7D7D6D6D7D7D7D7D6D6D7D7D7D7D9D9D9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DA4C3E3E3E3E3E3E3E3E3E3E3F3F3F3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3A39393939393A3A3A3A3939393A3A3A3A3B3B3B3B3B3B3B3C3C3D3D3D3D3D3D3E404041404141414243434343444444444545464647464646464747474746464646444444444343434242424141403E3E3E3E3D3D3D3B3B3A3A393937373737363635353533333232313131313131312F2E2E2E2D2D2D2D2D2C2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828282727272727272726262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191919171717171717171717171616161616151515151516141414141414151515141414141414141413131313131313131313131112121212121211111111111111111111111010101010101010101010100F0F1ABDBDBDBDBDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19000000000000000000000000000000000000000000000000278E909395979A9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CBCED1D4D6D9DCDEE0E2E5E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F78A00000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BFD7D7D8D9DADADADCDCDDDEDEE0E0E3E3E4E5E7E7E8E9EBECECEDEFEFF0F0F1F3F3F5F5F5F6F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBECBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4BAC3C4C4C4C3C3C3C3C4C5C5C5C5C5C5C6C8C9CACECBCECECFCFD0D1D3D3D1D1D1D3D3D3D3D5D6D7D7D9D9D9D9D9D7D7D7D7D7D7D6D5D5D5D3D3D0BDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BDBCBFBFBFC0BFBFC1C1C3C1C4C4C5C6C5C6C8CACACACBCBCFD1D1D3D5D6D6D7D7D7D7D7D7D9DAD7D7D7D7DADBDADAD9DAD9DADADADBDCDBDBDEDEDCDCDCDCDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E37D3E3E3E3E3E3E3E3E3E3E3E3E3E3F3F3F3F3F3F3F3F3E3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3939393939393A3A3A39393A3A3A3B3B3B3C3B3B3B3C3C3D3D3F3F3D3D3E40404142424242424343434545454545464647474848484747474747464647474747474747474747444343434242424240403E3E3E3D3D3D3D3B3B3A393937373736363635353333333231313131303131312F2E2E2D2D2D2D2D2D2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828282727272727272726262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191919171717171717171717171616161616151515151516141414141415151514141414141414141413131313131313131313131112121212121111111111111111111111111010101010101010101010100F0F8ABDBDBDBDBDBDBDBD82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2082BDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3000000000000000000000000000000000000000000000000004A8F919396989B9DA0A3A6A9ACAFB2B4B8BBBDC1C4C6C9CCCFD2D4D7D9DCDEE1E3E5E7E9EBECEEEFF1F2F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7BB000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C0D9DADADADCDCDCDDDEE0E0E0E1E3E4E5E5E7E7E8E9EBECECEDEFEFF0F0F1F3F3F5F5F5F6F7F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBF5C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B6C0C0BFC0C3C3C3C4C5C6C6C6C6C6C8C9CECECFD0D0D0D3D3D0D3D5D3D3D6D5D1D3D3D5D5D5D7D7D6D7D6D7D7D7D9D9D7D9D9D9D9D9D7D7D7D7D9D7D7D7BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C1C1C1C4C5C5C5C5C5C6C5C5C5C9C9CACACACACED0D1D3D3D5D6D7D7D9DADADADBDBDBDEDEDFDFE1E1E1E1E3E3E4E6E7E9E9EBEBECEFEFEFEFEEF1F1F1F1F1F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEBA4040404040403E3E3E3E3E3E3E3E3E3E3F3F3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3A39393939393A3A3A3A39393A3B3B3C3C3C3C3B3C3C3D3D3F3F3F3E40404142424243444344454545474747494748484848494949484848484848494849474747474646464647474444434342424141403E3E3E3E3D3D3C3B3B3A3939373737363635353533333331313131313131312F2E2E2E2D2D2D2D2D2C2B2B2B2B2B2B2B2A2929292929292929292928282828282828282727272727272726262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191717171717171717171716161616161515151515141414141414151515141414141414141414131313131313131313131312121212121211111111111111111111111110101010101010101010100F0F4FBDBDBDBDBDBDBDBDBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB5BDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA200000000000000000000000000000000000000000000000000668F929497999C9FA1A4A7AAADAFB3B6B8BCBFC1C5C7CACDD0D3D5D8DBDDDFE1E4E6E7E9EBEDEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7F7000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C1DADCDCDCDDDDDEE0E0E0E1E3E4E5E5E7E7E8E8E9ECECECEDEFEFF0F0F1F3F3F5F5F5F6F6F7F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBE3B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5B8C0C5C5C8C6C8C9C9C9C9CACECECBCECFCFD1D3D3D6D6D7D9D9DADADADBDADADBDADBDBDBDBDEDEDEDCDCDEDEDCDEDEDFDEDFDEDCDBDADAD9D9D9DADBDBDADAD9D4B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C8C8C8C8C6C6C6C8C9C9CACACBCBCFCFD0D0D0D1D1D3D3D3D5D6D7D5D6D6D6D6D7D7D9D9DBDBDCDCDEDEDFE1E2E2E3E3E1E3E3E3E3E3E2E1E2E3E4E3E3E2E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1D5404040404040404040403E3E3E3E3E3E3E3E3F3F3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3939393939393A3A3A39393B3B3C3C3C3C3D3C3D3D3F3F3F40404141424242424444444545474747494948494849494A4A4B4B4B4B4B4B4B4B4A4A4A4A4949494848484847464646464644444341424140403E3E3E3D3C3C3B3B3A3A38373736363635353333333131313131313131312E2E2E2D2D2D2D2D2C2B2B2B2B2B2B2B2A2929292929292929292928282828282828282727272727272727262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191717171717171717171716161616161515151516141414141414151515141414141414141414131313131313131313131312121212121211111111111111111111111110101010101010101010100F1ABDBDBDBDBDBDBDBDBDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000088909294979A9C9FA2A5A8AAAEB0B3B6B9BCC0C2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F73B0000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C0DCDDDDDEDEE0E0E0E1E3E4E5E5E7E7E7E8E9EBECECEDEDEFF0F0F0F1F3F3F5F5F5F6F6F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBF5C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BCC6C9C8CACACACACACBCED0D1D3D3D3D3D5D7D7D6D9DADADBDBDEDCDFDEE1DFDFDFE1E1E1E2E1E3E3E3E3E3E3E2E2E2E3E3E3E3E2E3E4E4E3E3E2E1E1E1E1E2E1E1E1E1DBB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C6C9C8C9CACBCBCBCBCFD0D1D3D3D3D3D3D5D5D6D6D6D9D7DADADBDCDBDEDFE1E1E2E1E3E3E3E3E4E3E4E4E4E4E6E4E4E6E9E7E7E9E9E9E6E6E6E6E4E3E2E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E16D404040404040404040404040403E3E3E3E3E3E3E3F3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3A39393939393A3A3A3C3A3A3C3C3C3C3D3D3F3F3F3E404041424342424244454545474747474848494A4B4B494A4C4B4C4C4C4F4C4B4E4E4E4E4E4C4C4C4B4B494949494948474646454646444442424141403E3E3E3D3C3C3B3A3A39383736363635353533333331313131313131312E2E2E2D2D2D2D2D2C2B2B2B2B2B2B2B2A2929292929292929292928282828282828282727272727272726262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191717171717171717171716161616151515151516141414141414151515141414141414141413131313131313131313131112121212121211111111111111111111111010101010101010101010100F8ABDBDBDBDBDBDBDBDBDBDBDBD82200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2082BDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23000000000000000000000000000000000000000000000000178E919396989B9DA0A2A6A9ABAEB1B4B7BABDC0C3C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8F76C00000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C3DEDEE0E0E0E1E3E3E4E5E5E5E7E7E8E8E9EBECECEDEFEFF0F0F0F1F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBE3B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BDC5C4C5C5C6C6C6C9C9C9CACACACECECECFD0D0CFD0D0D1D5D5D5D5D5D6D6D7D9D9D7D7D7DADADBDBDEDFDFDFE1DEDEE1E1E1E2E2E1E1DFDEDEE1E1E1E1DEDEDFE1E1E2E1E2E2D3B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C6C8C9CACBCECFD0CFCFD0D1D1D3D5D7D7D9D7D9DAD9DADADCDBDBDBDBDCDEDFDEDFE1E1E2E3E4E4E6E6E6E6E6E6E6E4E6E7E7E7E9E9EAE9E9E9E7E7E7E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEA04040404040404040404040404040403E3E3E3E3E3E3F3F3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3939393A3A3A3A3C3C3C3C3C3C3D3D3E3F403E3E40414242434344444545474747484948494A4A4B4C4C4C4D4E4E4E4E5050505050505050504F4F4F4E4E4D4B4B4B4B494948484745454545464342424241403E3E3E3C3C3C3B3A3A383737363635353535333331313131313131312E2E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2A2A29292929292929292928282828282828282727272727272727262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515161414141414141515151414141414141414131313131313131313131311121212121212111111111111111111111110101010101010101010100F4FBDBDBDBDBDBDBDBDBDBDBDBDBDB55D130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F135DB5BDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED00000000000000000000000000000000000000000000000000388F929496999C9EA1A4A6A9ADAFB2B5B8BBBEC1C4C7CACDCFD2D5D7DADCDEE1E3E5E7E9EBECEEF0F1F3F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F7A700000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4E0E0E0E1E3E3E4E5E5E5E7E7E7E8E9EBECECECEDEFEFF0F0F0F1F3F3F5F5F5F5F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBF7D3B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BBC2C5C5C5C5C5C6C8C6C8C9C9C9C8C8C9C9CACACACBCBCBCBCACACBCBCBC9C9CBCBCECECECFD0D0CFCFCFD0D1D1D3D5D5D6D5D6D6D6D5D3D1D0D0D1D3D1D0D0D0D0D0D0D0CFD0CFCFCFCEC0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C4C4C4C4C5C5C3C3C3C5C5C5C5C5C6C8C6C8C8C8CACACACACBCBCBCBCECECFCFD0D3D1D3D5D5D3D3D5D7D9DADADADADADADADADADADADAD9D9D7D7D9D9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFCD40404040404040404040404040404040403E3E3E3E3E3E3E3F3F3F3F3F3F3E3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A393A3A3A3A3C3C3D3D3C3C3D3D3E4040404040404343434445474547474848494949494B4C4C4C4E4E4E4E50505051515152525050505050505050504E4E4E4E4E4D4D4B494949484745454544434342424040403E3D3B3C3C3B3A393837373635353535333332313131313131312F2E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272727262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515161414141414141515151414141414141414131313131313131313131311121212121211111111111111111111111110101010101010101010101ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBD9F390F0F0F0F0F0F0F0F0F0F0F0F0F0F399FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000005B90929497999C9FA2A5A8AAADB0B3B6B9BCBFC2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F7E40000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4E1E3E3E4E4E5E5E7E7E7E7E8E9E9EBECECECEDEFEFF0F0F0F1F3F3F3F5F5F5F6F7F8F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBEEC9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B7BFC4C4C4C5C6C6C5C5C5C6C5C5C5C5C6C6C6C6C8C6C6C6C6C6C8C8C9C9CACACACACBCFCFCECBCBCBCECECFD0D3D1D0D1D1D0D0D0D0CFCFD0CFD0D0D0D1D3D5D5D5D5D5D6D5D5D6D5D6D6D5D5D5D1BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7CACACACACAC9C9C9C9CACBCBCBCECECBCECFD0D1D1D1D3D3D3D1D5D5D6D6D6D7D7D6D7D7DADADAD9D9D9DADADCDADADADBDADBDBDCDCDEDBDBDBDBDBDBDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E161404040404040404040404040404040404040403E3E3E3E3E3E3F3F3F3F3F3F3E3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3C3C3C3B3B3B3B3A3A3A3A3A3A3A3A3C3C3C3D3D3D3C3D3E3E40404040424343444445474647474849494A4B4C4C4C4E4E50505151515252525252535353535352525252525252524F50504F4E4E4E4D4B4B49494948474545444443424240403E3E3C3B3C3C3B39383737363635353535333231313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272727262525252525252525252525252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515161414141414151515141414141414141414131313131313131313131312121212121211111111111111111111111110101010101010101010108ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD82200F0F0F0F0F0F0F0F0F0F2082BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A000000000000000000000000000000000000000000000000007D919395989B9DA0A2A5A8ABAEB1B4B7BABDC0C3C6C9CBCED1D4D6D9DBDEE0E2E5E6E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8F7280000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4E4E4E5E5E5E7E7E7E7E8E8E9EBECECECEDEDEFEFF0F0F0F1F3F3F3F5F5F5F6F6F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBFAE7BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5B7C0C9C9C9C9C9C9CACBCECED0D0CFD0D1D1D1D0D0D0D0D0D3D3D3D5D5D5D3D5D6D7D7D7D7D9D9D7D7D9DADADADADBDADADADADCDCDBDADADADBDBDEDBDBDADBDADBDADBDBDCDBDBDADBDBDADADADBDBDBDAD9BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C9CACACACECBCBCECECECFCED0D0D1D1D5D6D6D7D9D7D9D9D9DADBDADADADADADADEDCDEDEDEDFE1E1E1E2E1E1E1E2E2E2E3E3E3E3E3E4E4E3E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDC934040404040404040404040404040404040404040403E3E3E3E3E3E3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3C3C3B3B3B3A3A3A3A3C3C3A3C3C3D3D3D3D3E3D4040404042434343434444454747484949494A4C4C4C4D4F4E505151535353535353535454545454565554545454535353535252525250504F4E4E4D4B4A494948474645454443414240403E3C3C3B3C3B39393837373635353535333231313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272727262525252525252525252525252525242424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717171616161616151515151514141414141415151514141414141414141413131313131313131313131212121212121111111111111111111111101010101010101010101050BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB55D130F0F0F0F0F0F135DB5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF230000000000000000000000000000000000000000000000000B8F919496999B9EA1A4A6A9ACAFB2B5B8BBBEC1C4C7CACDCFD2D4D7D9DCDEE1E3E5E7E9EBECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F75900000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C5E5E5E5E7E7E7E7E8E8E9E9EBECECECEDEFEFEFF0F0F0F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFADFBEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C2CACED0D0CED0D0D1D3D3D3D3D3D3D3D5D6D7D9D9DADADBDADBDBDADADADADADADBDBDADBDBDBDBDCDCDCDEDEDBDBDCDCDBDADADADADADADBDBDADADBDBDBDBDBDBDEDCDBDEDEDBDBDBDCDBDAD9D7D7D7D7D7D9D7D4B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7C6C8C6C8C9C9CBCBCBCECED0CECECFCFCFCFD1D0D1D5D5D5D5D6D5D5D6D9D9D7D9DADBDBDBDCDEDCDBDBDCDEDEDEDEDFDFDFE1E1E1E3E3E2E2E1E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDECD42424242424242424040404040404040404040404040403E3E3E3E3E3E3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3C3C3C3B3B3B3B3A3A3C3C3C3C3C3D3D3D3D3E404040404042434343434445464647494B4A4C4C4C4C4F505151525353535355555556575656565757575757565656565656565454535352525252504F4E4D4B4C4A49494845454544434142403E3E3C3B3B3C3B393837373636353535333232313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272727262525252525252525252525252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191919171717171717171717171616161616151515151614141414141415151514141414141414141313131313131313131313111212121212121111111111111111111111101010101010101010101BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD9F390F0F0F0F399FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3000000000000000000000000000000000000000000000000002E90929497999C9FA1A4A7AAADB0B3B6B9BCBFC2C5C7CACDD0D3D6D8DBDDDFE1E4E6E7E9EBEDEEF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBF9F9F8F79E000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C5E5E7E7E7E7E8E8E9E9EBECECECEDEDEFEFF0F0F0F0F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFADFBEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7BDC6CACACACBCBCBCBCBC9C9CACACACACBCECECECFCFCFD0D0D1D1D1D1D0D0CFD0D0D3D3D3D5D6D6D5D7D9D9DBDBDBDBDADCDCDCDCDBDCDCDEE1E1E2E2E2E1E1DFE1DFDFDEDEDEDEDEDEDFDEDBDADADADBDBDADBDADADADAD9D2B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7CECECECED0CECECFCFCFD0D0D0D1D1D0D0D0D0D1D1D5D6D7D7D7D7D9DADADADADADADADADADBDBDBDCDADCDEDEDEDEDEE1E1E1E1E1E1E2E3E4E3E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADA614242424242424242424242404040404040404040404040403E3E3E3E3E3F3F3F3F3F3F3E3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3C3C3C3B3B3B3C3C3C3C3D3D3D3D3D3D3E4040404041434343444647484648484B4A4C4C4D4E4F5151535353535355555657585959595959595A5A5A5A5A59595959595957575655545353535252504E4D4E4D4C4A49494745454444434142403E3E3C3B3C3B3A3937373736353535353332313131313131312E2E2E2E2D2D2D2D2B2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272727262525252525252525252525252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191919171717171717171717171616161615151515151614141414141415151514141414141414141313131313131313131313111212121212111111111111111111111111101010101010101010108ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD82202082BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA20000000000000000000000000000000000000000000000000050919395989B9DA0A2A5A8ABAEB1B4B7B9BDC0C2C6C9CBCED1D3D6D9DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F7F7F8F9F9FBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8D9000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C7E7E7E7E7E8E8E9E9ECECECECEDEDEFEFF0F0F0F0F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAE2C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5B6BDC7CACAC9C9C8C9CACAC9C9CAC9CAC9C9CACECBCBCECECFCECFD1D1D1D1D1D0D1D1D3D3D5D5D5D5D5D3D5D6D6D7D7D6D7D7D9D7D7D7D7D9D9D7D7D6D6D5D3D5D5D5D6D6D5D5D3D3D1D1D0D0D0D1D1D3D1D0D0D1D3D3D1D0D0D0D0CFD0C5B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9CECECECECFCECBCECFCFCFCFD0D1D3D1D3D5D5D6D7D7D7D9D7D7D7D9D9D7D9DADBDBDBDEDFDEDEDFDFDEDCDCDCDCDCDEDEDEDEDEDEDBDBDEDEDEDEDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDC9541414141414141414242424242404040404040404040404040403E3E3E3E3E3F3F3F3F3F3F3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3C3C3C3B3B3C3C3C3D3D3D3E3D3D3E3E4040404043434443444648484848494A4B4C4D4F51515153535355565758585859595A5B5A5B5C5C5D5D5D5D5D5D5D5C5C5B5B5B5A59595856565653535352504F4E4D4D4C4A494847454545434142403E3E3C3C3B3C3A3937373736363535353332313131313131312F2E2E2E2D2D2D2D2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282827272727272727262525252525252525252525252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191917171717171717171717161616161515151515161414141414141515151414141414141414131313131313131313131312121212121211111111111111111111111110101010101010101050BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000078919496989B9EA1A3A6A9ACAFB2B5B8BBBDC1C4C6C9CCCFD2D4D7D9DCDEE1E2E5E7E9EAECEEEFF1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F8F8F71E00000000000000000000000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C7E7E7E8E8E9E9EBECECECECEDEDEFEFF0F0F0F0F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAE7CBB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5B8BFC7CAC9C9CACACBCBCBCECBCFD0CFD1D1D1D1D1D1D3D3D3D3D1D5D3D1D1D3D5D6D6D6D6D7D9D9DAD7DADADCDCDCDEDBDCDEDEE1E1E1DEDEDEE1DEE1E1E1E1E1E1E2E3E6E6E4E3E3E4E4E4E4E6E6E6E6E4E4E6E4E3E3E3E3E4E4E3E3E3E3E2E2E1CAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7CACBCBCBCACACBCECECECBCECECECFCECBCECECECED0D0CFD0D0CFCFD0D0D0D1D0D1D0D1D1D1D3D3D1D0D0D0D0D0D0D0D0CFCFCFCECECECECED0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADACA414141414141414141414142424242424040404040404040404040403E3E3E3E3E3F3F3F3F3F3D3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3C3C3C3C3C3C3D3D3E3E3F3E3E40404041434344444446464848494B4A4B4C4E4F51515355535356575859595B5B5B5B5D5D5D5E5F5F5F5F5F5F5F605F5F5F5E5E5E5D5D5C5B5B5959595656545352504F4F4D4D4C4A484847454544434142403E3E3C3B3C3A3A38373737363535353332313131313131312F2E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727262525252525252525252525252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515161414141414151515141414141414141414131313131313131313131312121212121211111111111111111111111010101010101010101BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0000000000000000000000000000000000000000000000000B90929497999C9FA1A4A7AAADB0B3B6B9BCBFC1C5C7CACDD0D3D5D8DADDDFE1E4E5E7E9EBECEEF0F1F3F4F5F6F7F8F8F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F75900000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCC2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C7E7E8E8E9E9EBECECECECEDEDEFEFF0F0F0F0F1F3F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAF9F3D9BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7BBC2CBCACBCBCECECBCBCACACECECBCECBCECECECFCFD0D0D0D0D1D3D3D3D3D5D3D3D3D5D6D6D6D7D6D7D7D9DADAD7D7D9DADADCDCDFDFDFDFE1DEDEE1E1E1E2E2E1E1DFDEDFE1E1E1E1E1DFE1E2E3E4E3E4E4E4E4E4E4E4E4E3E3E3E3E3E3E3E3E3E2E2E3E3C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCD9DBDCDEDEDEDCDCDCDBDCDEDEDCDCDCDCDEDEE1DEDFE1E1E1E3E3E3E4E6E6E4E6E6E4E3E3E6E6E6E6E6E9E7E7E7E6E7E7E9E9E9E9E9E9E9E9EAEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EF6641414141414141414141414141424242424040404040404040404040403E3E3E3E3E3F3F3F3F3F3E3E3E3E3E3E3E3E3E3D3D3D3C3C3C3C3C3D3C3C3D3D3E3E3F3F40404040414243444444454848484B4A4C4D4F4E515153555556565858595B5B5B5C5F605E5F61626362636362636262626262626260605F5F5E5E5B5A5A5959595554535152504F4D4D4C49484845454544434140403E3E3B3B3B3A39373737363535353332323131313131312F2E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727262525252525252525252525252525252424242323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515161414141414151515141414141414141414131313131313131313131112121212121211111111111111111111111010101010101010108ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9000000000000000000000000000000000000000000000000002E919396989A9DA0A2A5A8ABAEB0B4B7B9BDC0C2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F79E0000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCC2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C7E8E8E9E9EBECECECECEDEDEFEFEFF0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9E4C9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5B8BAC3C8C5C6C8C9C9C8C6C6C6C6C6C5C8C9C8CACACBCBCECECECECECECFD0CECFCFD0D1D1D3D3D0D0D1D1D1D1D1D0D0D3D3D3D3D5D6D5D5D5D5D5D6D7D9DADADADADBDAD9DADAD9DADBDAD9D9D9D9D9D9DAD9D9D9D7D9D9DADBDBDADADADADADAD9D9D7D7D9D7D7D9D9D9BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8D3D3D3D5D7D7D7D7D9D7D7DADADADADADADAD9D7D9DBDBDBDBDBDBDCDEDFE1E1E2E2E2E2E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E6E6E7E9EAEAEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1A0414141414141414141414141414141424242424040404040404040404040403E3E3E3E3E3F3F3F3F3F3E3E3E3E3E3E3E3E3E3D3D3C3C3C3C3E3D3D3D3D3F3E3F4040414040414243444646484848494B4B4D4F4F515153555556585859595B5B5D5F5F616162636464646666666666666766666664646462626262605F5E5D5C5A5A59595555545152504F4D4D4B494847454545434140403E3E3C3B3B3A39373737363535353532323131313131312F2E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2A29292929292929292929282828282828282827272727272727262525252525252525252525252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919191717171717171717171616161616151515151514141414141415151514141414141414141313131313131313131313111212121212111111111111111111111111101010101010101050BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820000000000000000000000000000000000000000000000000050929496989B9EA1A3A6A9ACAFB2B4B8BBBDC1C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8D9000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCE5DEDEDEDEDDDDDDDBDBDBDBDADADADADAD9D9D8D8D8D8D7D7D7D7D7D6D5D5D5D4D4D3D3D3D3D3D2D0D0D0D0D0D0D0CFCFCFCFCFCFCECECECECECECECECECECECECECECECECFCFCFCFCFCFD0D0D9E8E9E9E9EBECECECEDEDEFEFEFF0F0F0F1F1F3F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F7E2C8B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8BEC6D1D1D1D1D3D5D5D6D6D6D7D7D6D7D9D7D6D6D7D6D6D7D7D7D7D7D7D7D7D9D9D9D9D7D7D7D7D6D5D5D6D7D7D7D7D7D6D6D9D9D9D9D9D9DBDADADBDBDADADADBDADAD9D9D7D9D7D9DADADADADADADBDCDBDEDBDADBDEDEDEDCDEDBDCDBDADBDCDCDCDCDADADAD9D7D7D7D5D5D5D0B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B397848485868688888B8C8E8E90919294959797999C9C9C9E9EA2A2A4A7A7A9AAACADADB0B1B3B3B3B5B5B7B8B8BBB8BBBCBCBBBDBDBDBDBDBEBEC0C0C0C1C1C1C1C0C0C0C0C0C0C0C0C0C0C1C1C1C1C1C2C1C1C1C1C1C1C2C1C1C2C2C2C2C2C1C1C2C5D3D3D3D5D6D6D7D7D7D6D6D6D7D7D7D7D7DADADADADBDCDEDEDEDEDEDCDEDCDEDEDCDEDEDFDFDEE1E1E1DEDEDEDFDFDFE1DFDFE1DFDEDEDEDEDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DECD42424242424141414141414141414141414142424242404040404040404040403E3E3E3E3E3F3F3F3F3F3D3E3E3E3E3E3E3E3E3D3D3C3C3C3E3E3E3E3D3F3F3F40404143424243444445464948484A4A4D4D4F5152535355565859595C5B5D5D6061626364656466676769696A6A6868696A6A6868686666666664636262625F5E5D5C5A5A595555545252504F4D4D4A4948474545444342403E3E3C3B3B3B3A38373736363535353232313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2A2A292929292929292929282828282828282827272727272727262525252525252525252525252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717171616161616151515151614141414141415151514141414141414141313131313131313131313121212121212111111111111111111111110101010101010101BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF400000000000000000000000000000000000000000000000000079929497999C9FA1A4A7AAADB0B3B6B9BCBFC1C5C7CACDD0D3D5D8DADDDFE1E3E5E7E9EBECEEF0F1F2F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8F72800000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFAFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F3F1F1F0F0F0EFEFEFEDEDECECECEBE9E9E9E8E8E7E7E7E7E7E7E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E7E7E7E7E7E7E8E8E9E9EBECECECECEDEDEFEFEFF0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F7E1C8B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BEBFC3CBCECECECECFCFCFCFD0CFCECED0D1D1D1D0D1D1D0D0D1D1D1D3D3D5D3D1D5D5D6D7D6D3D5D5D5D5D7D7D7D6D6D6D7D7D7D9DAD9D9D9D9D9DADADADBDBDBDADADBDCDCDEDEDEDCDEDEDCDEDEDEDEDEDEDEDEDEDFDEDFDFDFDFDFDFDFDFDEDEDEDEDEDBDBDBDCDEDCDCDCDCDEDEDEDBDEDED6B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3877273757575777A7B7C7C7E818286888A8E8F929297999B9E9FA2A5A7ABACB0B2B5B6B8B9BBBCBFBFC0C1C3C4C5C6C8C9CACBCACACECFD0D0D0D1D3D5D3D3D3D3D3D5D3D5D5D7D7D9D9D9D9D9D9D9D7D9D9DAD9D7D7D7D7D7D9D7D9D7D7D9D9DADADADADADADADADADBDBDBDADCDEDEDCDCDCDEDEDEDBDCDCDEDEDEDEDCDBDCDEDEDEDEDEDEDEDEDEDEDEDEDEDCDCDEDEDCDCDBDBDADBDBDBDBDBDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D36D4242424242424242414141414141414141414142424240404040404040404040403E3E3E3E3E3F3F3F3F3F3E3E3E3E3E3E3E3E3E3D3D3C3E3E3E3F3E403F3F404141434243434444454849484B4A4D4D4F5153535555565759595C5B5D606162636465666969686B6B6C6B6B6D6D6B6C6C6B6B6B6C6C6A696868666766636361605F5E5D5C59595655545252504F4D4C4A4848454545444340403E3E3C3B3B3A38373737363535353232313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262525252525252525252525252525252424242323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717171616161615151515151614141414141415151514141414141414141313131313131313131313121212121212111111111111111111111110101010101010108ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000011919396989A9DA0A2A5A8ABAEB0B4B7B9BDC0C2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F76C00000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F1F1F0F0F0EFEFEFEDEDECECECEBE9E9E9E8E8E7E7E7E7E7E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E7E7E7E7E7E8E8E9E9EBECECECECEDEDEFEFEFF0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F5E4D3BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B8BCC3CBD7C9C3C3C3C1C1C3C3C3C4C4C4C4C4C4C5C5C6C9C8C8C9CACACACACACACBCECECED0D0CECFCFCFD0D0D1D0D0D0D1D0D0D0D0D0D1D3D1D3D3D3D3D1D1D3D5D7D7D7D7D7D7DADADADAD7D7D9D9D9D9DADBDBDBDAD9D9D7D6D5D5D5D5D6D7D7D9DADAD9D7D9DAD9D9D9D7D7D9D9DADAD7D7D7D7D9D9D7CBB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3856D6F71727475757778797B7E818286878A8D8E929396999B9E9FA2A5A7A8AAACB0B1B3B8B9B9BDBFBFBFC1C3C5C9C9C9CACBCBCBCECECECECECECECBCBCECECECECECECFCECECBCBCBCACBCBCBCBCECECFCFD0D0D0CFCFD0D0D3D0D3D5D6D6D6D5D7D7D7D7D7D7D7D9D9D9D9D9D9DADADAD9DADADADADADBDBDBDBDBDCDBDBDAD9DADAD9D9D9DADBDADADADADADCDEDCDBDBDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEA242424242424242424242424141414141414141414142424240404040404040404040403E3E3E3E3F3F3F3F3F3D3E3E3E3E3E3E3E3E3D3D3E3E3E3F3F40403F404141434243444445474848494B4C4E4F4F52535556575958595B5C5D606162636566676A6A6B6D6B6E6F6F6F6F707070706F6F6F6F6F6F6D6B6B6A69696866666262625F5F5D5B59595655535152504F4D4C4948474545444342403E3E3C3B3B3A38373737363535353232313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262525252525252525252425252525252424242323232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515161414141414151515141414141414141414131313131313131313131112121212121211111111111111111111111010101010101050BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0000000000000000000000000000000000000000000000000034929496999B9EA1A4A6A9ACAFB2B5B8BBBDC1C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8A8000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F1F1F0F0F0EFEFEFEDEDECECECEBE9E9E8E8E8E7E7E7E7E7E5E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E5E7E7E7E7E7E8E8E8E9E9EBECECECEDEDEFEFEFF0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F3DFCBBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BBC0C9D2D7D9DAD9DEE9D9D1D1D3D3D1D1D5D5D3D1D0D0D1D1D3D3D3D3D5D5D1D1D5D6D6D6D7D7D7D6D5D6D6D6D7D7D9D7D6D7D7DADAD9D7D7D7D9D9DBDADADADAD9DADADADADBDADADADBDBDADBDBDCDCDEDCDBDEDEDEDFDEDEDEDEDEDCDEDEDEDEDEDEDEDEDEDFDEDFDFDFDFDFDFDFDFDEDEDCDEDCDBDBDADBDCDBDBDBDBC7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3877273737676787C7B7F81838686888C8E90929396979B9EA1A2A5A7A8ACAEB0B2B3B6B8BCBFBFC1C4C5C5C5C6C8C9C9C9CACACBCECECFD0D0D0D1D1D1D3D5D5D5D6D7D7D9D7D7D6D7D7D7D7D7D7D9D9DADBDADBDBDADADADADADBDADAD9D7D7D7DADADADADADBDBDCDEDEDCDEDEDEDEDEDFDFDEDEE1E1E1E1DFE1E1E1E1DFDFDFE1DFE1E1DEDEDEDFDFDFDFDEDFDFE1E1DEDEDEDEDEDEDEDEDCDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5CA4842424242424242424242424242414141414141414141424242424040404040404040403E3E3E3E3E3F3F3F3F3F3E3E3E3E3E3E3E3E3E3E3E3E3F404040404041424242434445474748484A4C4C4F4F515353565658595B5B5D5F6061626466676A6A6B6D6E6F7171717372727373727373737372727271716F6F6D6C6A6A696665626162605F5E5B5A5756545351504F4D4C4A4848474545434240403E3C3B3B3A38383737363535353232313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262525252525252525252525252525252424242323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515161414141414151515141414141414141413131313131313131313131112121212121111111111111111111111111010101010101BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000005C929497999C9FA1A4A7AAADB0B3B6B9BCBFC1C5C7CACDD0D3D5D8DADCDEE1E3E5E7E9EBECEEF0F1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8ED000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F5F3F3F1F1F0F0F0EFEFEFEDECECECECEBE9E9E8E8E7E7E7E7E5E5E5E5E5E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E5E5E5E5E5E7E7E7E7E8E8E9E9EBECECECECEDEFEFEFF0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F3E3D3C6B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBC5CDD6DBE2E2E3E4E4E3E4E7E6EBF1E2DCDCDCDEDCDEDCDBDBDBDCDCDBDCDBDCDBDCDBDBDADADADAD7D7D9DAD9D9D9D7DAD7D7D7D6D9D7D6D7D9D9D9D9DADADBDADBDCDCDCDEDEDEDEDCDCDCDCDEDCDCDEDEDEDEE1E1DFDFE1E1E1DEDEDEDEDEDEDEDEDEDEDEDBDBDEDEDEDEDEDEDEDEDBDEDEDEDEDEDEDCDBDBDBDEDEDCDAD9D9DADADCDABEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3887273757677797C7E818183888A8E909293979B9C9FA2A5A8ACAEB0B2B5B6B9BCBDC0C4C5C6C8C9CBCBCECFD0CFD1D3D3D1D3D5D6D6D7D7D7D7D7DADADADADAD7D9D9D7D7D7D7D7D7D9D9DADADADAD9D9DAD9D7D6D6D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D7D7D7D7D9D7D7D7D7D7D6D6D7D7D6D7D7D7D9D9DADADAD9D9DADBDBDBDCDEDEE1DEDEDEDEDEDFDEDFDFE1E1E2E3E2E3E3E2E2E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E179424242424242424242424242424242424141414141414141424242404040404040404040403E3E3E3E3E3F3F3F3F3D3E3E3E3E3E3E3E3F3E3E3F404040404142424243444645474848494A4C4E4F4F52535556575A5A5B5D5F6062646567696B6C6D6E6F7172727275757575767676767676757574757373737272706F6D6C6A6A6666636262605F5E5A5A5755545252504F4C4C4948474545444340403E3E3C3B3B3A383737363535353232313131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262625252525252525252425252525252424242323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151515141414141414151515141414141414141413131313131313131313131212121212121111111111111111111111101010101010108ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1900000000000000000000000000000000000000000000000000869396989B9DA0A2A5A8ABAEB1B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F73B00000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F3F1F1F0F0F0EFEFEDEDECECECEBE9E9E8E8E7E7E7E7E5E5E5E5E4E4E4E4E3E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E5E5E5E5E7E7E7E7E8E8E9E9EBECECECEDEDEFEFF0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F8ECDFD5C9C1B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6BFC7CDD7E2F0F0F0F0E5D9DAD9D6D9DAD9D7DADADEE7D6CFCFCECBCBCECECFCFCECECECECFCECECECFCFCFCFCFD0D0CFCFD1D0D1D3D1D1D3D5D1D1D3D5D7D7D7D7D7D9D9D9D9D7D9D7D7D7D7D6D6D7D7D7D7D6D6D7D7D7D6D6D6D5D6D6D6D7D7D7D7D7DADADAD7D7D9DADBDADBDCDFDFDFDEDFDEDEDFE1DFDFE1DFDFDFDFDFE1E1DFDEDFDEDEDCDCDEDEDEDEDCBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38670727475777A7B7E7F8184888A8F909296999B9EA2A5A7AAACB0B1B5B5B9BBBDC0C1C4C5C8C9C9CBCECED0D0D3D5D5D6D7D7D7D7D7D9D9D7DADADAD9DADADBDADBDBDBDBDBDBDBDADADADADADADBDADBDADADAD9D7D7D5D5D5D6D7DAD9D9D7D7D9DADADADAD7D9D9D9D9D9D9D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D7D7DADADADBDBDADADADADBDADADBDBDBDADADADADAD9D7D7D7D7D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEB64242424242424242424242424242424242424141414141414142424242404040404040404040403E3E3E3E3F3F3F3F3F3E3E3E3E3E3E3F3F3F3F3F40404141424242434446454748494A4C4C4E5052535557575A5A5B5D5F6264646667696C6D6E707172737375757779787979797A7A7A79797979777778757473727271706F6F6A696866666262605F5D5A5A5855535152504D4C4A48484545444340403E3E3C3B3B3A383737363635353332323131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262625252525252525252525252525252424242323232323232323232323232222222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919191717171717171717171616161616151515151614141414141415151514141414141414141313131313131313131313121212121212111111111111111111111110101010101050BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE0000000000000000000000000000000000000000000000000017929497999B9EA1A4A6A9ACAFB2B5B8BBBEC1C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8810000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F1F0F0F0EFEFEDEDECECECEBE9E9E8E8E7E7E7E7E5E5E5E4E4E4E3E3E3E3E1E1E1E1E1E1E1E1E1E1E3E3E3E3E4E4E4E5E5E5E7E7E7E7E8E8E9E9EBECECECEDEFEFEFF0F0F0F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F0E5DACDCDC1C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C0C0C6CAD6DBE2EEF0F0F0F0F0F0F0F0F0F0EDE3E4E7E9E7E7E6E6E7E7EEF3E3DFDFDEDFE1DFE1E1E1E1E1E1E1E1DEE1E1E2E1E2E2E2E3E3E4E4E4E3E4E6E4E4E4E4E3E3E3E4E4E4E4E4E6E6E6E6E7E7E6E6E7E6E7E6E4E4E6E6E6E4E6E4E6E4E6E4E4E3E2E2E2E1E1E1E1E1DFDFDEDFDEDEDCDCDEDCDBDCDCDCDCDCDEDEDFDEDEDEDEDEE1DFDFDFDEDEDEDEDEDCDCDCDEDEDEDFDFDEDAB9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3877273757775787B7D7F818385898A8D8F909394999B9B9EA2A5A8AAACB0B2B6B8BBBBBFC1C5C5C8C9CACACBCED1D3D3D1D3D3D7D6D9DADADAD9DADBDEDEDEDEDCDCDEDFDFDFE1E1E1E1DFDFE1DFDEDFDEDFE1E1E1DFDFE1DFDFDEDEDCDEDEDEDCDCDEDEDEDEDCDCDCDEDEDEDEDEDEDCDEDEDCDEDCDEDEDEDFDEDFE1E1E1DEDEDFDEDEDCDCDBDBDBDCDCDCDCDCDBDCDBDBDBDBDBDBDCDCDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3584242424242424242424242424242424242424241414141414141424242424040404040404040403E3E3E3E3E3F3F3F3F3D3E3E3E3E3F3F40403F3F404141424242434446474748494C4C4C4F5153545657595A5C5B5F60626467676A6A6D7071727375757878797A7C7C7C7D7C7D7D7D7D7E7D7D7C7C7B7979787775757272706F6F6C696966666262605F5B5A5956545352504D4C4A49484545454341403E3E3C3B3B3A383737363635353532323131313131312E2E2E2D2D2D2D2D2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252525252525252524242423232323232323232323232322222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717171616161615151515151614141414141415151514141414141414141313131313131313131311121212121212111111111111111111111110101010101BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000459395979A9C9FA2A5A8AAADB0B3B6B9BCBFC2C5C7CACDD0D3D5D8DADDDFE1E3E5E7E9EBECEEF0F1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8C60000000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBFBFAFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F3F1F0F0F0EFEFEFEDECECECEBE9E9E8E7E7E7E7E5E5E5E4E4E3E3E3E1E1E0E0E0E0E0E0E0E0E0E0E0E0E0E0E1E1E3E3E3E4E4E5E5E5E7E7E7E7E8E9E9EBECECECEDEFEFF0F0F0F1F1F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F9F9F8F8F8F8F7F7F7F6F6EAE7DED8D8D8D6CDCCCCCCCCCCCCCBCBCBCBCBCBD1D7D7D7DFE5E5E7F3F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F3F3F3E8DBDBDEDEDEDFDEDEE1E1E4EEDED6D7D7D7D9DAD9DADBDADADBDBDCDBDBDCDEDBDBDCDEDEDEDFE2E2E1E1E1DEDFDFE1E1E1E1DFDEDEDCDCDCDCDBDEDCDCDEDEDEDEDCDEDEDEDEDEDEDEDEDEDEDEDEDBDEDEDBDEDEDEDEDEDBDBDBDBDCDCDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDADBDCDEDEDEDEDEDBDBDBDBDADADADAD7D7D7D7D7D7D7D2B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38875757577777B7C81818586888C8F909497999C9EA2A4A7AAACB0B1B3B6B6BBBDBFC3C3C5C5C8CACBCBCFCED0D1D1D0D1D3D3D3D5D5D5D5D5D6D7D9D9D9D7DADADADADBDCDCDCDADBDBDBDCDCDCDBDBDADBDADADADBDBDBDADBDADADADCDEDEE1DFDFDFDEDEDFDFDEDFDFDFDFE1DFDFE1E1E1E1E1E1E1E2E3E4E4E3E4E4E4E4E4E3E4E4E3E3E4E4E6E4E6E6E6E6E7E6E7E7E6E7E7E6E6E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E39144444444444242424242424242424242424242424241414141414141424242404040404040404040403E3E3E3E3F3F3F3F3F3E3E3E3F3F3F40413F3F4141424243444646474748494C4D4F4F5254555758595B5C5F5F626365676A6C6D6F717275757879797C7E7D7E8081818182828282828282807F7E7E7E7D7B79797777757372706F6C6A69666362625F5D5A5A58555351504E4D4C4948474545434140403E3C3B3B3A383737363635353532323131313131312E2E2E2D2D2D2D2C2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252525252525252524242423232323232323232323232322222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717171616161615151515151614141414141515151414141414141414131313131313131313131311121212121211111111111111111111111010101010108ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C00000000000000000000000000000000000000000000000000699396989B9DA0A2A5A8ABAEB1B4B7BABDC0C2C6C9CBCED1D3D6D8DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F71300000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F1F0F0F0EFEFEDECECECEBE9E8E8E7E7E7E5E5E5E4E4E3E3E1E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E1E3E3E4E4E5E5E5E7E7E7E8E8E9EBECECECEDEFEFF0F0F0F1F1F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3ECE2E1E1DFE1DFDFDFE1DFE4EEDCD6D7D7D7D7D6D7D7D6D5D5D5D5D3D1D3D1D1D1D3D3D5D5D6D7D6D7D7D7D9DAD9D9D7D7D7D9D9D9D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D5D5D5D5D3D1D0D3D3D3D3D3D3D5D5D3D3D1D3D3D3D5D5D5D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D1D0D0D0D0D0D0D0D0D0D0D0D0D0D1D3D1D1D3D3D3D3D1C5B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B386717273757677787B7C7E81838687898E909396999C9FA1A4A5A8AAACAEB1B5B5B9B9BFBFC0C1C4C4C5C6C9CBCBCECFCFD0D3D3D6D5D7D7D6D6D6D7D7D7D6D7D7D9D9D9DADADADADADADAD9D9D7D9DADADBDBDBDBDCDBDADAD9D9D9D7D9D9D9D7D7D7D7D7D6D7D7D6D5D5D6D7D7D7D6D6D6D5D6D5D6D6D6D6D6D6D6D6D6D5D5D6D5D6D7D7D7D9D9D7D7D7D9DADBDBDBDBDBDBDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1CD4444444444444444444242424242424242424242424242414141414141414242424040404040404040403E3E3E3E3E3F3F3F3F3D3E3F3F3F3F41414141414242434446474747484A4C4D4F5052545657595C5C5F5F606465666A6C6E7071727577797A7D7D7D82828283868685858585878585858585858383807F7E7E7B797877757372706F6C6967676361605F5D5A59585452524E4D4C4A48484545434140403E3C3B3B3A383737373635353532323131313131312E2E2E2D2D2D2D2C2B2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252525252525252524242423232323232323232323232322222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191917171717171717171716161616161515151515161414141414151515141414141414141413131313131313131313131212121212121111111111111111111111101010101050BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE30000000000000000000000000000000000000000000000000006929497999C9FA1A4A6A9ACAFB2B5B8BBBEC1C4C6C9CCCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8590000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F1F0F0F0EFEFEDECECECEBE9E8E7E7E7E5E5E5E4E4E3E3E1E0E0E0E0E0DEDEDEDEDDDDDDDDDDDDDDDDDEDEDEDEE0E0E0E0E0E1E3E3E4E4E5E5E7E7E7E8E8E9EBECECECEDEFEFF0F0F0F1F3F3F3F5F5F5F6F6F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F7F7F7F7F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5E8DBDCDCDBDEDCDCDEDEDEE3ECDBD5D5D3D3D1D1D3D5D6D7D7D7D7D9D7D6D7D7D6D7D9D7D9DADBDADADAD9D9DADBDCDBDBDCDEDEDEDEDEDCDBDBDCDEDEDCDEDFDFDFDFE1E1E2E2E2E2E1E1E1DFDFDFDEDFDFE1E1DFE1E1E1DFDFDFE1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDEDEDEDCDEDEDEDEDEDEDCDEDEDEDCDCDEDFDFDEDFDFC9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38A777779797C7E81818386898A8D8F9094979B9C9FA2A5A7ABB0B1B6B9BDC0C3C6C9CED0D1D3D5D9DADCDEDEDEDEE1E1E1E3E3E3E3E6E6E4E7EAEAE9E9E9E9EAEAEBEAEBEBEAEAEBE9E9E9E9E9E9E7E9E7E7E7E7E7E7E6E6E6E6E7E6E7E9E9E9EAEAEAEAE9E9E7E6E6E6E6E6E6E4E6E6E4E3E3E4E4E4E4E4E3E3E2E2E2E2E2E2E3E2E2E2E2E1E1E1E1E1DFDFDFDFDFDFDFE1E1DFE1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E36D444444444444444444444442424242424242424242424241414141414141414242424040404040404040403E3E3E3E3F3F3F3F3F3F3F3F3F4141414241424243444747474B484A4C4E5050545556575A5C5C6060646468686C6D7072747578797C7E7E82828585858588888889898989898989898988878784848382807D7B7B79787573726F6F6C69676763625F5E5A5A58555351504D4C4C48484545444140403E3C3B3B3A383737363635353532323131313131312E2E2E2D2D2D2D2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252524252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151516141414141414151515141414141414141413131313131313131313111212121212121111111111111111111111101010101BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D000000000000000000000000000000000000000000000000002F9395989A9D9FA2A5A8AAADB0B3B6B9BCBFC2C5C7CACDD0D3D5D8DADDDFE1E3E5E7E9EBECEEF0F1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F8A8000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAFAF9F9F9F9F8F8F7F6F5F5F5F3F3F3F1F0F0F0EFEFEDECECECE9E9E8E7E7E7E5E5E4E4E3E1E0E0E0E0DEDEDDDDDDDDDCDCDCDCDCDCDCDCDCDCDCDCDDDDDDDEDEDEE0E0E0E0E1E3E4E4E5E5E7E7E7E8E9EBECECECEDEFEFF0F0F0F1F3F3F5F5F5F5F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5ECDEDEDEDBDBDADADADBDCE1ECDCD5D3D6D7D7D9D9D9D9D7DADADADAD9DADADCDEDEDFDFDFDEDEDCDEDCDEDCDCDCDCDCDCDEDCDADADADADADADADBDBDBDADADADCDEDEDEE1E1E2E1E2E2E3E4E6E6E4E4E6E6E6E6E6E7E7E7E6E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E3E3E2E3E2E1E2E2E2E1E2E2E2E1E1E1E1E1E1E1E1DFDEC2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3866F7173757577787B7C7E818386898C8E90929697999B9EA2A4A7AAACAEB1B3B6BBBDBFC1C3C5C6C9CACBCED0CFD0D0D1D3D3D5D6D7D7D7D7D6D7D7D7D9DBDBDBDBDBDBDEDEDCDBDBDBDBDADADADADADBDADBDCDCDEDCDEDFDFDEDEDFDFE1E1E2E1E1E1E1E1E1DFDEDEDCDBDBDBDADADADAD9D9D7D7D7DADADAD9DAD9D7D7D7D7DAD9D9D9D9D7D9D9DADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9A64444444444444444444444444442424242424242424242424241414141414141424242404040404040404040403E3E3E3E3F3F3F403E3F3F4141414242434343444747484A4A4A4C4F5052545657575A5D5F5F636467686A6D707274757A797D7E808284858588888B8B8D8D8D8F8F8F8F8F8F8F8C8C89898A8786848484807F7C7B79787573726F6C6A696766615F5F5B5A59565452514E4D4C49484745454341403E3E3C3B3A383737373635353532313131313131312E2E2E2D2D2D2D2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191917171717171717171716161616161515151516141414141414151515141414141414141413131313131313131313111212121212111111111111111111111110101010108ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000589496989B9DA0A3A6A9ABAEB1B4B7BABDC0C3C6C9CBCED1D3D6D9DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8E40000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F0F0F0EFEFEDECECECE9E8E8E7E7E5E5E4E4E3E1E0E0E0DEDEDDDDDCDCDCDCDCDADADADADADADADADADADADADCDCDCDCDCDDDDDEDEE0E0E0E1E3E4E4E5E5E7E7E8E9E9ECECECEDEFEFF0F0F0F1F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6E9DBDCDCDADADBDEDFDEE1E6F1E1D9D7D9DADADADBDBDBDBDBDBDBDBDBDEDCDCDBDCDBDBDBDBDEDEDEDEDEDEDCDBDAD9DADAD9D9D9DADADADADADADADBDCDBDADADADAD9D9D9DADADADBDBDBDADBDEDEDEDEDEDEDEDEDEDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDBDBDCDCDCDEDBDBDBDBDBDCDEDEDEE1DFE1DFE1E1E1E2BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38875777778787B7D7E81828489898C8D90929497999B9E9FA2A5A7AAACAEB1B3B5B6B9B9BDC0C4C5C8C9CACACACECFD0D0D0D3D3D3D3D3D5D3D5D3D1D3D3D3D3D5D5D5D6D7D7D7D7D9D9D9D9DADADAD9D9D7D7D6D7D7D7D7D9D9D9D9D9DADBDBDBDBDADCDCDCDCDCDCDEDBDBDBDBDBDBDBDBDCDCDCDBDBDADADBDCDEDEDEDEDEDFE1E1DFDEDEDEDEDEDEDEDEDEDEDCDEDFDFE1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADAD5504444444444444444444444444444444242424242424242424242414141414141414242424040404040404040403E3E3E3E3F3F4040403F4141414242434443464747484A4A4D4C4F50545556585B5C5C5F606466676A6C6F727475787A7D8082848685888A8C8D8F8F8F9191919392929292929091918F8F8C8B8A8787848481807D7B79787573726F6C6A696763605F5D5A59585552514E4D4C4A484745454341403E3E3C3B3A383737373635353532323131313131312E2E2E2D2D2D2D2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919191717171717171717171616161615151515151614141414141515151414141414141414131313131313131313131312121212121211111111111111111111111010101050BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0000000000000000000000000000000000000000000000000000809497999C9FA1A4A7AAADAFB2B6B8BBBEC1C4C7CACDCFD2D4D7D9DCDEE0E2E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F83B0000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F6F5F5F5F3F3F1F0F0F0EFEFEDECECEBE9E8E7E7E7E5E5E4E3E1E0E0E0DEDDDDDCDCDCDADADADADADAD9D9D9D9D9D9D9D9D9D9DADADADADADADCDCDCDDDDDEE0E0E0E1E3E4E5E5E7E7E7E8E9EBECECEDEFEFF0F0F0F1F3F3F5F5F5F6F6F7F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F3EAEBEBEAEBEAEAE9EAEAEFF7E6DFDFE1E1E1E1DEDFE1E1DEE1DFE1E2E2E1E1E1E1E1E1E2E2E3E3E3E3E4E3E4E4E3E1E1E1E1E1E1E2E1E1E1E1E1E1E1E1E1E1DFDEDEDEDEDBDBDBDCDCDCDCDBDBDBDBDBDBDBDBDBDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDCDEDBDCDBDADBDCDBDCDCDADAD9D9D7D6D6D5D2B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38772727575767778787C7E818285868A8C8E9094999B9EA2A4A7A8AAAEB1B1B3B8B9B9BBBDBFC0C3C5C5C6C9C9CACBCED1D1D0D3D3D3D5D5D5D5D5D6D7D6D7D7D9D9D9D9D9D9DAD9DADADADADADADADADAD7D7D7D7D7D9DADADADADBDCDADADADAD9DADBDADADBDCDBDBDBDADADBDCDEDCDCDEDEDEDEDEDEDEDCDCDEDFDFDEDFE1E1E1E1E1E1E3E3E2E2E1E1E1DFDFDFDFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E290434343434343444444444444444444444442424242424242424242424141414141414142424040404040404040403E3E3E3E3E404040414141414242434444444747484A4A4D4F5051545557585A5D5F5F6263676A6C6F727275787A7D7F828485878B8C8D8F90919193939595969898979696969595929490908E8C8B8A898684837F7D7B79787573706D6A696766615F5E5B5A58555352504D4C49484745454341403E3E3C3B3A383737373635353532313131313131312F2E2E2D2D2D2D2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252525252525252424242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717171616161615151515151614141414141515151414141414141414131313131313131313131312121212121211111111111111111111111010101BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000001D9396989B9DA0A2A5A8ABAEB0B3B7B9BCBFC2C5C8CBCED0D3D6D8DBDDDFE1E4E5E7E9EBECEEF0F1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F881000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F6F6F5F5F5F3F3F1F0F0F0EFEFEDECECEBE9E8E7E7E5E5E4E3E1E0E0E0DEDDDCDCDCDADADADAD9D9D8D8D7D7D7D7D7D7D7D7D7D7D7D7D8D8D9D9DADADADADCDCDDDDDEE0E0E0E1E3E4E5E5E7E7E8E9EBECECEDEFEFF0F0F0F1F3F3F5F5F5F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F9F9F9F9F9F9F9F9F9F9F2EAEAEAE9EAE9EAEBEBECF1F7E7E1DFDFDEDEDEDEDEDEDEDEDEDEDEDFDFDEDEDEDFDFDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFE1E1DEE1E1DFDFDFDFE1E1E2E2E3E4E4E4E3E3E3E2E2E3E1E1DFDFDFE1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E4E4E6E7E7E9E7E7E7E6E6E4E6E4E4E4E3E4E4E4E6E4DDB7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38C777778787B7D7E7F81818688898C8E909297999B9EA2A5A5A7ABACAEB2B2B8B9BBBFBFC0C3C5C6C8C9CACACECECFCFD1D1D3D3D5D7D7D7D7D7D9DADBDBDEDEDEDEDEDFDFDFE1E1E1E1E3E1E1E1DFDFDEDCDCDBDADADBDCDCDCDBDBDBDBDBDBDEDEDEDEDFDEDEDFDEDEDEDEDEDEDFDFDFDEDEDEDEDEDEDEDEDEDEDEDEDFDFDFE1E2E2E3E2E3E2E2E3E3E2E2E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAD74343434343434343434444444444444444444442424242424242424242424141414141414242424040404040404040403E3E3E404040414242414242434444464847484A4A4D4D51515455575A5C5D5F606465686A6D70727577797D7F8284878A8B8C8F90919395969798989A9B9A9B9B9A9A989A9A989796959392908E8D8B89868483807E7A797774726F6C6A696662605F5D5A59565352504D4C4A484745454341403E3E3C3B3A383737363635353532313131313131312E2E2D2D2D2D2D2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272625252525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1919191919191919191919191917171717171717171716161616161515151515141414141414151515141414141414141413131313131313131313111212121212111111111111111111111110101050B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB54F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4000000000000000000000000000000000000000000000000000469497999C9EA1A4A6A9ACAFB2B4B8BBBDC0C3C6C9CCCED1D4D6D9DBDDE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8D90000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0F0EFEDEDECECE9E8E8E7E7E5E4E4E3E0E0E0DEDDDCDCDADADAD9D9D8D7D7D6D6D6D4D4D4D4D4D4D4D4D4D4D4D4D6D6D6D7D7D8D9D9DADADADCDCDDDEE0E0E0E3E4E5E5E7E7E8E9E9ECECEDEFEFF0F0F0F1F3F3F5F5F5F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9EDE1DFDFDEDFE1DEDFE1E1E6EFDFD7D9DAD9D9DADADADADADADADAD7D7D7D7D7D9DADADADADBDCDADADADAD9DADCDBDBDCDEDCDCDCDBDBDCDEDEDEDEDEDFDFDFDFDFDEDEDEDEDFDFDEDFE1E1E1E1E1E1E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDCDEDCDEDEDBDBDBDCDCDCDACFB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38C79797A7B7E7F80818385898C8F9293979B9C9EA2A4A7AAACAEB1B3B6B9BCBFC1C4C5C9CACED0D5D6D9DBDEDFE3E3E4E6E6E9E9EAEBEBEAEAEBEAEAEBEAEAEAEBEBEAEBEEEEECEBEBEBEEEEEEECEEEEECECEEEBEBEBEBEBEBEAEBEAEAEBEBEBEAE9E9E9E9EAE9EAEBEBEBECECECECEBEBEAE9E7E7E7E9E9E7E9E9E7E6E6E6E6E7E6E6E4E4E3E3E3E3E3E3E3E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3744444444443434343434343444444444444444444424242424242424242424141414141414142424040404040404040403E3E404040414142424242434444464848484A4A4D4D51545555575A5C5C60626567696A6F727476797C7F828486888C8D8F90929596989A9B9B9BA0A0A0A0A0A0A0A0A09E9C9C9B9A9896939291918F8A888684837F7C7B7875736F6D6C696566615F5D5A59565452504D4C4A484845454341403E3E3C3B3A383737363635353332313131313131312F2E2D2D2D2D2D2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272626252525252525252525252525252424242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717161616161615151515161414141414141515151414141414141414131313131313131313131112121212121111111111111111111111105DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD720F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED00000000000000000000000000000000000000000000000000007695989A9C9FA2A5A8AAADB0B3B6B9BCBFC1C4C7CACDCFD2D5D7D9DCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F8280000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F3F1F0F0F0EFEDECECECE9E8E7E7E5E5E4E3E1E0E0DEDDDCDCDADAD9D9D8D7D6D6D4D4D4D3D3D3D3D1D1D1D1D1D1D1D1D3D3D3D3D4D4D4D6D6D7D8D9DADADADCDCDDDEE0E0E1E3E4E5E7E7E7E8E9ECECEDEDEFF0F0F1F1F3F3F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9EFE1E3E2DFE3E3E3E4E3E4E7F2E1D9DADADADBDBDADAD9D9D7D6D6D6D6D6D5D5D5D3D3D5D5D5D6D7D7D7D7D7D6D7D7D9D9D7D6D6D7D7D7D7D7D9DADADBDBDADADADAD7D7D9DADAD9D7D7D7D6D6D5D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D7D7D7D9DADADBDBDBDBDCDAD9DADAD7D7DAD7D6D6D5C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38B7878797B7D7E818182848688898D909394979B9CA2A2A7A8AEB1B2B5B6B8BBBCBFC0C1C5C6C9CBCAD0D0D1D1D3D3D6D7D7D9D7DADADADADBDBDBDCDCDCDBDCDCDCDEDCDBDCDEDEDBDEDCDEDEDCDCDCDEDEDEDCDEDEE1E1DFE1E1E1E1E1DEDEDEDEDEDEDCDBDADADBDCDBDBDADADADADADADCDCDBDBDEDEDCDCDCDCDBDBDBDCDEDEDEDEDCDEDEDEDFDEDCDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1C544444444444444444343434343444444444444444444424242424242424242424141414141414242424040404040404040404040404241424242434344444648484A4A4A4D4D51545558595A5D5E616265686A6C717475797C7E828286888B8F8F919297999A9B9FA0A0A2A3A3A2A2A4A4A4A4A1A1A1A1A0A09E9B9A97969592908F8B888683817F7C7B7773726F6C6A6766615F5E5B59565452504E4D4C484845454341403E3E3C3B3A3837373636353533323131313131312F2F2E2D2D2D2D2C2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272625252525252525252525252525252424242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191919171717171717171717161616161515151515161414141414151515141414141414141413131313131313131313131212121212121111111111111111111574BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD911A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000129496989B9DA0A3A6A9ABAEB1B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDDFE1E4E6E7E9EBECEEF0F1F2F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F876000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F6F6F5F5F3F3F1F0F0F0EFEDECECEBE9E8E7E7E5E4E3E1E0E0DEDDDCDCDADAD9D8D7D6D6D4D4D3D3D1D1D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D1D1D3D3D4D4D6D6D7D8D9DADADCDCDDDEE0E0E3E4E5E5E7E7E8E9ECECECEDEFF0F0F1F1F3F3F5F5F6F6F7F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF0E3E3E2E2E3E3E2E1E3E1E6EEDED7D9D7D7D7D7D9D7D9DADADADAD9D7D7D7D9D7D9DADADADAD7D9DADADADAD9DADADAD9DADADADADAD9D7D7D7D6D5D5D5D6D6D6D5D5D3D3D1D1D0D0D0D1D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D7D7D7D7D7D5D5D7D7D7D7D9DAD9DAD7D7DADAD9DAD9BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B390818181838586898A8C8D8F909497999B9EA1A2A4A7AAAEB1B2B5B9BBBFC1C4C6C6C9CBCBD0D0D1D3D5D7D9D9DADBDCDCDEDEDEDEDEDEDEDCDEDEDFDEDEDEDBDEDBDBDBDBDCDBDADBDBDBDBDBDCDCDEDCDCDEDEDEDFDEDEDEDEDEDEDEDEDCDCDEDEDEDEE1E1DEDEE1E1DFDEDEDEDEDEDEDEDEDEDEDEDBDBDEDEDEDEDEDEDEDEDBDEDEDEDEDEDEDCDBDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDE60444444444444444444444343434344444444444444444442424242424242424242414141414141424242404040404040404040404242424242434444444648474A4A4C4D4D515455575B5C5D5E616465696A6E7174777A7D818285888B8F8F939597999B9FA0A2A3A5A5A5A8A8A8A8A8A8A8A8A8A8A5A4A4A1A09D9C9B98979392908D8B898683807E7B7875726F6D6A696662605F5B5A585552504E4D4C484845454341403E3E3C3B3A3837373635353533323131313131312F2F2E2D2D2D2D2C2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272625252525252525252525252525252424242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191917171717171717171716161616151515151516141414141415151514141414141414141313131313131313131311121212121211111111111111111591BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA72D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000003A9497999C9FA1A4A7AAADAFB2B5B8BBBEC1C4C6C9CCCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8C60000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F6F5F5F3F3F1F0F0F0EFEDECECEBE9E8E7E7E5E4E3E0E0DEDDDCDCDADAD9D8D7D6D4D4D3D1D1D0D0D0D0CECCCCCCCCCCCCCCCCCCCCCCCCCCCCCED0D0D0D0D1D1D3D4D4D6D7D8D9DADADCDCDDE0E0E1E3E4E5E7E7E8E9EBECECEDEFF0F0F1F1F3F3F5F5F6F6F7F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBEFE2E1E2E1E2E2E1E1E2E2E7F2E1DADADBDBDADADADADADADBDBDBDBDCDEDEDEDEDEDFDFDEDEDEDEDEDEDFE1E1E1E2E3E2E2E3E3E3E3E3E3E3E2E2E2E3E3E3E4E6E7E6E6E4E3E3E3E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDEDEDEDEDEDEDEDBDCDCDADADADADAD9DADADBDCDCDBBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38E7D7E808082818386868A8C8E8F9294999B9C9EA1A2A5A7ABACB1B1B3B5B8BCBFC3C4C8C8CBCBD0D3D5D6D6D9D9DADADBDEDEDFDFE1DEDFE1E3E1E2E1E3E1E1E1E3E2E2E1E1E1E1DEDEDEDEDCDCDCDCDBDBDCDEDEDEDEDCDEDFDFDFE1E1E1E1DEDEDEDEE1E1E1E1E1DFDFDFDFDFE1DFDFDEDFDFDFDFE1E2E2E3E3E3E3E2E2E3E3E2E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4A1444444444444444444444444434343434344444444444444424242424242424242424141414141414242424040404040404042424242434342434446444648474A4A4C4F4D505456575B5C5E5F616367696D707276797C7F8284878B8E8F9395999A9EA0A0A1A6A6A8A8A9ABADADADADAEADADADABAAA9A8A8A5A4A2A09D9C99979592908C8A8984817F7B797773706F6C6A66625F5F5D5A585552504E4D4C494845454341403E3E3B3B3A3837373635353533323131313031312F2F2E2D2D2D2D2C2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272625252525252525252525252525252424242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171716161616161515151515141414141414151515141414141414141413131313131313131313111212121212111111111111239FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5410F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED00000000000000000000000000000000000000000000000000006A96989B9DA0A2A5A8ABAEB0B3B6B9BCBFC2C5C7CACDD0D3D5D8DADCDEE1E3E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8F81E0000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F8F6F6F5F5F3F3F1F1F0F0EFEDECECEBE9E8E7E5E5E4E3E0E0DEDDDCDADAD9D8D7D6D4D3D3D1D0D0D0CECCCCCCCCCBCBCACACACAC9C9CACACACBCBCBCCCCCCCCCED0D0D0D1D3D3D4D6D7D8D9DADADCDDDEE0E0E3E4E5E5E7E8E9EBECECEDEFF0F0F1F1F3F5F5F5F6F6F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBEBDAD9D9D7D9D7DADBDEDBDEE9D7D0D0D0D0CFCFD0CFD0D0D0D1D3D5D5D5D5D5D6D5D5D6D5D6D6D6D6D7D5D5D7D7D7D9DADBDADADADADBDBDBDCDBDBDADADADBDADADADBDCDCDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBE9E9EAEAEAEAE9E9E9E6E9E7E9E7E9E7E7E9E9E7E7E6E2BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38C7B7D7D7D7F818181838689888C8F9294979B9C9EA1A5A7AAABACAEB1B3B8B9BDBFC1C3C3C4C8CACACECFD0D1D1D1D3D5D6D6D7D9D7D7D9DADCDCDBDAD9D9DADBDEDBDBDADBDADBDADBDBDCDBDBDBDBDBDBDBDBDEDEDEDCDBDEDEDEDFDEDEDEDEDEDCDEDEDEDEDEDEDEDEDEDFDEDFDFDFDFDFDFDFDFDEDEDEDEDEDBDBDBDEDEDEDEDEDEE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2DC4C4444444444444444444444444444434343434444444444444442424242424242424242414141414141424242404040404042424242434343434446464548474A4A4C4F50515456575B5C5F606263676A6D7175767A7D8182868A8C8F9196999A9DA0A0A6A6A8A9ACADADB0B0B2B2B2B2B2B2B2B1AEAEADACA9A8A6A4A2A09D9B99979392908C888683807E7B7873726F6C6A6562605F5D5A585552504E4D4C494845454341403E3E3B3B3A3837373635353533323131313031312F2F2E2D2D2D2D2C2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282828272727272727272625252525252525252525252525252424242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717161616161615151515161414141414141515141414141414141414131313131313131313131212121212121111111135A7BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000B9497999C9EA1A4A6A9ACAFB2B4B7BBBDC0C3C6C9CBCED1D4D6D8DBDDE0E2E4E6E7EAEBEDEEF0F1F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F863000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F8F7F6F5F5F5F3F1F1F0F0EFEDECECEBE8E7E7E5E4E3E1E0DEDDDCDADAD9D8D7D6D4D3D1D0D0D0CCCCCCCBCBCAC9C9C7C7C7C7C7C7C7C7C7C7C7C7C7C7C9C9CACBCBCCCCCCD0D0D0D1D3D4D6D7D8D9DADCDCDDE0E0E1E3E5E5E7E7E9EBECECEDEFF0F0F1F3F3F5F5F5F6F7F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF6ECEBEAEAEAEBEAEAEBEAEFF8E6DEDEDFDFDEDEDEDFDFDFDEDEDCDCDEDBDCDCDCDCDCDCDEDEDCDCDEDEDEE1E1E1E1E2E2E2E3E3E3E2E1E1E1E1E1E1DFDFE1E1E1DEDEE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADAD9D9D7D9D9DADADADAD9D9D7D7D7D7D6D7D7D7D6D3CBB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39080808181838588898C8D8F92939697999C9EA2A4A5A8ACAEB1B5B6B8BBBDC1C3C4C6C6CACBD0D0D1D3D3D3D5D7DADADBDCDEDEDEDEDEDFE1E1E2E4E4E4E4E4E6E6E4E3E4E6E6E6E6E4E4E3E3E2E3E3E2E2E2E3E3E4E3E4E4E3E3E3E3E3E3E3E3E3E1E1E1DFDEDEDFDFDFE1E1E1E1E1E1E2E3E4E4E4E4E3E4E4E4E4E3E2E1E2E3E4E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E68E4444444444444444444444444444444443434344444444444444444242424242424242424141414141414242424040404042424242434343434446464749474A4A4C4F50515456585B5C5E616466686A6D7276797D7F8284878B8F909599999DA1A3A6A6ABADADAEB0B2B2B3B3B4B4B4B4B4B4B4B3B2B2B1B0ADACAAA8A5A2A19E9C989693908D8B8784837F7B7874726F6C6B6766615F5D5A595552514E4D4C494845454342403E3C3B3B3A3837373635353533333131313031312F2F2D2D2D2D2D2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252525252525252524242423232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A191919191919191919191919191717171717171717171616161615151515151614141414141515151414141414141414131313131313131313131312121212121211113CB5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8A130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000002F95989A9C9FA2A5A8AAADB0B3B6B9BCBFC1C4C7CACDCFD2D4D7D9DCDEE0E2E5E6E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8B30000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F7F6F5F5F5F3F3F1F0F0EFEDECECEBE8E7E7E5E4E3E0E0DEDDDCDADAD8D7D6D4D3D1D0D0CECCCCCBCAC9C7C7C7C7C5C5C5C5C4C4C4C4C4C4C4C4C5C5C5C5C7C7C7C7C9CACBCCCCCED0D0D1D3D4D6D7D9DADADCDDDEE0E0E3E4E5E7E7E8EBECECEDEFF0F0F1F3F3F5F5F5F6F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF6EBECECECEBEBEBEAE9E9ECF4E3DEDEDCDEDEDEDEDEDEDEDEDEDEDEDEDEDFE2E2E1E1DFE1E1E1E1E1E1DFDFDFDFDFE1DFE1E1E1E1E2E1E1E1E1E1DFE1E1DFE1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E3E4E4E4E4E3E3E3E3E3E2E1E2E2E3E3E3E3E1E1E1E1D3B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B390818181818182818588898A8A8C8F909396999B9C9FA2A4A7A8ABACAEB2B5B6BBBBBDBFBFC1C4C4C5C9C8C9C9CBCBCECBCBCECECECED0D1D3D1D1D3D3D3D3D3D3D5D6D6D7D7D7D7D6D6D6D6D6D6D7D6D6D5D5D5D6D5D5D5D5D7D6D5D6D6D6D6D5D3D5D5D5D3D5D5D3D5D6D6D6D6D5D5D5D5D6D6D6D7D7D9D7D6D7D7D7D7D6D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCCA454545454444444444444444444444444444434343444444444444444242424242424242424241414141414142424040404242424342434343444646474849484A4C4F5051545657595C5E616466696A6D7276797C818286888E8F93979A9DA0A2A6A6ABADAEB1B2B3B7B7B8B8BABABABABBBAB7B7B7B7B4B2B2AFB0ADACA8A5A2A29E99989592908B8986837F7B797573706C6A6766615F5D5A585553504E4D4A484845454342403E3C3B3B3A3937373635353533323131313031312F2F2D2D2D2D2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252525252525252524242423232323232323232323232322222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919191717171717171717171616161615151515151614141414141515151414141414141414131313131313131313131112121212121151BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD9F200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE300000000000000000000000000000000000000000000000000006496989B9DA0A3A6A9ABAEB1B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8130000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F9F8F7F6F5F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E3E0E0DDDCDADAD9D7D6D4D3D1D0D0CCCCCCCBC9C7C7C7C5C5C4C4C3C3C1C1C1C1C1C1C1C1C1C1C1C1C3C3C4C4C5C5C7C7C7C9CBCCCCCED0D0D1D3D4D6D7D9DADCDCDEE0E0E3E4E5E7E7E8EBECECEDEFF0F0F1F3F3F5F5F6F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCEDDEE1DFDEDFDEDCDCDCDEE3ECDAD3D1D1D1D3D3D3D1D0D0D0D0D0D0D1D0CFCFCFCECECECECED0D0D0D0D0D0D1D3D3D3D5D5D5D6D7D6D6D6D5D3D5D5D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E3E3E3E3E2E2E2E3E3E3E4E6E6E4E4E3E1E1E1E2E2E2CAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38E7D7C7D7E7E7F818282838688898C8F909496999B9EA2A4A7A8ABB0B2B6B8B9BDBFC1C4C8CACECED0D1D3D5D7D9DADBDBDBDEDEDEDEDEDFE1DFDEDCDCDEDEDFDFE1E1E1E3E2E2E3E4E3E3E3E3E3E3E2E3E3E3E3E3E3E6E3E3E3E2E2E2E2E2E2E1DFE1DFDFE1E2E3E3E3E2E3E3E4E6E6E6E4E6E4E4E4E4E6E6E6E4E4E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E37C46464645454544444444444444444444444444434343444444444444444242424242424242424141414141414242424041424243434243434444464748494A4B4C4F5053555658595C5E616466696D6E72767A7D8183888B909096999C9FA3A5A8ABADAFB2B4B7B7B8BBBBBBBBBDBDBEBEC0BDBDBDBBB9B9B8B5B4B2AFADAAA8A5A1A09E999693908D888784807C7A7773706D6A6766615F5D5A595553514E4C4C484745454342403E3C3B3B3A39373736353533333231313130312F2F2F2D2D2D2D2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252525252525252524242423232323232323232323232322222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171716161616161515151515141414141414151515141414141414141413131313131313131313121212121274BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5390F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000068F97999C9FA1A4A7AAADAFB2B5B8BBBEC1C4C6C9CCCFD2D4D7D9DBDEE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F8630000000000000000000000000000000000000000000000000019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E1E0DEDDDCDADAD8D7D4D4D1D0D0CCCCCBCAC9C7C7C5C5C4C3C1C1C1C1C0BEBEBEBEBEBEBEBEBEBEBEBEC0C1C1C1C1C3C4C5C5C7C7C9CACBCCCED0D0D1D4D4D7D9DADADCDDDEE0E3E4E5E7E7E8EBECECEDEFF0F0F1F3F3F5F5F6F6F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF7ECECECECEBEBEBECECEEF3FBEBE4E4E3E2E2E3E4E4E4E3E2E1DFDEDEDEDEDEDFDEDEDFDFDFDFDEDFDFDEDEDEDFDFDFDFDEDEDEDBDEDEDBDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDEDFE1E2E3E2E2E2E3E3E3E3E3E3E3E1E3E1E1E1E1DFC2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3928383838588888A8A8C8D8F8F939497979B9C9E9FA2A5A5A7ABACB1B1B3B8BBBFBFC1C3C5C9CACBCFD0D1D3D3D5D6D7D9DADBDADBDBDBDCDEDEDEDEDEDEDEDEDEDEE1E2E2E3E3E3E3E2E2E3E3E2E3E3E3E3E3E2E2E3E3E3E3E2E3E3E4E4E6E6E4E6E6E6E6E6E4E6E6E4E4E6E4E6E4E6E6E6E6E7E6E7E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEBB46464646464646454544444444444444444444444443434344444444444444424242424242424242414141414142424240414143434243444344464748494A4C4D4F50515556585B5E5F6164686B6C7172767A7F82848A8C9091979A9FA0A5A7A9ADB0B4B5B7BABBBCBEBEC1C2C1C2C2C2C2C2C2C1C0BEBDBBBAB8B7B4B3B0ADA9A8A5A19E9B9895928D8B8784817E7A7874726F6A6966615F5D5A595552514E4C4A484745454340403E3C3B3B3938373636353533333231313030312F2F2F2D2D2D2D2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717171616161616151515151614141414141515151414141414141414131313131313131313131312121682BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD560F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23000000000000000000000000000000000000000000000000002F96989B9DA0A2A5A8ABAEB0B3B6B9BCBFC2C5C7CACDD0D3D5D8DADCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8B30000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F6F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E1E0DEDDDCDAD9D7D6D4D3D1D0CECCCBCAC9C7C5C5C4C3C1C1C1BEBEBDBDBDBDBDBBBBBBBBBBBBBBBBBDBDBDBDBDBEBEC1C1C1C3C4C5C5C7C9CACBCCCED0D1D3D4D6D8D9DADCDDDEE0E1E4E5E7E7E8EBECECEDEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF3E7E9E9E9E9EAE9E9EAEAEEF8E7DFE1E1E2E2E3E4E4E4E3E3E3E2E2E3E1E1DFDFDFE1E1E2E1E2E3E2E2E3E3E3E3E3E3E3E3E3E3E3E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E1E1E1E1E1DFE1E1E1DFDFDEDCDCDCDCDBDEDEDEDEDEDCBCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38E7D7D7F8181818283888A8A8D909294979B9C9FA2A5A8A8ACB1B2B5B6B8BBBCBFBFC0C3C3C5CACACBCECFD0D0D1D5D7D7D9DADCDBDBDEDEDEDEDCDCDEDFDFDFDEDFDEDEDEDFDFDFDEDEDEDEDFDFDFE1E2E2E3E2E3E2E2E3E3E2E2E3E3E3E3E3E2E2E2E2E2E3E3E3E2E2E2E3E3E3E3E3E3E3E3E2E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEE71464646464646464646454544444444444444444444434343434444444444444242424242424242424141414141414242424142434243434446464647494A4C4C5050515556595B5E5F6164686B6D7175797B8083868A8E9095999CA0A3A7A9ADB0B4B5B8B8BCBEC0C2C4C5C5C5C5C6C5C6C6C6C6C4C1C2C1BDBDBBB7B7B4B1AEACA9A6A4A09C9B9792908B8984837F7A7874726F6A6966615F5D5A585552514E4C4A484745444340403E3C3B3A3938373635353533333231313030312F2F2E2D2D2D2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919171717171717171717161616161515151515161414141414151515141414141414141413131313131313131313112391BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD79130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE00000000000000000000000000000000000000000000000000006497999C9FA1A4A6A9ACAFB2B4B8BBBDC0C3C6C9CBCED1D4D6D8DBDDE0E2E4E6E7E9EBECEEF0F1F2F4F5F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9F8130000000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F8F8F7F6F5F5F3F3F1F0F0EFEDECECE9E8E7E7E5E4E1E0DEDCDCDAD9D7D4D4D1D0CECCCBCAC7C7C5C5C4C1C1C1BEBDBDBDBBBABAB9B9B9B7B7B7B7B7B7B7B7B9B9B9BABABBBDBDBDBEC1C1C3C4C5C5C7C9CACCCCD0D0D1D4D6D7D9DADCDDDEE0E1E4E5E7E7E8EBECECEFEFF0F0F1F3F5F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCEFE1DFDFDEDEDCDEDEDEDEE2EEDFDAD9DADADBDBDBDADBDBDBDBDADADBDBDBDBDBDBDCDEDEDBDBDBDBDBDBDEDEDEDEDEDEDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDBDEDEDEDEDEDBDBDBDBDBDBDCDEDCDCDCDCDBDBD9D6B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3948384848686868788898A8D8F909396979C9CA1A4A7A8ACAEB1B2B6B6BBBDC0C1C4C6CACACBCFCFD0D1D3D5D6D7D6D7D7D7DADEDEDFE1E1E1E2E3E3E4E4E3E4E4E4E4E4E6E6E6E4E4E3E3E3E6E3E4E3E4E3E3E3E3E3E3E1E1E2E1DFDFDFDEDEDEDEDEDCDCDEDEDFDEDEDEDFE1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4BB464646464646464646464646454444444444444444444443434344444444444444424242424242424242414141414142424241424242434445464647494A4A4C4F51515556595A5D5F6164676B6D7176797B8083878B8E93969B9FA2A6A9ADB0B2B7B7BBBDBEC2C4C5C5C7C8CACACACBCBCACACACAC7C7C6C4C2BDBDBABAB7B2B1AEACA8A5A19E9B9793908C8886837F7B7874726F6A6966615F5D5A585552514E4C4A4847454441403E3E3C3C3B39383736353535333232313130302F2F2F2E2D2D2D2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191919171717171717171717161616161515151515161414141414151515141414141414141413131313131313131323A7BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD98200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75000000000000000000000000000000000000000000000000000C90989A9DA0A2A5A8AAADB0B3B6B9BCBFC1C4C7CACDCFD2D4D7D9DCDEE0E2E5E6E8EAECEDEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8630000000000000000000000000000000000000000000000000007F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F5F3F1F0F0EFEFECECEBE8E7E7E5E4E1E0DEDCDADAD8D6D4D3D1D0CCCCCAC9C7C5C4C3C1C1C0BEBDBDBABAB9B7B7B7B7B6B6B5B5B5B5B5B5B5B5B6B6B7B7B7B7B9BABABDBDBEC0C1C1C3C5C5C7C9CBCCCCD0D1D3D4D7D9DADADCDEE0E1E4E5E7E7E8EBECEDEFEFF0F0F1F3F5F5F6F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF6EBEAE9E7E9EAEBECECEEF4FBEAE1E1E2E2E2E3E3E3E4E3E2E2E2E3E2E2E2E1E1E1E1E1E1E1E1DFDFDFE1E1E1E1DFDEDEDFDEDEDEDEDEDEDEDFDEDEDEDEDEDFE1E1E2E2E3E3E3E3E3E3E3E2E2E2E1E1E1E1E1E2E1E1DFDFE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDBDBDBDEDEDEDEDEDEDEDBDAD9D9D7D7D7D7D6D6D6D0B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39283848486868989898C8C8E8F9294979B9C9EA2A4A7AAACAEB1B5B8BBBDC1C3C5C6CACACBCED0D3D5D5D6DADADBDBDEDEDCDEDFE1E1E2E2E1E3E3E3E3E3E2E3E2E2E3E3E3E3E3E3E3E3E3E2E3E3E3E4E6E6E7E6E6E7E7E6E4E6E6E6E6E6E4E4E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E161474747474746464646464646464544444444444444444444434343444444444444424242424242424242414141414142424242424243444546474849484B4C4F50535556595A5C5F6164676A6E7175797D8083888B9093979CA0A3A6AAADB3B5B7BABDBEC1C5C5C8CACACDCECECECFCFCFCECECECBCBCAC7C7C4C1C0BEBBB9B7B2B0AEA9A6A19F9C9893908C8A86837F7B7874726F6A6766605F5D5A585452504D4C4A4847454441403E3E3B3C3B39383736353533333232313130302F2F2F2E2D2D2D2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717171616161616151515151514141414141415151414141414141414131313131313131337B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA7340F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F000000000000000000000000000000000000000000000000003B97999B9EA1A4A6A9ABAEB2B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8BD0000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBFAF9F9F9F8F8F6F6F5F5F3F3F1F0EFEFEDECEBE8E7E7E5E4E1E0DEDCDADAD8D6D4D3D0D0CCCBC9C7C5C5C3C1C1BEBDBDBBBAB9B7B7B6B5B5B4B4B3B3B3B3B2B2B2B2B3B3B3B3B4B4B5B5B6B7B7B9BABBBDBDBEC1C1C4C5C7C7C9CBCCD0D0D3D4D6D8DADADCDEE0E1E4E5E7E7E9EBECEDEFF0F0F1F3F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF9F3F3F2F3F2F3F3F3F3F3F7FCECE6E6E6E7E7E7E6E7E9EAE9EAE9E9E7E9E9EAEAEAEAECECECECECEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E2E2E3E3E3E3E4E4E4E3E2E1E1DEDEDCDBDBDCDCDBDBCEB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39487868686888A898A898C8C8D8F929397999B9C9FA2A5A5A8AAAEB1B5B6B9BCBFC1C4C5C9CBCBCFD1D3D6D7D9DADADBDBDCDEDEDEDFE1E2E2E3E3E2E3E3E3E4E6E7E7E6E7E7E6E4E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7A6474747474747474746464646464645454444444444444444444343434444444444444442424242424242424141414141424243434243444545474749484B4C4F50515556595A5C5F6164686B6D7176797D8084888D9095979CA1A4A9ADAFB2B8BABCC0C2C5C5C8CACDCECFD1D2D0D2D2D2D2D2CFCFCFCECECBCAC7C4C1BDBDBAB7B2AFAEAAA6A2A09C9895908D8886837F7B7874726F6A6766615F5D5A585451504D4C494845454341403E3C3B3C3B38373636353533333232313030302F2F2F2E2D2D2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292928282828282828282727272727272726252525252525252524252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919171717171717171717161616161615151515161414141414151515141414141414141413131313131351B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB54F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD00000000000000000000000000000000000000000000000000006C989A9C9FA2A5A8AAADB0B3B6B8BBBEC1C4C6C9CCCFD2D4D7D9DBDEE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9F81E0000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F3F3F1F0F0EFEDECEBE9E7E7E5E4E1E0DEDCDADAD7D6D4D1D0CECCCBC9C7C5C4C1C1BEBDBDBAB9B7B7B6B5B4B3B3B2B1B1B1B1B1AFAFAFAFAFAFB1B1B1B1B1B2B3B3B4B5B6B7B7B9BABDBDC0C1C3C4C5C7C9CBCCCED0D1D4D6D8DADADCDEE0E1E4E5E7E7E9ECECEDEFF0F0F1F3F3F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF5E7E9EAE9E9E9EAECECEAEFF8E9E1E1E1E1E1DFDFDFDFDFE1DFE1E1E1E1E2E1E1E1E1E1E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E6E4E6E6E7E6E6E6E7E9E9E9E9E7E6E6E6E6E4E3E3E4CCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39283838383838586888A8A8C8C8D8F92939497999B9C9FA1A4A5A5A8AAACAEB3B5B9B8B9BDBDC0C1C4C5C6CACBCBCECFD0D0D0D0D1D1D3D5D3D5D3D3D3D5D3D5D5D5D7D6D5D6D6D6D6D5D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDA5B47474747474747474746464646464646454444444444444444444343434444444444444242424242424242424141414242434343434444454647484A4A4C4D50515556595A5C5F6164686B6D7175797D8086888E90959A9EA1A6ACADB1B4B8BCBEC1C5C7C8CBCDCFD1D2D6D6D5D6D6D8D6D6D5D5D5D1CFCFCECBC8C7C4C1C0BDB9B7B1B0ACA8A5A29E9895928D8A86847F7B7873726D6A6766605F5B5A585451504D4C494745454342403E3C3B3B3A383736363535333332323130302F2F2F2E2E2D2D2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262525252525252525242525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717171616161615151515151614141414141515151414141414141414131313135FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD720F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C000000000000000000000000000000000000000000000000000C96989B9DA0A3A6A9ABAEB1B4B7B9BCC0C2C5C8CACDD0D3D5D8DADCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8770000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F5F3F1F0F0EFEDECECE9E7E7E5E4E1E0DEDCDAD9D7D6D4D1D0CCCCCAC7C7C5C3C1C0BDBDBAB9B7B7B5B4B3B2B1B1B1AFAFADADACACABABABABABABACACADADAFAFB1B1B1B3B3B4B5B7B7B9BABDBEC0C1C3C5C7C7CACCCCD0D1D4D6D8DADADCDEE0E1E4E5E7E8E9ECECEDEFF0F0F1F3F5F5F5F6F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF3E6E6E6E9E9E9E9E9E9EAEFF8E7DFDEDFDFE1E1E2E1E2E3E2E2E3E3E3E3E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADAD9D9DADADADADADADADBDBDBDBDBDBDADBDBDEDCDCDBC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39588888989898A8C8E8F90939397999B9EA1A2A5A7AAACAEB1B3B6BBBBBDBFC0C4C6C6C9CACECED0D1D3D3D6D6D7DAD9D7D9DADADADADADBDADADBDEDEDEDEDEDFE1E1E1E1E1E1E1DFE1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2A04747474747474747474747474646464646454544444444444444444443434344444444444442424242424242424141424242434343444445464748494B4C4D50515456595B5C5F6165686B6D7375797D8086888C91969A9FA3A6ACAFB3B7B8BDC0C2C6CACDCED0D2D5D6D7D9DADADAD8D8DAD8D7D6D6D6D5D1D0CFCBC8C5C4C1BEBAB7B2B1ADA9A5A19E9996928D8A87837F7A7874706D6A6763605F5B59565352504D4A4847454443423E3E3C3C3B3A383736363535333232323130302F2F2F2E2E2D2D2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262525252525252525242525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717171616161615151515151614141414141515151414141414141413131774BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD911A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED00000000000000000000000000000000000000000000000000003C97999C9FA1A4A7AAADAFB2B5B8BBBEC1C4C6C9CCCED1D4D6D9DBDDE0E2E4E6E7E9EBECEEF0F1F2F3F4F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9D0000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F6F5F5F3F1F0F0EFEDECECE9E8E7E5E4E1E0DEDCDAD9D7D6D3D1D0CCCBC9C7C5C4C1C1BEBDBBB9B7B7B5B4B3B1B1AFAFADACABAAAAAAA9A9A9A9A9A9A9A9A9A9AAAAABABACADAFB1B1B1B3B4B5B7B7B9BBBDBEC1C3C4C5C7C9CBCCD0D1D4D6D8DADADCDEE0E3E4E5E7E8E9ECECEFEFF0F1F3F3F5F5F6F7F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEEDDBDEDEDEDCDEDEDCDEDFE3EEDED5D5D5D5D6D6D6D7D7D9D9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADBDADAD9D9DADBDADADADADAD9DADBDBDADAD9D7D7D7D9BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3907F807F7E81818181818584898A8A8E909396979B9C9FA2A5A8A8ACAEB1B3B5B6B8BCBDC0C3C5C8C9CACACED0D1D1D5D5D5D5D5D6D7D7D9D9DADADBDEDBDBDEDEDEDCDEDFDFDFDFE2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFD95548484848474747474747474747464646464645454444444444444444434343444444444444424242424242424242414242434443444545454747494B4C4D50515356575A5D606164656B6E7276797D8086888D91969A9DA4A9ADB0B5B8BBBEC2C5C8CACED0D2D5D6D7DBDADBDCDCDCDCDEDCDBDBDAD8D7D6D4D1D0CDCBC7C4C1C0BDB7B4B1ADA9A5A19F9B96928E8A86837F7A7873706C6A6563605E5A59555352504C4A4847454441423E3C3B3C3B3A383736363533333232323030302F2F2E2E2E2D2D2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262525252525252525242525252524242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191917171717171717171716161616161515151516141414141415151514141414141414141892BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA72D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000000078989B9DA0A2A5A8ABAEB0B3B7B9BCBFC2C5C7CACDCFD2D5D7D9DCDEE1E2E5E6E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9F831000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F3F3F1F0F0EFEDECE9E8E7E5E4E3E0DEDCDADAD7D6D3D1D0CCCBC9C7C5C3C1C0BDBDBAB7B7B5B4B3B1B1AFADACABAAA9A9A8A7A7A5A5A5A5A4A4A5A5A5A5A7A8A8A9A9AAABACADAFB1B1B3B4B5B7B9BABDBDC0C1C4C5C7C9CBCCD0D1D4D6D8DADADCDEE0E3E4E5E7E8EBECEDEFF0F0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFAF3F3F2F3F6F3F3F6F6F6F9FDEEE9E6E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDEDEDEDEDBDBDEDEDEDEDEDEDEDCDBDBDBDBDBDBDCDAD5B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3978A8A8C8A8C898C8C8C8E8F92949497999C9EA2A4A5A7ABB0B1B3B6B6B9BCBFC1C5C5C5C8CACECBD0D3D5D5D6D9DADCDEDFDFDEDFE1E2E2E2E4E4E6E4E3E4E6E4E3E4E3E4E6E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3A348484848484848474747474747474746464646464544444444444444444443434344444444444442424242424242424242434344444547454647494A4C4D50505356575A5D5F636465696E7175797E8184888E91989B9FA4A9ADB2B5B8BCC0C4C5CACED0D2D6D6D8DBDCDEDFDFE1E2E1E1E1E1DFDEDCDCDAD6D6D5D2D0CDC8C5C4C1BBB9B4B1AEA9A5A19E9B96928E8A86837F7A77736F6C6965625F5E5A595552504F4C494845454441403E3C3B3C3B393737363635333332323230302F2F2F2E2E2E2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292929282828282828282827272727272727262525252525252525252525252524242424232323232323232323232323222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171716161616161515151516141414141415151514141414141425A0BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5410F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23000000000000000000000000000000000000000000000000001297999C9FA1A4A7A9ACAFB2B5B8BBBDC0C3C6C9CBCED0D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F88B0000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F5F5F5F3F1F0F0EFEDECEBE8E7E7E5E3E0DEDDDADAD7D6D3D1D0CCCBC9C7C5C3C1BEBDBBB9B7B6B4B3B1B1AFADABAAA9A8A8A5A5A4A4A3A3A3A2A2A2A2A2A2A3A3A3A4A4A5A5A8A8A9AAABADAFB1B1B3B4B6B7B9BBBDBEC1C3C5C7C9CBCCD0D1D4D6D8DADCDDDEE0E3E5E7E7E9ECECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF8EEEFEFEFEEEEEFEFEFEEF2FBEAE3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DEDFDFE1E1E1E1DFE1E1DFDEE1E1E1E1E1E1DFDEDEDFD9B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39A9290929292909294979799999B9FA1A2A7A7A7ACAEB1B1B3B5BBBDBDC0C3C4C4C6C6CACBCED0D1D5D3D6D9DBDBDEE1E1E1E3E3E4E3E3E3E3E2E1E3E3E3E4E3E2E3E3E3E2E2E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADAD353484848484848484848474747474747474646464646454444444444444444434343444444444444424242424242424444434344444445474747484A4C4D50515355575A5C5F616466686D7175797E82848A8D91969BA0A4A8ADB2B7BABEC1C5C8CDCFD1D6D7D9DBDCDFE1E2E2E2E3E4E2E4E4E2E2E2E1DEDBDAD8D5D5D0CECBC7C4C1BEB9B5B2AEA9A5A19E9B96928D8886837E7B77726F6C696762605D5A585451504D4C494845454342403E3C3C3B3A393737363535333232323230302F2F2F2E2E2E2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292929282828282828282727272727272727262525252525252525252525252524242424232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171716161616151515151516141414141415151514141414143E5252525252525251515151515151515151515151505050505050509FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD5D4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F130F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC400000000000000000000000000000000000000000000000000004E989B9DA0A2A5A8ABAEB0B3B6B9BCBFC1C4C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9E5000000000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F3F3F1F0EFEDECECE9E7E7E5E3E0E0DDDCDAD8D6D4D1D0CCCBC9C7C4C3C1BEBDBAB7B7B5B3B2B1AFADABAAA9A8A5A4A4A3A2A2A2A0A0A0A0A0A0A0A0A0A0A0A0A2A2A2A3A4A5A5A8A9AAABADAFB1B2B4B5B7B9BABDBEC1C3C5C7C9CBCCD0D1D4D6D8DADCDDE0E0E4E5E7E8E9ECECEFEFF0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFFFFFFFFFFFFFFFFFFF6E9E9E9EAE9E9E9EAEAEAEFF9EAE3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E6E4E6E6E7E6E6E6E7E9E7E9E9E7E6E6E6E6E3E3E3D7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3978C8C8A8C8C8C8D8E8E8E9092929697979B9B9CA1A1A4A7A7A8AAAEAEB1B2B2B5B6B8BBBDC0C3C1C4C5C5C8C9CACBCED0D1D1D1D3D3D3D3D5D5D5D5D6D5D6D5D5D5D6D5D5D5D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD99E48484848484848484848484747474747474746464646454544444444444444444343434444444444444242424242444444444444444547474748484B4C4F4E535457595B5F606367686B7074797E80848A8D91969B9FA4A9ADB2B7B8BEC2C6C8CFD0D5D6D9DCDEE1E2E4E3E5E5E7E6E6E6E6E5E5E4E2E1E1DEDCDAD7D5D1CFCBC7C4C1BDBAB5B1AEAAA5A19E9996908D8886837E7975726F6C6967615F5B5A565351504D4A484745444142403E3B3C3B3A393737363533333232323130302F2F2E2E2E2E2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292929282828282828282727272727272726262525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919171717171717171717161616161515151516141414141414151514141414141414141313131313131313131311121212121211111111111111111165BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA70F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55000000000000000000000000000000000000000000000000000085999C9FA1A4A6A9ACAFB2B4B7BABDC0C2C5C8CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8450000000000000000000000000000000000000000000000000000E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F5F5F5F3F1F0F0EFEDECE9E8E7E5E4E1E0DDDCDAD8D6D4D1D0CCCBC9C7C4C3C1BDBDBAB7B6B4B3B1AFADABAAA9A7A5A4A3A2A2A0A0A09E9E9E9D9D9C9C9C9C9D9D9E9E9EA0A0A0A2A2A3A4A5A8A9AAABADAFB1B3B4B6B7BABDBEC1C3C5C7C9CBCCD0D1D4D6D9DADCDDE0E1E4E5E7E8EBECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E7E7E9E9E9E9E9EAEBEFF9E9DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDEDEDEDEDEDFDFDFDEDEDFE1E1E1DFDEDEDEDEE1E1C9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B399909090909090909393939497979B9C9E9FA2A5A7A8AAACB1B1B1B3B5B8B9BCBFBFC1C4C5C5C9C9CACACECFCFD3D5D5D5D9D7D7D7D9DAD9D9D9D9D9DADADBDBDBDCDBDCDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5CF52484848484848484848484848474747474747464646464645444444444444444443434344444444444442424242424444444444444547474749484B4C4F4E515556575A5C606365696C6F74787B8084888D91969AA0A5AAAEB3B7BBBEC2C9CBD0D2D6D7DADCE1E2E2E5E6E7E8E8E9E9E9E9E7E8E6E5E5E3E3DFDEDBD7D6D5D0CBC8C5C1BDBAB7B2AEAAA6A19E9995908C8984807C7875726D6A6763625F5A595552524F4D4A484545434140403D3B3C3A393737373635333332323231302F2F2F2E2E2E2E2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292929282828282828282727272727272726262525252525252525252525252524242423232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191917171717171717171716161616161515151516141414141415151514141414141414141313131313131313131312121212121111111111111111112FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD640F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED00000000000000000000000000000000000000000000000000001E989B9DA0A2A5A8AAADB0B3B6B9BCBFC1C4C7CACCCFD2D4D7D9DBDDE0E2E4E6E8EAEBEDEEF0F1F2F4F5F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F9A8000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F9F8F7F6F5F5F3F1F0F0EFEDECEBE8E7E5E4E3E0DEDCDAD9D6D4D1D0CCCBC9C7C4C1C1BDBBB9B7B5B4B2B1ADACAAA9A7A5A4A3A2A0A09E9E9D9C9A9A9A99999999999999999A9A9C9C9D9EA0A0A0A2A3A4A5A8A9AAACAFB1B2B4B6B7B9BDBDC1C3C5C7C9CBCCD0D1D4D7D9DADCDEE0E3E5E7E7E9ECECEDEFF0F0F3F3F5F5F6F7F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E2E2E1E2E1DFE2E1E1E6F2E1D9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E1E3E3E2E2E1E1E1DFDFDEDEDEDEE1DFDEDFDFDFDEDCC0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3978D8E8F8E8E8E8F90909093949797999C9F9FA1A4A7A7A8ACAEB1B3B6B9B9BDBFC1C5C5C5C6C9CBCED0D1D5D6D7D9DAD9DADEDEDEE1E1E1E1DEDEDEE1E1E1E1E1DFE1E2E3E4E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1A64848484848484848484848484848474747474747464646464645444444444444444443434344444444444242424244444444444444454747494A4A4C4D50505457575A5D616365696D6F73787B7F84888C90959AA0A4A9AEB2B8BBBEC1C9CBD0D2D7DADCDEE2E4E5E7E8E9E9EAEBECECECEAE9E9E9E8E6E5E3E2DFDCD8D6D4D0CDC8C7C1BDBAB7B1AEA9A5A19E9893908B87847F7C7874706D6A6663605F5A575452504F4D494845454342403E3D3C3B3A393737373533333232323131302F2F2F2E2E2E2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282827272727272727262525252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717171616161615151515151614141414141515151414141414141413131313131313131313111212121212111111111111111111A7BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD270F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8200000000000000000000000000000000000000000000000000005B999C9FA1A4A6A9ACAFB2B4B7BABDC0C2C5C8CBCED0D3D5D8DADCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9EE13000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F5F5F3F3F1F0EFEFECECE9E7E7E5E3E0DEDCDAD9D7D4D3D0CCCBC9C7C4C3C1BDBBB9B7B5B3B1AFADABA9A8A5A4A3A2A0A09E9D9C9A9999989797979595959595959797979899999A9C9D9EA0A0A2A3A4A5A8A9ABADB1B1B3B5B7B9BDBDC1C3C5C7C9CBCCD0D3D4D7DADADDDEE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAEAEAE9E9E9E7E7E7E7ECF8E9DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E3E4E4E6E6E6E6E6E4E6E6E3E2E2E2E1E1E1E1E1E1DFDEBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3998F909090909090929292949697999B9B9C9EA2A2A4A4A5A8AAABAEB0B1B2B5B6BBBDC0C1C3C4C6C6C9CBCECECECECFD1D1D1D1D3D5D7D7D9D9DADADAD9D7D7D9DADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDF6348484848484848484848484848484847474747474746464646454544444444444444434343444444444444424242444444444444454747474A4B4C4C4E505356585A5D5F6065686C6F73777B7E82898C90959A9FA4A9AEB2B7BBC0C4C8CDD0D2D7DADDE1E2E5E7E7E8EAEBEBEDEDECEDEFECEBEBE9E9E6E6E5E3DFDCD8D6D4D0CDCAC5C1BEBAB7B1AEA9A5A29C9893908B86837E7A77736F6C696762605D5A565451504D4C484745444242403E3C3C3B3A373737373533333232323131302F2F2E2E2E2E2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282827272727272727262525252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717171616161615151515161414141414141515141414141414141413131313131313131313121212121212111111111111111174BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD980F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF190000000000000000000000000000000000000000000000000006929B9DA0A2A5A8AAADB0B3B6B8BBBEC1C4C6C9CCCFD2D4D6D9DBDDE0E2E4E6E7E9EBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F86D0000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFEDECEBE8E7E5E4E1E0DDDCDAD7D6D3D0CECCC9C7C5C3C1BDBBB9B7B5B3B1AFACAAA9A7A4A3A2A0A09E9C9A9999979795959595959393939393939595959595979799999A9C9EA0A0A2A3A4A7A9AAADAFB1B3B5B7B9BDBDC1C3C5C7C9CCCED0D3D6D8DADCDDE0E1E4E5E7E8EBECEDEFF0F0F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEBEBEBECECECEEEEEEF2FBE9E2E1E1E1E1E1E2E1E1DFDFE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADADBDBDBDCDCDEDEDCDCDEDEDCDEDEDEDEDEDEDEDFDCDAB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39C96969797979797999B9B9B9C9EA1A2A4A7A8ABACB0B2B5B6B6BBBDBDC1C4C4C5C5C8CACBCECFD1D1D5D7D9DADADBDBDBDEDEDEDFE1E1E1DFDFDFDEDEDEDFDFDFE1E1E1E1E1E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9B44948484848484848484848484848484848474747474747464646464544444444444444444343444444444444424244444444444546474747484A4C4D4E505155575B5C5F6065676B6F7276797E83878C90939A9DA4A7ADB3B7BBC0C5C8CDD0D6D8DCDEE2E4E5E8E9EBEBEFEFEFEFEFF1F0EFEFEFEDEBE9E8E7E6E3E0DEDBD7D4D0CDCAC5C1BEBAB5B1AEA8A5A09B97928E8A86837E7B75726F6C6766625F5D5A5653524F4D4A4845454442403E3E3C3B3A393737373535333232323231312F2F2F2E2E2E2E2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292929292828282828282827272727272727262525252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717161616161615151515161414141414151515141414141414141413131313131313131311121212121211111111111111113CBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD5D0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9000000000000000000000000000000000000000000000000000036999C9FA1A4A6A9ABAEB1B4B7BABDC0C2C5C8CACDD0D3D5D7DADCDEE1E2E5E6E9EAECEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F9C6000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F5F5F3F3F1F0EFEFECECE9E7E7E4E3E0DEDCDAD9D6D4D1D0CCCAC7C5C3C1BDBBB9B7B5B3B1AFABAAA8A5A4A2A0A09E9C9A999897959593939392929292919191919292929293939595959798999A9C9EA0A0A2A4A5A8AAACAFB1B3B5B7B9BDBEC1C3C5C7CACCD0D1D4D6D9DADCDEE0E3E5E7E7E9ECECEFF0F0F1F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEFEFEEEEEEEEEEEFEFF4FBEBE6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEDFDFDFDEDEDEDEDBDEDBDCDCDBDBDADADADBDADAD9D2B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D96969697969697979999999B9B9E9FA2A2A4A5A7AAACAEB1B2B5B6B8BBBDBFC4C5C8CACBCECFD1D3D5D5D6D9DADADBDBDCDEDEDEDFE1E1E1E1E1E1E2E2E3E3E3E3E3E3E2E2E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F16649494949484848484848484848484848484847474747474646464645454444444444444443434344444444444444444444444445474747484A4A4E4F50505357595C5E6164666A6C7075797E80848A9094999EA3A7AEB2B7BBC0C4C9CBD0D6D7DADCE3E4E6E8EAECEDEFF0F2F0F1F2F2F2F1F0F0EFEDEBE9E7E6E4E2DEDAD8D4D1CEC8C4C1BDB7B4B0ADA8A49F9B96928D8884807B7875726C6A6662625F5B595552504D4D4A4845454342403E3E3C3B3A393737373533333232323131312F2F2E2E2E2E2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292929282828282828282827272727272727262525252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191917171717171717171716161616161515151516141414141415151514141414141414131313131313131313131112121212121111111111111115B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD200F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF400000000000000000000000000000000000000000000000000000749B9DA0A2A5A8AAADB0B3B6B8BBBEC1C4C6C9CCCED1D4D6D8DBDDE0E1E4E5E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8320000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFEDECE9E8E7E5E3E0DEDDDAD9D7D4D1D0CCCBC7C5C3C1BEBDB9B7B5B3B1AFABAAA8A5A3A2A09E9C9A99979595959393929191909090908F8F8F8F90909090919192939395959798999A9D9EA0A2A3A5A8AAACAFB1B3B5B7B9BDBEC1C4C5C7CBCCD0D1D4D7D9DADDE0E0E4E5E7E8EBECEDEFF0F0F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E7EAEAEAEAEAEAEBEBEBF1F9E9E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1DFDFDEDEDEDFDFDFDEDEDEDEDEDEDEDFE1E1E1E1E1DFD0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A39F9E9C9E9C9E9F9FA1A2A2A4A5A7A7A8ABAEAEB2B3B6B9BCBFC0C4C6C6C8C9CBCBD0D1D5D5D7D9DADBDEDEDEE1E2E4E4E6E7E9E9E9E9E9EAEBECEEEEECEEECECEBECECECECEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDAD6D5D3D3D3D3D3D3D5D5D5D6D6D6D6D6D6D6D9D6D6D6D6D6D6D6D6D5D5D5D5D5D3D3D3D3D3D3D3D3D1D1D1CFCFCFCFCFCECCCECECFCFCFCFD1D1CFCFCECFCFCFD0D0D0D3D2D4D4D4D1D2D0CFCFD0D2D0CFD1D1D0D0D0D0CFD0D0D0D1D1D1D1D1D1D3D3D5D6D5D5D7D7D7D7D7D7D7D7D9D9D7DADAD7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D5D6D7D6D6D6D3D3D3D3D3D5D6D6D6D6D6D6D7D7D7D7D6D6D6D5D5D5D6D7D7D7D6D3D3D2D1D0D0D0D0D0D2D1D3D5D5D3D1D3D5D3D3D3D1D3D5D5D6D6D5D5D3D3D5D5D3D5D6D5D5D6D6D6D6D7D9D9D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D5D5D5D6D6D6D6D6D6D6D7D7D9D7D98D2525252525252525252525242424232323232323232323232322222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171716161616151515151514141414141415151414141414141414131313131313131313131212121212111111111111111182BDBDBDBDBDBDBDBDBDBDBDBDBDBDBD980F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9000000000000000000000000000000000000000000000000000012999C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDD0D2D5D7D9DCDEE0E2E5E6E8EAEBEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F995000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F6F5F5F3F1F0EFEFECECE9E7E5E4E3E0DDDCDAD7D4D3D0CCCBC7C5C4C1BEBDB9B7B5B3B1AFABA9A8A4A3A2A09E9C9A9897959393929191908F8F8D8D8D8D8D8D8D8D8D8D8D8D8F8F9091919293959597989A9C9EA0A2A3A5A8AAABAFB1B3B5B7BABDBEC1C4C7C9CBCCD0D3D6D8DADCDEE0E3E5E7E7E9ECECEFF0F0F1F3F5F5F6F6F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEAE9EAEBEAEAEAEAEBEFF9E9E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDBDEDEDFDEDEDEDEDEDFE1E1E2E1E1E1E1E1E2E1E1E2CAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E9B9B9B9B9C9B9C9C9EA1A2A2A4A5A5A7AAABAEB0B1B3B5B6B6BBBDBDC1C3C5C5C6C9CBCBCFCED0D3D1D1D3D5D6D6D6D7D7D7D9DADBDEDCDCDBDEDFDFDFE1E1E1E1DFDFDFE1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDE9E252525252525242525252525242424232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171716161616151515151614141414141515151414141414141414131313131313131313111212121212111111111111114ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F65FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A00000000000000000000000000000000000000000000000000004F9B9DA0A2A5A8AAADAFB2B6B8BBBEC1C4C6C9CBCED1D3D6D8DBDDDFE1E4E5E7E9EBECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9E50A0000000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F3F0F0EFEDECE9E8E7E5E3E0DEDCDAD9D6D4D1CECCC9C7C4C1C0BDBAB7B5B3B1AFABA9A8A4A3A0A09D9A9997959593929190908F8D8D8B8B8B8B8B8B8B8B8B8B8B8B8B8B8D8D8F9090919293959597999A9DA0A2A3A5A8AAABAFB1B3B5B7BABDC0C1C5C7C9CCD0D1D4D6D9DADCDEE0E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F1F2F1F1F1F2F3F3F4F6F9FDEFE9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D6D5D5D5D6D5D5D5D5D7D5D5D5D5D5D5D3D1D3D3D3D0BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39C9494949396979797979799999B9B9C9EA2A2A5A7AAACAEB1B1B2B6B9BCBFBFC0C4C5C5C6C6C9CACBD0CFCFD1D5D6D6D6D7D7D9D9D9D9D9D9D9DBDBDCDEDEDEDCDCDBDBDBDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDE9E25252525252525242525252524242424232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919171717171717171716161616161515151516141414141415151514141414141414131313131313131313131112121212121111111111111CBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD1A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED0700000000000000000000000000000000000000000000000000008D9C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEFF0F1F3F4F5F5F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F963000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFECECE9E7E5E4E3E0DDDCDAD7D4D3D0CCCAC7C5C3C1BDBAB7B6B3B1AFABAAA8A4A2A0A09C9A989795939291908F8D8D8B8B8B8B8988888888888888888888898B8B8B8D8D8F8F909192939597999A9DA0A0A3A4A8AAACAFB1B4B6B7BBBDC1C3C5C7CBCCD0D3D4D7DADCDDE0E3E4E7E7E9ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEBEBEBECEAEBEBEAEAEFF8E7E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E7E9E9E7E9E9E9E7E6E6E4E3E2E3E3E3E3E1E1E1E1E1DFBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39B9493949292929393969697999B9B9C9E9FA2A2A4A5A7AAABAEAEB1B2B3B5B9B9BBBDBFC3C3C3C5C6C8C9C9C9CBCBCECECFD0D0D0D3D5D5D5D5D5D3D3D5D6D6D7D7D9D7D6D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDE9E25252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919171717171717171717161616161515151515141414141414151514141414141414141313131313131313131312121212121111111111111191BDBDBDBDBDBDBDBDBDBDBDBDBD8A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D0000000000000000000000000000000000000000000000000000319B9DA0A2A5A8AAADAFB2B5B8BBBDC0C3C6C9CBCED1D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFBFBFAF9F9C600000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F8F6F5F5F3F3F1F0EFEDECEBE8E7E5E3E0DEDCDAD9D6D3D0CECBC9C5C4C1BEBBB9B7B4B1AFACAAA8A4A4A2A0A3A29C9999969291908D8D8B8B8B8988878787868686868686868687878788898B8B8B8D8F909192939595989A9DA0A0A3A5A8AAACAFB2B4B7B9BDBEC1C4C7C9CCCED1D4D6D9DADCDEE0E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F8F8F9F9FAFBFBFBFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF3F4F4F4F4F6F4F6F7F7FCFFF1EBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E6E6E4E4E2E2E2E1E2E1E1DEB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A09B9B9B9B9B9C9B9B9B9C9C9C9E9FA1A2A2A5A7A7A8A8ACAEB0B1B3B3B6B9B8BBBCBDBDBFBFC1C3C5C6C8C9CACBCACBCBCECFD0D0D1D3D5D5D6D6D6D5D5D3D1D1D3D5D3D1D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDF9F2625252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191919171717171717171717161616161515151516141414141415151514141414141414131313131313131313131112121212121111111111115DBDBDBDBDBDBDBDBDBDBDBDBDBD4F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF190000000000000000000000000000000000000000000000000000749C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBEDEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F8320000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFEDECE9E7E7E4E3E0DDDCDAD7D4D1D0CCCAC7C5C1C0BDBAB7B5AFADAEB0B1B3B3B3B3B3B3B3B3B3B3B3B3ADA7A0948B888787868685858584848484848585858586868788888B8B8B8D8F9091939595989A9CA0A0A3A5A8AAADB1B3B5B7BABDC0C3C5C7CACCD0D3D4D7DADCDDE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E9E9E9E6E9E9E7E6E4E4EBF6E6DCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D0D3D3D5D5D5D6D6D7D6D6D6D5D6D6D6D6D6D5D3D5D3CEB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7A7A7A5A5A5A5A5A7A7AAAAAAAAACACB0B2B3B5B6B8BBBDC0C1C3C5C6C9C9CBCBCFCFD3D3D6D7DADADCDEDEE1E1E1E2E4E4E4E6E6E6E6E4E4E6E7E7E7E9EAE9E9E9EAEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3A2262625252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171616161616151515151614141414141515151414141414141413131313131313131313121212121211111111111123BDBDBDBDBDBDBDBDBDBDBDBDB51A0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA20000000000000000000000000000000000000000000000000000189B9DA0A2A5A8AAADAFB2B5B8BBBDC0C3C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFBFBFAF9F995000000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECEBE8E7E5E4E0DEDCDAD9D6D3D0CCCBC7C5C3C1BDB9B2B2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD9E928684838383828282828282838383848585868787888B8B8D8F9091929395989A9DA0A2A3A5A9ABADB1B3B6B7BBBDC1C4C5C9CBCED1D4D6D9DADCDEE0E4E5E7E9ECECEFEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFCFBFBFCFBF9FBF9FBFDFFF3F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D7D7D7D7D7D5D5D5D5D3D0D0D1D0D1D0C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E9B9999999999999B9B9B9B9E9E9E9FA1A2A4A5A8A8AAACAEB0B1B2B3B6B9BBBCBDBFC0C3C1C3C5C6CACBCBCECFD0D3D5D6D6D5D6D7D7D7D7D7DADADADAD9D9D7D6D5D5D5D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2A227262625252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191917171717171717171716161616151515151514141414141515151414141414141414131313131313131313111212121212111111111111A7BDBDBDBDBDBDBDBDBDBDBD82100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000569C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9EE130000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F3F1F0EFEDECE9E8E7E5E3E0DDDCDAD7D4D1D0CCC9C7C4C1B7B6B4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B19E8980808080808080808080828283838485868788898B8B8D9091929395989A9DA0A2A4A7A9ABAFB1B4B7B9BDBEC1C5C7CACCD0D3D4D7DADCDEE0E3E5E7E8EBECEDEFF0F1F3F3F5F5F6F8F8F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEEECECECEBEAEBECEBEFF8E6E1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1DFDFDFDFDFDFDFDEDEDEDEDCDBDBDBDBDCDBDBDBDCDCC7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A9A7A7A8A8A7A7A7A8A7A8A8AAA8ABACAEACB0B1B2B5B6B6B9BBBDBFC1C3C5C5C5C9C9CACBCBCFD0D1D5D5D7D9DADAD9DADCDBDADADBDADADADBDBDBDBDCDBDCDBDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDE9F2727262625252525252525252525252525242424232323232323232323232322222222222020202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A19191919191919191919191917171717171717171716161616151515151614141414141515151414141414141413131313131313131313121212121211111111111165BDBDBDBDBDBDBDBDBDBDBD42100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC40000000000000000000000000000000000000000000000000000068F9DA0A2A5A8AAADAFB2B5B8BBBDC0C3C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F96D000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFECECE9E7E5E4E1E0DDDAD9D6D4D0CECBC7C4BAB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AD93817E7E7E7E80808080808082838385858687888B8B8D8F91929595999A9EA0A2A4A8AAADB1B3B5B7BABDC1C3C5C9CBCED1D4D6D9DADDE0E1E4E5E7E9ECEDEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF2F2F2F3F4F2F2F2F2EFF4FBEBE4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D5D3D5D5D3D5D6D6D6D6D5D5D3D3D5D5D5D6D6D7D5D3BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A39FA1A2A2A2A2A2A2A4A2A4A5A7A8AAABABACB0B1B0B1B2B5B6B9BBBBBDC1C1C4C4C5C8C9CACACBCECFCFD3D5D6D7D7D9D7D9D7D9DADADAD7DAD9DAD7D9DADBDADADADADADADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1A02727272625252525252525252525252525252424242323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171616161616151515151614141414141515141414141414141413131313131313131311121212121211111111113CBDBDBDBDBDBDBDBDBDBDB51410100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000379C9FA1A4A6A9ABAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E7E9EBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9D0000000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECEBE8E7E5E3E0DEDCDAD7D4D3D0CCC7BBB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0927F7D7D7D7D7D7E80808080828384858687888B8B8D8F91939597999C9EA0A3A5A9ABAFB1B4B7B9BDBEC1C5C7CACCD0D3D6D8DADCDEE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E7E7E6E6E6E6E6E4E4E7F2E2DBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDBDBDBDBDBDBDBDCDCDBDBDCDCDBDBDBDADADADADADBDABBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ACACACACACABABABABACACACACAEB0B1B2B3B6B9BBBDC0C1C5C6C9CECFD0D1D3D7D9DADCDEDEDEE1E1E1E3E3E3E4E6E7E6E9EBEBEBEBEBEBEEEFEFECEEEFEEEEEFEEECECECEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DADADADAD9D7D6D5D5D5D3D3D1D3D3D1D1D3D3D3D3D3D3D3D1D1D1D0D1D1D1D0D1D1D1D3D1D3D3D5D7D7D7D7D7D7D9D7D7D7D7D5D6D698272727272625252525252525252425252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919171717171717171717161616161515151516141414141415151514141414141414131313131313131313131112121212121111111111AEBDBDBDBDBDBDBDBDBD821010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD90000000000000000000000000000000000000000000000000000007C9DA0A2A5A8AAADB0B3B5B8BBBDC0C3C6C9CBCED0D3D6D8DADCDEE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F94500000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F1F0EFEDECE9E8E7E4E3E0DDDCD9D7D4D1CEBFB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B08F7B7B7B7B7B7D7D7E8080808283858687888B8B8D90919395979A9CA0A2A4A7AAACB1B3B5B7BABDC1C3C5C9CCD0D1D4D7DADCDDE0E3E5E7E8E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E2E2E3E4E4E3E4E3E3E6F1E1D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E3E3E3E4E6E6E7E6E6E7E7E4E3E4E6E3E3E3E3E2E1E1DDB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ADAEACABAAABACACACACACACAEB0B1B2B3B5B6B6B9BBBCBFC0C1C3C3C4C5C6C6C9CACBCECFD0D1D1D3D5D6D7D7D7DADADADBDBDBDCDEDEDEDEDFDFDEDEDFDFDFDFE1E1E1E1E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBA927272727272625252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191917171717171717171716161616151515151614141414141515151414141414141413131313131313131313121212121211111111117BBDBDBDBDBDBDBDBDBD3B101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF550000000000000000000000000000000000000000000000000000259C9FA1A4A6A9ACAEB1B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DBDDE0E2E4E6E7E9EBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9BD000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF9F9F9F8F8F6F5F5F3F1F0F0EFECECE9E7E5E4E0DEDCDAD9D6D3C6B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6817B7B7B7B7B7D7D7E80808283848687888B8B8F90929395989A9EA0A3A5A8ABAFB1B4B7B9BDBEC1C5C7CBCCD0D3D6D9DADDE0E1E4E7E7E9ECEDEFF0F0F3F3F5F5F6F8F8F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFCFCFBFDFDFCFCFCFDFDFFF3F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDADADADADADAD9D9D9D9D9D7D7D7D6D6D6D5D5D3D3D0C8B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A39F9E9E9E9E9EA1A1A1A1A2A4A5A5A5A7A7AAACAEAEB1B3B2B3B5B6B9B9BDBDBFC1C3C3C4C5C5C6C9CBCACBCBCECECECED0D1D3D5D6D6D7D7DADADADAD9D9D9D9D9D9DADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3A32727272727272625252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919191717171717171717161616161615151515161414141414151514141414141414141313131313131313131112121212121111111143BDBDBDBDBDBDBDBDAE10101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3000000000000000000000000000000000000000000000000000000639DA0A2A5A8AAADB0B3B6B8BBBEC1C4C6C9CBCED0D3D6D8DADCDEE1E3E5E7E9EAECEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9F928000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0F0EFECEBE8E7E5E3E0DEDCDAD7D1BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3977A797B7B7B7B7D7E80808283848687888B8D8F91929597999CA0A2A4A7AAACB1B3B5B7BABDC1C4C7C9CCD0D3D4D8DADCDEE0E4E5E7E9ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E6E7E6E6E6E4E6E6E7ECF6E6DFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADAD9D7D9D9D9D9D7D6D6D6D6D5D7D6D5D6D5D3D3D3D3D3C7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7A5A4A4A4A2A2A2A5A5A7A7A8AAACACAEAEB1B2B2B3B3B6B8B9BCBDBFC0C3C5C5C6C8C9C9CACBD0D0D1D3D6D7D7D7DADADBDCDCDEDEDCDEDEDFE1E1E1E2E3E2E2E3E3E3E3E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2A2272727272727272625252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171616161615151515161414141414151515141414141414141313131313131313131312121212121111111116BDBDBDBDBDBDBDBD7310101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000000139C9FA1A4A6A9ACAFB2B4B7B9BCBFC2C5C7CACDCFD2D4D7D9DBDDE0E2E4E6E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF995000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECEBE8E7E5E3E0DDDCD9CEB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A77D78787B7B7B7D7D80808283858687898B8D8F919395979A9DA0A2A5A8ABAFB1B4B7BABDC0C3C5C7CBCED1D4D7DADCDDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAEAEAEAEAEBEAEAEAEBEFF8E7E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDBDBDBDEDCDBDEDEDBDCDBDCDBDAD9D7D7D7D7D7D9D7C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7A8A8A7A7A8A7A7A7A8A8AAA8A8A8ABABACAEB0B1B3B5B8B9B9BCBDBDBDBFC1C4C5C4C5C6C6C6C9C9CBCECECFD1D1D1D5D5D6D7D6D6D7D7D7D7D7D9DADADADAD7D7D7D7D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6A7282727272727272626252525252525252525252525252424242323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191919171717171717171717161616161515151516141414141415151414141414141414131313131313131313111212121212111111118ABDBDBDBDBDBDBD3B1010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED070000000000000000000000000000000000000000000000000000579DA0A2A5A8ABADB0B3B6B8BBBEC1C4C6C9CBCED0D3D6D8DBDCDEE1E3E5E7E9EAECEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9EF13000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECE9E8E7E4E1E0DDDAC8B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1887878797B7B7B7D808082838586888B8B8D90929395999CA0A2A4A7AAADB1B3B6B9BDBEC1C5C7CBCCD0D3D6D9DADDE0E1E4E7E8E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E7E9E7E7E7E6E6E4E6EBF6E3DBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E4E4E4E4E4E4E3E3E4E3E3E1E1E1E1E1DFDFDFDEDEDCC0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B5B5B3B3B3B5B5B5B3B2B3B3B2B2B2B2B3B6B6B6B9BBBCBDBFC1C1C3C5C6C6C9CACBD0D1D0D3D1D5D6D7D9D9DAD9DADBDBDBDEDEDFDFDFE1E1E1E1E1E1E1DFE1E1DFDFE1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDC9F28282727272727272626252525252525252525252525252424242323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191917171717171717171616161615151515151414141414151515141414141414141313131313131313131312121212121111111150BDBDBDBDBDBDAE101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17DCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A000000000000000000000000000000000000000000000000000006909FA1A4A7A9ACAFB2B4B7BABDC0C2C5C7CACDCFD2D4D7D9DCDEE0E2E4E6E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF96D000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F0F0EFECECE9E7E5E4E0DEDCC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3927878797B7B7B7D808082838587888B8D8F919395979A9EA0A3A5A9ABAFB2B5B7BABDC1C4C7C9CCD0D3D6D9DADCDEE0E4E5E7E9ECEDEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EFF2F1EFEFF1EFF2F1F2F7FDECE9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDAD9D9D9D7D7D7D6D6D6D5D3D5D5D5D6D7D7D7D6D6D5D5BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ACAEAEACABACACABABABACAEAEB0B0AEAEB0B1B2B3B5B3B6B9B9BBBDBFC0C1C1C3C3C4C6C9CBCFCFD0D0D3D3D1D5D6D5D5D7D6D5D6D6D7D7D7D9D7D7D9D7D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3A32828282727272727272625252525252525252525252525242424232323232323232323232323222222222220202020202020201F1F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191917171717171717171716161616151515151614141414141515151414141414141413131313131313131311121212121211111123BDBDBDBDBDBD6510101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED070000000000000000000000000000000000000000000000000000459EA0A3A5A8ABAEB0B3B6B8BBBEC1C4C6C9CBCED0D3D6D8DBDDDFE1E3E5E7E9EAECEDEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9E50A000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF9F9F9F8F8F6F5F5F3F1F0F0EFECECE8E7E5E3E0DCC0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39B7878787B7B7D7E808083848687898B8D90929395999CA0A2A4A8AAADB1B4B7BABDC1C3C5C9CCD0D1D4D7DADCDEE0E3E5E7E9ECECEFF0F0F1F3F5F5F6F8F8F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E4E3E3E3E2DFE1E1E1E6F1E1D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E6E7E9EAE9EAE9E9E7E9E9E9E9EAE9EAEAEAE9EAEAE7BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1B6B5B3B3B3B3B2B2B2B2B3B5B5B5B5B5B6B8B9B9BBBCBFBFC1C1C4C4C6C6CACBCED0CFD0D0D1D3D6D7D9D9DADADCDEDEDFDFE1E2E2E3E1E1E1E1DEDFDEDEDEDEDEDEDEDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDE9E282828272727272727272625252525252525252425252525242424232323232323232323232323222222222220202020202020416C241F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919194F5C191917171717171717171716161616151515151614141414141515141414141414141413131313131313131312121212121111111198BDBDBDBDBD2E10101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A000000000000000000000000000000000000000000000000000000849FA2A4A7AAADAFB2B4B7BABDC0C2C5C8CACDCFD2D4D7D9DCDEE0E2E4E6E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF959000000000000000000000000000000000000000000000000000000EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECEBE8E7E5E3DDBEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D7978797B7B7D7E8082838586888B8D8F919395989A9EA2A3A7AAADB1B3B6B9BDC0C3C5C7CBCED1D4D7DADCDDE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F7F8F9F9F9FBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E3E4E4E3E3E3E3E3E1E1E7F1E2DBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D3D3D3D3D1D1D1D0D0D0D1CFD0D0D0D1D3D5D5D3D5D3CDB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B5B5B5B5B2B5B5B5B5B5B8B6B9B9BCBDBDC0C1C4C5C5C6C9CACBCBCECFD0D1D3D5D9D9DADADBDCDCDFE1E1E2E3E3E4E6E6E6E7E7E9E9E7E7E7E6E7E9E9E9E9E9E9EAEAEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2A328282828272727272727272625252525252525252425252525242424232323232323232323232323222222222220202020202020AEA94D1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919192F92BD35191919171717171717171716161616151515151514141414141515151414141414141413131313131313131311121212121211111165BDBDBDBDA7101010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED070000000000000000000000000000000000000000000000000000389EA1A3A6A9ABAEB0B3B6B9BCBFC1C4C6C9CCCED1D3D6D8DBDDDFE1E3E5E7E9EAECEDEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFDFDFDFDFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9D100000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECE9E8E7E4DFBEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A07878797B7B7D808082848687898B8F909295979A9DA0A3A5A9ABAFB3B5B7BBBEC1C5C7CBCCD0D3D6D9DADDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEBEAEAEAEAEAECECECF1F9E9E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E3E3E4E4E4E4E3E3E3E3E4E6E6E6E4E4E4E4E3E3E3E4D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8C1C1C1C0BFBDBDBCBCBBBDBDBDBFBDBFBFC0C1C1C3C1C3C3C3C5C6C8C9C9C9C9CBCBCECFD0D0D0D3D3D5D5D5D5D3D6D7D7D9D9D7D7D7D7D9D7D7DAD7D7D6D7D6D6D5D3D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBA92828282828272727272727272625252525252525252525252525242424232323232323232323232323222222222020202020202079BDBD8E351F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191D6FBDBDA71919191917171717171717171716161616151515151614141414141515141414141414141413131313131313131312121212121111112FBDBDBDBD65111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000000007EA0A2A5A8AAADAFB2B5B8BBBDC0C2C5C8CBCDD0D2D5D7D9DCDEE0E2E4E6E7E9EBECEEEFF1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF959000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5F3F1F0EFEDECE9E7E7E4C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3997878797B7B7E8082838587888B8D90929395999CA0A2A4A8ABAFB1B4B7BABDC1C4C7CACCD0D3D6D9DADDE0E1E4E7E8E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9E9E9E7E9E9EAEAEBEAEFF8E9E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDEDFDFDFE1E2E2E3E2E3E1E1E3E2E1E1E1E1E1E1E1DFC9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBC3C3C3C3C3C3C3C3C3C1C3C3C3C3C4C4C5C5C8C8C9CACBCBCED0D1D3D5D5D7DADBDBDBDCDEDEDFE1E1E2E3E3E4E6E6E7E6E7E7E9EAEAEBECEBEBEBEBEBECEEEEEEEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDC9F2828282828282727272727272726252525252525252525252525252424242323232323232323232323222222222220202020202046BDBDBDB56C241F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A194FAEBDBDBD6919191919191717171717171717161616161615151515141414141415151514141414141414131313131313131313111212121212111111A7BDBDBD29111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED070000000000000000000000000000000000000000000000000000259FA1A4A6A9ABAEB1B4B7B9BCBFC1C4C7CACCCFD1D4D6D8DBDDDFE1E3E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9BD00000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F3F3F1F0EFEDECE9E7E5C5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39578787B7B7D8080828486888B8D8F919395989C9EA2A4A8AAADB1B4B7BABDC1C3C7C9CCD0D3D4D8DADCDEE1E4E7E7E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEBEBECEEECEAEBEBECF1FBEAE3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E2E3E3E2E2E2E2E2E3E2E1E1DFDFDFE1DFE1DFDFE1DFC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BDBCBDBCBBBBB9B9B9B9B9B9B9BBB9B9B9BCBDBDBFBFBFBFC1C3C3C3C3C5C5C8C8C8CACACECECECECECECFD0D1D1D1D3D3D3D3D3D5D5D5D3D3D1D3D3D3D3D3D3D1D1D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3A42828282828282827272727272726262525252525252525252525252524242423232323232323232323232222222222202020202020AEBDBDBDBDA94D1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A3192BDBDBDBDBD351919191919191717171717171717161616161515151516141414141415151514141414141414131313131313131313121212121211111174BDBD981111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A00000000000000000000000000000000000000000000000000000077A0A2A5A8AAADB0B3B5B8BBBDC0C3C6C8CBCED0D3D5D7D9DCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF93B000000000000000000000000000000000000000000000000000000D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F0F0EFEDECE9E7CBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B38C78797B7D7E8082838587898B8D909295979A9EA0A3A7AAADB1B3B7B9BDC0C3C5C9CCD0D1D4D7DADCDEE0E4E5E7E9ECEDEFF0F1F3F3F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFE2E1E1E2E3E3E2E1E1E6EFE1DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1DFDFE1DFDEDEDEDEDEDEDEDCDEDEDEDEDCDBDCDCDCDABBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBBBB9B9B9BBBBB9B9BCBCBBBBBCBCBCBDBDBFC1C3C3C3C4C5C5C9CACAC9CACBCFD0D1D3D6D7D7D9DAD9D9DCDCDEDFDFDFE1DEDEDEDFE1E1E1DFDFE1E2E3E4E3E4E4E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3DCDCDCDFDEDEE0DFDFDDDDDCDCDCDCDADADADCDCDCDCDFDFDDDDDDDDDDDDDDDCDCDCDEE0E1E2E3E0E0E0E1E1E3E4E5E5E5E4E4E4E2E3E3E4E2E1E1E1E1E1E2E3E2E2E3E3E5E4E4E4E4E6E5E6E4E4E3E5E6E6E6E6E6E9E7E7E7E6E6E7E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F1EFEFEEEEEEEEEEEEECECEBEBECECECECECECECEBEBECEBEBEBEBEBEBEBEBEBEBEBEDECECECECEEEFEEEEEBEBEBECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE9E8E6E6E6E6E6E8E8E8E7E7E6E6E6E6E5E5E5E2E3E1E1DFDFDFDCDDDDDDDDDBDCDCDCDADADDDCDCDBDBDAD9D9D98C282828282828282827272727272726262525252525252524252525252424242423232323232323232323232222222222202020202079BDBDBDBDBDBD8E351F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1E71BDBDBDBDBDBDA719191919191919171717171717171717161616161515151516141414141415151414141414141413131313131313131311121212121211113CBDBD5D1111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9070000000000000000000000000000000000000000000000000000199FA1A4A6A9ACAFB1B4B7B9BCBFC2C5C7CACDCFD2D4D6D8DBDDDFE1E4E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9BD00000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F0F0EFECECE9D8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B17F787B7B7D8080838587888B8D909295979A9DA0A3A5A9ACB1B3B6B9BDBEC3C5C7CBCED1D4D7DADCDEE0E4E5E7E9ECEDEFF0F0F3F3F5F6F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFBFCFBF9FBF9FBF9FBFDFFF4F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D3D1D0D3D3D3D3D3D3D5D5D1D1D0D1D3D3D5D5D3D5D5D2B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1B6B5B5B5B5B5B6B6B6B8B8B6B6B6B8B8B9BBB9BBBDBDBDBDBFC0C1C3C4C4C5C6C5C6C6C8C9CBCFCFD0D0D1D3D6D6D7D7D6D7D7D7D7D7D9DADADBDAD9D9D7D6D5D5D5D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCC6534B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A4A494949494949494949484848484848484847474747464648484747484849484A4A4C4C4D4F51525456585C5E616366676C6E74777A7F82868B90939A9DA4A8ABB0B5BABDC0C5CACFD2D2D8DADEDFE2E4E6E7E8E9EAEAEAEAEAEAEAE9E7E7E6E4E2E1DCDCD8D6D2CFCDC8C4C1BDBAB4B2ADA8A4A09B9793918A8783807B7875706F6B6764605E5A59565352504B4A4846464442413F3D3D3B3B3A39383736363535353332323131303030302E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292828282828282828272727272727262525252525252525242525252524242423232323232323232323232322222222202020202046BDBDBDBDBDBDBDB56C241F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B4FAEBDBDBDBDBDBDBD6B191919191919191917171717171717171616161615151515161414141414151515141414141414141313131313131313131212121212111116B5BD23111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5500000000000000000000000000000000000000000000000000000065A1A3A6A8ABAEB0B3B6B8BBBEC1C3C6C9CBCED0D3D5D8DADCDEE0E2E4E6E8EAEBECEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF928000000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3F0F0EFECECE4B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA7A7B7B7D8080838586888B8D90929395999CA0A2A5A9ABB1B3B5B7BDBEC1C5C7CBCED1D4D7DADCDEE0E3E5E7E9ECECEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F1F1F1F1F2F3F2F2F3F4FBFFEFEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E1E1E1E1DFDFDFDFDFE1DEE1E1E1DFE1DFDFDFDFDFD6B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BFC0BFBFBFBFBFBFBFBFBDBDBFBFC0C1C3C3C5C5C6C8C8CACBCBCED0D1D3D3D5D6D7D7D7D9DADADADBDBDFDFE1E1DFE1E1E1E2E4E6E6E4E6E6E6E4E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7954B4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A4A49494949494949494848484848484848474747474646484848474849494A4A4A4C4D4D4F51535657595B5F616467696D7173777B8081888B90949A9EA4A8ACB0B5B9BDC0C5C9CDD0D2D7D8DDDCE1E3E3E6E6E8E8E8E8E8E8E8E6E6E5E4E2E1DFDCDAD7D5D2CECBC5C4C1BBB8B4B2AFA9A5A09B9794918C8785807C7773726F6C6764625E5B59565352504E4A484747444342403E3D3B3B3A3939373736353535353332313131303030302E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292928282828282828272727272727272625252525252525252525252525242424232323232323232323232322222222222020202020AEBDBDBDBDBDBDBDBDA94D1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B3194BDBDBDBDBDBDBDBDBD36191919191919191919171717171717171716161616151515151614141414141515141414141414141313131313131313131112121212121111829811111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD900000000000000000000000000000000000000000000000000000019A0A2A5A7AAADAFB2B4B7BABDC0C2C5C7CACDCFD2D4D7D9DBDDE0E1E4E5E7E9EAECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF99F00000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1F0F0EFECECC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39E797B7D8080828486888B8D8F919395999CA0A2A4A9ABAFB2B5B7BBBEC1C5C7CBCCD0D4D7DADCDEE0E3E5E7E8ECECEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E9E9E9E9E7E9E9E7E7EAF3E4DCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D7D7D7D7D5D5D7D7D7D9DADAD9DAD9D7DADAD9DADAD9CBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BDCACACACAC9C9C9C8C8C9CACACACACACACBCBCFD0D0D1D3D3D5D6D6D7D9DADBDBDCDCDCDBDEDFE1E1E2E3E3E6E6E6E6E6E6E7E9E7E7E9E9E7E6E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE16C4B4B4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A49494949494949494948484848484848484747474746484848474849494A4A4C4C4D4E4F52535657595B5F6265676B6E7174777B8183888B9394999EA3A8ABB0B5B9BDC0C4C8CAD0D1D6D9D8DCDEE1E2E3E4E5E5E6E6E6E5E4E4E4E1E1DCDCDAD8D6D2D0CECAC8C2BEBCB8B4B0ADA8A4A29B98948F8C8885807C7975716F6C6764625E5C59565452504E4C494747444342403F3D3D3B3A3939393736363535353333313131303030302E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292928282828282828272727272727272625252525252525252525252525242424232323232323232323232322222222222020202079BDBDBDBDBDBDBDBDBDBD8E341F1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1F71BDBDBDBDBDBDBDBDBDBDA7191919191919191919191717171717171717161616161615151515141414141415151514141414141414131313131313131313121212121211114A581111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F5BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5500000000000000000000000000000000000000000000000000000066A1A4A6A9ABAEB0B3B6B9BCBEC1C4C6C9CBCED0D3D6D8DADCDEE1E2E5E6E8EAEBEDEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF928000000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1F0F0EFECD2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3877B7D7E80828486878B8D8F919395999CA0A2A4A8ABAFB2B5B7BBBEC1C5C7CBCCD0D4D7D9DCDDE0E3E5E7E8ECECEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDDCDEDEDFDEDEDEDEDEDEE3ECDED9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDCDCDEDEDEDEDCDCDBDBDBDBDAD9DAD7D9D7D6D7D9C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7BFBFBFBFBFBFBDBCBCBBB9BBBBBCBCBCBCBDBCBCBCBCBCBDBFC0C0C3C3C3C4C5C8C9C8C8C8C8C9C9CBCED0CFCED0CFCFD0D0D0CFCFD0CFD0D0D0D3D3D5D5D5D6D6D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DECD534B4B4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A4A494949494949494948484848484848484747474748484848484849494A4A4C4C4D4E4F525456585B5D5F6265676A6D7074797B8185898D9395999EA4A7ABB0B4B8BBBEC1C8C9CDD0D2D6D8D8DCDEDEE1E1E1E3E3E3E2E2E2E1DFDCDBDAD8D6D2D0CECBC8C5C2BEBBB8B3B0ACA6A2A09D98948F8D8785807C7975716F6C6866625F5C5A565452504E4C4A4746444342413F3E3D3D3B3A39393836363535353333313131303030302F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B292929292929292929282828282828282727272727272726252525252525252525252525252424242323232323232323232323222222222220202046BDBDBDBDBDBDBDBDBDBDBDB56C231F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B50AEBDBDBDBDBDBDBDBDBDBDBD6B191919191919191919191917171717171717171616161615151515161414141414151514141414141414131313131313131313111212121212111D1C1111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC400000000000000000000000000000000000000000000000000000019A0A2A5A8AAADAFB2B5B8BBBDC0C2C5C8CACDCFD2D4D7D9DBDDE0E2E4E5E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF99F00000000000000000000000000000000000000000000000000000023FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1F0EFEDE7B7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AA7C7B7E80828386878B8B8F919395989CA0A2A4A8ABAFB1B5B7BABEC1C4C7CBCCD0D4D6D9DCDDE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E6E4E6E7E7E9E6E7E7E7EBF3E4DEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADAD9DADADADADADBDBDBDBDADADBDADADADADADADADAD9BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAC5C4C5C5C5C5C5C5C4C3C3C5C5C5C5C5C8C8C9C9CACBCECFCFD0D0D0D0D1D0D1D1D5D5D7D9D7D9DADADADADADBDBDCDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDFDEDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1B34D4D4B4B4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A494949494949494948484848484848484747474748484848484849494A4A4C4C4D4F51525457585C5E5F6265686A6E7177797D8186898D9194999EA4A5ACB0B3B8BABEC1C5C9CBCFD0D5D6D9D8DCDCDDDEDEDFDFE1DEDCDCDCDAD8D7D6D5D1CFCDCAC5C4C1BEBAB7B2B0ACA6A5A09B97948F8D8883807C7975726F6C6864625F5D5957545250504C4A4847464342413F3E3E3D3C3A39393837363535353333333131303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929292828282828282827272727272727262525252525252525252525252524242323232323232323232323232222222220202020AEBDBDBDBDBDBDBDBDBDBDBDBDA94C1F1D1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B3294BDBDBDBDBDBDBDBDBDBDBDBDBD361919191919191919191919171717171717171717161616161515151514141414141515151414141414141413131313131313131312121212121111111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3500000000000000000000000000000000000000000000000000000066A2A4A7A9ACAEB1B4B7B9BCBFC1C4C7C9CCCED1D3D6D8DBDCDEE1E3E5E6E8EAEBEDEEF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF928000000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1F0EFEDC8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3947B7E8082838587898B8F919395989CA0A2A4A8ABAFB1B5B7BABEC1C4C7CACCD0D3D6D9DCDDE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBECEBEBECEBEAEBECECEFF9E7E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1DFDEDEDEDEDEDEDFDFDFDFDEDEE1DEDEDEDEDFDEDEDEDCBBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCC5C6C5C4C5C4C4C4C4C4C3C4C4C5C4C4C4C5C5C6C5C6C8C9C9C9C9CBCFD0D0CFD0D0D5D6D6D7D9D9DADADCDCDEDEE1E1E1E3E1E1E1E1E1DEDEDEDEDCDBDEDEDEDEDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEE7D4D4D4D4B4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A4A49494949494949484848484848484847474747484848484849494A4A4C4C4D4D4F51525657585C5E616366696D6E71767A7D8186898D91949A9EA2A5ABAEB0B7BABDBEC4C6C9CECFD1D2D5D6D7D8D8DCDADCDADADAD8D7D7D7D6D2D0D0CECBC5C5C1BEBCB8B4B1ADA9A6A1A09A95938F8D8886807C7975726F6C6A64635F5C5A57545250504E4A494746434341403E3E3D3C3B3939383737353535353333323131303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828282827272727272726262525252525252524252525252424242323232323232323232323222222222220202079BDBDBDBDBDBDBDBDBDBDBDBDBDBD8E341D1D1D1D1D1D1D1D1D1D1D1D1B1B1B2071BDBDBDBDBDBDBDBDBDBDBDBDBDBDA71A191919191919191919191919171717171717171716161616151515151614141414141515141414141414141313131313131313131112121212121111111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0000000000000000000000000000000000000000000000000000000CA1A3A6A8ABAEB0B3B6B8BBBDC0C3C6C8CBCDD0D2D5D7D9DCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF99F0000000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1F0EFE0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B17F7D8082838587898B8F919395989C9EA2A4A8ABAFB1B4B7BABDC1C4C7CACCD0D3D6D9DCDDE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E7E9E9E9E9E9E7E6E7E7EEF8E7DFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E6E4E4E3E3E2E3E3E2E1E1E1E1E1E1E1DFDFDFE1E1E1DDB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCC6C5C5C5C4C4C4C4C4C5C5C5C5C8C6C6C5C6C6C6C8C8C9C9C9CACACBCED0CFD0CFD1D3D5D6D6D7D9DADCDADBDBDCDEDEDCDEDEE1E1E1E2E2E3E3E2E2E2E2E2E3E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBD2584D4D4D4D4B4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A49494949494949494848484848484847474747484848494849494A4A4C4D4D4E5152535657585C5F616366696A6F71767A7B8186898D9194989DA1A5AAACB0B5B8BBBEC1C4C8C9CDCFD1D1D2D5D6D6D7D8D7D8D7D8D6D5D5D2D0CFCDCAC8C6C2BEBCB8B7B4B0ADA8A5A29F9A96918F8B8783817C7975726F6B6A66635F5D5A57565350504E4C494747444341403E3E3D3C3B3A3938383736353535353332323130303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292828282828282828272727272727262525252525252525252525252524242423232323232323232323232222222222202046BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB56C231D1D1D1D1D1D1D1D1D1D1D1B50AEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD6B1A1A1919191919191919191919191717171717171717161616161515151516141414141515151414141414141413131313131313131312121212121111111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F34F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF230000000000000000000000000000000000000000000000000000005AA2A5A8AAADAFB2B4B7BABCBFC2C5C7CACDCFD1D4D6D8DBDDDFE1E3E5E7E9EAECEDEFF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9280000000000000000000000000000000000000000000000000000008DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1F0EFC4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39A7E8082838587898B8F919395989CA0A2A4A8ABAFB1B5B7BABEC1C4C7CACCD0D3D6D9DCDDE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E3E4E3E3E1E2E3E3E3E7EFE1DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADADADAD9D9D7D7D9D9D7D7D6D6D7D7D7D6D5D5D3CDB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BDCBCACACACACACACACAC9CAC9C9C9C9CACACACBCBCBCBCBCACACBCBCECECFD0D0D1D1D3D3D3D5D7D7D6D7D5D6D5D5D6D7D7D7D9DADBDADBDEDEDEDEDEDEDEDEDEDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEB14D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A49494949494949494848484848484848474748484848494849494A4A4C4D4D4E51525356575A5B5F616467696D6F73777A7D8186898B9094999D9FA4A8ACAFB3B7BABCBEC1C4C8C9CBCFD0D1D1D2D1D2D2D2D5D5D2D1CFD0CECACAC7C5C4BEBDBCB7B5B2AEABA8A2A09D9A96918F8A8583817C7875736F6B6966635F5D5A57565352504E4C4A4747444341403F3E3D3B3B3A393838373636353535353232323030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292928282828282828282727272727272625252525252525252525252525242424232323232323232323232322222222222020AEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA94B1D1D1D1D1D1D1D1D1D3294BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD361A1A1919191919191919191919191717171717171717161616161515151516141414141415151414141414141413131313131313131311121212121111111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D0000000000000000000000000000000000000000000000000000000C9BA4A6A9ABAEB0B3B6B9BCBEC1C4C6C9CBCED0D3D5D7D9DCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF99F00000000000000000000000000000000000000000000000000000007EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8F6F5F5F3F1F0E4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B28180828386878B8B8F919395999CA0A2A4A8ABAFB1B5B7BABEC1C4C7CBCCD0D4D6D9DCDDE0E3E5E7E8ECECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF4F4F4F3F3F2F2F2F2F1F4FBECE6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E2E2E1E1E1E2E2E1DFDEDEDBDBDBDCDBDBDBDBDBDBDBCFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C1CFCFCFCFD0D0D0D0CECFCFD0D0D3D3D5D3D5D5D5D5D5D6D7D7D7D9DADCDCDEE1DEDEE1E1E1E1E1E1E3E3E3E3E4E3E2E2E1E1E1E3E3E3E6E3E3E4E6E6E7E9E9E7E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADA884D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949494848484848484848474748484848494849494A4A4C4D4E4E51525356575A5B5F616466696D6E73777A7B8186888A9093979B9EA3A7ABB0B0B5B8BBBCC0C1C4C8C9CACACDCDCFCFCFD0D0CECECFCBCBC8CAC5C5C2C0BDBCB8B6B4B0ADA9A5A1A09A9893908D8A85827E7C7975716F6B696662615D5A57545352504E4C4A4847444342403F3E3D3D3C3A39383837363635353535323232313030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292928282828282828272727272727272625252525252525252525252525242424232323232323232323232322222222222079BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD8E341D1D1D1D1D2271BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA91A1A1A1A1919191919191919191919191717171717171717161616161515151516141414141515151414141414141413131313131313131312121212121111111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60F00000000000000000000000000000000000000000000000000000066A3A5A8AAADAFB2B5B8BBBDC0C2C5C8CACDCFD2D4D7D9DBDDDFE1E3E5E7E9EAECEDEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF92800000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F1F0C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39B80828486878B8D8F919395999CA0A2A4A8ABAFB2B5B7BBBEC1C5C7CBCCD0D4D7D9DCDDE0E3E5E7E8ECECEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E6E6E9E9E9EAE9E9E9E9EEF6E6DEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDCDCDCDCDEDEDCDBDBDBDADADADAD7D9D9D9D9DADAC6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C2D1D1D0D0CFD0CFCFCECBCBCBCFCED0CFD0D1D1D3D3D3D5D5D5D6D6D7D9D9DADADADCDCDCDBDCDEDEDEDEDEDEE1DFE1E1DEDEDEDFDFDFE1DFDFDFE1E1DEDEDEDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E2674D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A49494949494949494848484848484847474848484849494A494A4C4C4D4E4E51525456585A5B5F636466696D6E73777A7B8184868B8E9395999EA1A4A8ACB0B2B5B8BBBCBEC1C3C5C6C9CAC9CACBCACACAC8CAC8C9C6C5C4C1C0BDBBB8B6B5B0AEABA7A5A09D9A9693908C8885817D7C7775716F6C6964635F5C5A59545352504E4C4A4847474342403F3E3D3D3C3A39393837373635353535323232313130303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292929282828282828282727272727272726252525252525252525252525252424232323232323232323232323222222222046BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB56C231D1D51AEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD6B1A1A1A1A1A19191919191919191919191717171717171717171616161615151516141414141415151414141414141413131313131313131311121212121111111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A0000000000000000000000000000000000000000000000000000001AA2A4A7A9ACAFB1B4B7B9BCBFC1C4C7C9CCCED0D3D6D8DADCDEE1E2E4E6E8EAEBECEEEFF1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9B400000000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B283828486888B8D8F919395999CA0A2A5A9ABAFB2B5B7BBBEC1C5C7CBCCD0D4D7DADCDEE0E3E5E7E9ECECEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E3E3E4E4E6E6E4E6E6E7EAF4E6DEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDCDBDBDEDEDCDCDCDCDBDADADBDCDCDBDBDADBDBDCDEC0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C2D0D0D0CED0D1D1D3D1D3D3D3D5D3D3D3D3D3D3D3D6D6D7D7D7D9D9DADBDCDEDFE1E2E3E4E6E9EAEAEAEBEAECEEEEEEEFEEECEFECECEEECECECEEEEECEEEFEFEFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7D1544D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949494848484848484847474848484849494A4A4A4C4C4D4E4F51525456585A5B5F636466696D6E7177797C8084858A8D9394989D9FA3A5AAAEAFB2B4B7BABBBBC0C0C3C4C5C5C6C5C6C6C6C5C5C5C2C1C0BDBCBAB7B8B4B0AFADA8A6A2A09B9995918F8B8885827D797773716E6C6764635F5C5956555352504E4C4A4847454342413F3E3D3D3C3A3A39383737363535353532323231313130303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292828282828282827272727272726262525252525252524252525252424242323232323232323232323222222222220AEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA95894BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD361A1A1A1A1A19191919191919191919191917171717171717171616161615151515161414141415151514141414141414131313131313131313121212121211111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD90000000000000000000000000000000000000000000000000000000067A4A6A9ABAEB0B3B6B8BBBDC0C3C6C9CBCDD0D2D4D7D9DCDDE0E2E4E5E7E9EBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF93C00000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3D0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B392838586888B8D90929397999DA0A2A5A9ACB1B3B5B7BDBEC1C5C7CBCED1D4D7DADCDEE0E3E5E7E9ECECEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBECECEEEFF1EFEFEFEFF6FCECE4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9E9E9E9E9E9E9E9E9E6E6E6E6E6E6E4E4E6E7E6E6E6BDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C0CFCED0D0CFCFCFCFD0CFCFD0D0D0D0D0D0D0D1D1D1D1D1D1D3D5D3D5D5D7D7D7D6D5D5D7D7D7D9D9DADADBDCDBDEDEDEDBDCDEDCDBDEDBDEDEDCDCDBDBDBDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBB04D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949494848484848484847474848494849494A4A4A4C4C4D4E4F51525456585C5D5F636466696D6E7077777B7F8286898B909397999EA2A4A7AAAEB0B2B4B7B9BBBBBBBEC0C1C1C1C1C1C1C1C0BEC0BDBCBAB7B7B7B4B1AFADA8A6A3A19D9897928F8D8A85827E7D797573716D6B6764635F5D5B57555352504E4C4A484745444241413E3D3D3C3B3A3A3837373635353535353232313131312F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929292828282828282827272727272726252525252525252525252525252424242323232323232323232323222222222279BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA91B1B1A1A1A1A1A19191919191919191919191917171717171717171616161615151515141414141415151414141414141413131313131313131311121212121111111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF400000000000000000000000000000000000000000000000000000001AA2A5A8AAADAFB2B4B7BABDBFC2C5C7CACDCFD1D4D6D8DBDDDFE1E3E5E6E8EAEBEDEEF0F1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9BD00000000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5F5F3F3BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A7838587898B8D909295979A9EA0A3A5A9ACB1B3B6B9BDC0C3C5C7CBCED1D4D7DADCDEE0E4E5E7E9ECEDEFF0F0F3F3F5F6F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFEEEEEBECECEBEAEAEAEEF7E6DEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E1E1E1E1E1DFDEDEDEDEDBDADADBDBDBDADAD9D9DADAD8B8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C0CBCBCECECFCECBCECECECECECFCECECECBCECFD0D0D0CFD0CFD0CFCECFCECFCFCFCFD0CFCED0D0D1D3D5D6D6D6D7D6D7D7D9D9D7D7D7D9D7D7D7D7D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E17F4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A494949494949494848484848484848484848494949494A4A4A4C4C4D4E4F51525457585B5B5F636466696D6D7074777B7F8285888B8E9294989B9FA4A4A7AAAEAFB0B3B5B7B9BABABBBBBBBBBDBDBCBCBBBABAB8B8B7B4B3B1ADADAAA5A3A19F9A9995908F8C8885827E7C787573716D6A6764625E5B5A57565352504F4C4B49474544424141403D3D3C3B3A3A393737363535353535323231313131302F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827272727272727262525252525252525252525252524242423232323232323232323232222222249BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD6B1B1B1B1A1A1A1A19191919191919191919191917171717171717171616161615151515161414141414151514141414141414131313131313131313121212121211111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB90000000000000000000000000000000000000000000000000000000068A4A6A9ABAEB1B4B6B9BCBFC1C4C6C9CBCED0D3D5D7D9DCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF93C00000000000000000000000000000000000000000000000000000019F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F6F5F3DFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3878687898B8F919395979A9EA0A3A7AAADB1B4B7B9BDC1C3C5C9CCD0D1D4D8DADCDEE0E4E5E7E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E6E6E6E6E7E7EAE9E9EEF8E7E1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1DFE1E2E2E3E3E3E3E2E2E3E2E1E2E2E2E1E1E1E1E1E1DAB5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C6DADADADAD9DAD9D7D9D9D9D9D7D7D7D7D7D9DAD9D7D9DADADADAD9DADBDBDADCDBDEE1DFDFDEDFDFE1E1E2E2E3E4E4E4E4E3E6E4E4E3E3E3E2E2E2E3E2E2E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D3604D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A494949494949494848484848484848484848494949494A4A4A4C4C4D4E4F51525456585B5B5F616466696C6E7073767B7B8181858A8D9093979A9D9FA3A4A8AAACADB0B2B3B5B7B7B8B9B9B9B8B8B8B8B8B5B5B4B3B1AFADA9A9A6A5A19D9B9995918F8C8A8684827E7A7773716F6C6A6662615D5B5958565352504F4B4A48484544424141403F3D3C3B3A3A393837363535353535323231313131303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292928282828282828272727272727272625252525252525252525252525242424232323232323232323232322222222AEBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD361B1B1B1A1A1A1A1A191919191919191919191919171717171717171716161616151515151414141414151514141414141414131313131313131313121212121211111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F3DF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62300000000000000000000000000000000000000000000000000000020A3A6A8ABAEB0B3B6B8BBBDC0C2C5C8CACDCFD2D4D7D9DBDDDFE1E3E5E7E9EAECEDEFF0F1F2F3F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFBFAC70000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5CBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39D86888B8D8F919395999CA0A2A4A8AAADB1B4B7BABDC1C4C7C9CCD0D3D6D9DADCE0E1E4E7E7E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF7F7F8F8FBFBF8F9F8F8FBFFF2EEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D7D7D9DADADADADBDADADADADBDCDBDBD9D9D9D9D9D9CCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBC8C8C8C8C8C8C8C6C6C5C6C6C6C9C9C9CAC9CBCBCBCACAC9C8C9CACBCACACACBCBCBCECBCACBCECECECFCFCFD0D0D0D0D1D3D1D3D5D5D5D5D5D5D5D6D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDAC1544D4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A494949494949494948484848484848484848494949494A4A4A4C4D4D4E4F51525456585B5D5F616365686B6E6F74767A7B808285898A8E9394989A9D9FA2A4A7AAAAACADAFB0B0B2B3B3B4B4B4B2B3B3B3B2AFAFADABAAA6A5A2A09F9A999591908F8B8786827E7D797573716E6A696463615D5B5957555351504E4B4A48484544424140403F3D3C3B3A3A39383836353535353533323131313130302F30303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292828282828282827272727272727262525252525252524252525252424242323232323232323232323222222227ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA91B1B1B1B1B1A1A1A1A1A191919191919191919191917171717171717171616161615151515161414141414151514141414141414131313131313131311121212121111111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1FE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82000000000000000000000000000000000000000000000000000000007BA5A8AAADAFB2B4B7BABCBFC2C4C7CACCCED1D3D6D8DADCDEE1E2E4E6E8EAEBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF95A00000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5F5B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A887888B8D90929397999CA0A2A5A8ABAFB2B5B7BABDC1C4C7CACCD0D3D6D9DADDE0E1E4E7E8E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDDCDEDEDEDEDEDEDEE1E1E6EEE1D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1DFDFE1DFDEDEDCDCDBDADBDBDBDADADAD9DAD7D9D9D7C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BDCBCACBCECBCBCECECACACBCECFD0D0D0D0D0D0D0D1D0D0D0D0D0D0CFD0D1D1D1D1D1D1D5D5D5D3D3D5D3D3D5D5D6D6D6D7D7D9DADAD7D7D9DADBDADBDCDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3AA4D4D4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A494949494949494948484848484848484849494949494A4A4A4C4C4D4E4F51525456585B5D5F616365676A6D6F7374777B7F818186898B8E9394989A9D9FA1A4A5A7A9AAACAEADADAEAFAFAFAFADADADADABAAA9A7A6A3A2A09D9C999593908F8B888684827D797876726F6D6A676562615D5A5956555352504C4C4A4848464342413F403F3D3D3B3A3A3938383735353535353333313131313030302F30303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292929282828282828282727272727272626252525252525252525252525242424232323232323232323232322222249BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD6B1B1B1B1B1B1B1A1A1A1A191919191919191919191919171717171717171716161616151515151414141414151514141414141414131313131313131313121212121211111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3070000000000000000000000000000000000000000000000000000002DA4A6A9ABAEB1B3B6B9BCBEC1C4C6C9CBCED0D2D5D7D9DCDDE0E2E4E5E7E9EAECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAD10A00000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFAF9F9F9F8F7F6F5E8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3898B8B8F919395979A9EA0A3A5A9ACB1B3B5B7BDBEC1C5C7CBCCD0D4D7D9DCDDE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EBEAEAE9E9E9E9E9E9EAEEF6E4DCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D7D7D7D7D7D9D7D7D9D7D7D7D7DAD9D9D9DADADABFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4D5D5D5D5D5D3D3D1D1D1D1D1D3D5D5D3D3D1D1D1D3D5D6D7D7D7D7D7D9DADAD9DADADADADADADADBDCDADCDEDEDEDEDEE1E1E1E1E1E1E2E3E4E3E3E3E3E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E78A4E4E4D4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4A4949494949494948484848484848484849494949494A4A4A4C4C4D4E4F51525456575B5C5E5F6365676A6D6D7073777A7B7F8185888A8D909394979A9B9D9FA0A3A5A5A7A9A9AAAAACACACAAAAA9A9A7A6A5A4A1A09F9C9A999695908F8C888683827F7C79757272706B6A666461605C5B59565353514E4C4A494847464442403F3F3F3D3D3B3A39393838373635353535333332313131303030302F30303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2B2929292929292929282828282828282827272727272726252525252525252525252525252424242323232323232323232323222222B0BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD371B1B1B1B1B1B1A1A1A1A1A1919191919191919191919171717171717171716161616151515151614141414151515141414141414141313131313131313111212121211111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C0000000000000000000000000000000000000000000000000000000089A6A8ABAEB0B3B6B8BBBDC0C2C5C7CACDCFD2D4D6D8DBDDDFE1E3E5E6E8EAEBEDEEF0F1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF96D00000000000000000000000000000000000000000000000000000000A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFAF9F9F9F8F7F6F5D6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3948B8D8F919395999C9EA2A4A8AAADB1B3B7B9BDC0C3C5C7CBCED1D4D7DADCDEE0E3E5E7E8EBECEFF0F0F1F3F5F5F6F8F8F9F9F9FBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F8F8F6F8F8F8F8F9FBFDFFF3EFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDADADBDEDBDBDADADADADADAD9D9D9D9D7D7D7D7D7D6BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BECACAC9C9C9C9CACACACBCBCBCBCBCACACAC9C9CACBCAC9C9CACACACBCBCACBCBCBCBCBCBCECECFCFCFD1D3D1D1D3D3D5D3D3D5D5D6D7D7D6D7D7D6D6D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD4674E4E4D4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494948484848484848494849494949494A4A4A4C4C4D4E4F5152545657595C5D5F636467696C6E717377777B7F808186888A8D9093949598999B9E9FA0A3A3A3A4A4A5A4A6A5A5A4A4A3A3A09F9F9C9B98979593908F8B88868682807D79777572706D6B676563615D5B595855535351504D4A494847454443403F3F3E3D3D3C3B3A39383837363635353533333232313130303030302F303030302F2F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282828272727272727272625252525252525252525252525242424232323232323232323232222227ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA91B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191919191717171717171717161616161515151514141414141515141414141414141313131313131313131212121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9000000000000000000000000000000000000000000000000000000003AA5A8AAADAFB2B4B7B9BCBFC1C4C7C9CCCED0D3D6D8DADCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAE5140000000000000000000000000000000000000000000000000000000FF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF9F9F9F8F8F6F5C7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A08B8F90929597999DA0A2A4A8ABAFB1B4B7BABDC1C3C5C9CCD0D1D4D8DADCDEE0E4E5E7E9ECECEFF0F0F1F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E9EAEAEAEAE9EAEAEAEAEEF8E7E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E4E6E4E4E4E4E6E6E6E4E4E3E2E3E4E3E3E2E3E1E1E1DEB8B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C5D7D6D7D7D7D7D9D9D9D9D7D7D7D7D9D9D9D7D7D7D7D7D7D7D9D9DAD9DADADADADEDEDEE1E1E1E1E1E1E1E1E1E2E2E2E2E2E2E2E3E3E3E3E2E3E3E4E4E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DACA544E4E4E4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494949484848484848494849494949494A4A4A4C4C4D4E4F5151535657595C5D5F616365686B6D6E707376797B7F808185898A8C8E919294959899999C9E9F9F9F9FA0A0A0A0A0A09D9D9C9B9A97969593908F8E8B8A868682807D7C7A7572716E6C6A676462605D5B5958555352514E4C4B494846454442413F3F3E3D3D3C3B3A3A38383735363635353333323232313030303030302F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827272727272727262525252525252524252525252424242323232323232323232323222249BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD6B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919191717171717171716161616151515151614141414151515141414141414131313131313131313121212121211111111111111111010101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6190000000000000000000000000000000000000000000000000000000697A6A9ACAEB1B4B6B9BCBEC1C3C6C9CBCDD0D2D4D7D9DBDDE0E1E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF98C000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F6F5BBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AB8D8F919395989A9EA0A3A5A9ACB1B2B5B7BBBEC1C4C7CACCD0D3D6D9DADDE0E1E4E7E7E9ECEDEFF0F0F3F3F5F6F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEBEBEAECEAEAEAEBEBEFF9E9E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E3E2E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFE1DFDEDEDED6B5B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C5DADAD7D7D7D7D9D9DADADBDCDCDCDADADADADADBDADAD9D9DADADBDEDCDEDEDEDEDFE1E1E1E1E1E2E2E2E1E2E2E2E2E2E3E3E3E3E4E3E3E4E4E4E4E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEB94E4E4E4E4E4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494949484848484848494849494949494A4A4A4C4C4D4E4F5151535657595C5B5F616365676A6A6E707377777A7B80808185888A8B8D9091919495979999999A9D9A9A9B9A9B9B9A999996969595918F8E8C8B87868482817D7C7A7574726F6D6B676564615F5B5B5957555351504E4C4B49484645434241403E3E3D3C3C3B3A383837373535363535343332323232303030303030302F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282828272727272727272625252525252525242525252524242423232323232323232323232222B0BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD381B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191717171717171717161616161515151514141414141515141414141414141313131313131313111212121211111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75000000000000000000000000000000000000000000000000000000004EA6A9ABAEB0B3B6B8BBBDC0C2C5C7CACDCFD1D4D6D8DBDDDEE1E2E5E6E8EAEBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAEF2800000000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7F3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B28F90929597999CA0A2A4A8AAADB1B3B6B9BDBEC1C5C7CBCCD0D4D6D9DCDDE0E3E5E7E8E9ECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E6E4E6E6E4E3E3E3E3E9F3E3DBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1DFDFDFDFDFE1DFDFDEDFDFDFDEE1E1E1E3E2E1E1E1E1D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C9DFDEDEDEDEDEDEDEDEDEDEDEDEDEDEDFDEDFDFE1E1E2E1E2E1E1E2E2E1E2E2E2E2E2E2E3E3E2E2E2E3E3E2E3E1E2E3E3E2E3E3E4E6E4E3E3E3E3E3E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7974E4E4E4E4E4D4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494949484848484848494849494949494A4A4A4C4C4D4E4F5151535657585A5C5E5F636466686B6D6E717477797B7D7E81818687898A8C8E909191929495959596969696969595959591919090908C8B88868682827F7D7C79777572706D6A68676462605D5B595857535351504E4C4A494946444442413F3F3D3C3C3C3B3A39383737353536363434343232323231303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292828282828282827272727272726252525252525252525252525252424242323232323232323232323227ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA91B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191917171717171717161616161515151516141414141515151414141414141313131313131313131212121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9070000000000000000000000000000000000000000000000000000000D9FA8AAADAFB2B4B7BABCBFC1C4C6C9CBCED0D3D5D7D9DCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFAA90000000000000000000000000000000000000000000000000000000023F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7E7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B390929395989A9EA0A3A5A9ABAFB1B4B7BABDC1C3C5C9CCD0D1D4D7DADCDEE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFDFE1DFDFE1E1E1DFE3ECDED7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD7D7D9D9D9D9D7D9D9D7D9D7D6D6D6D6D6D6D6D6D6D5C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4D6D6D5D5D3D3D3D3D1D1D1D1D1D1D1D1D1D1D3D1D1D0D1D0D0D0D0D1D3D3D3D5D5D7D7D7D6D7D7D7DAD7DADBDEDEDEDEDEDEDEDFE1DFDFE1DFDFE1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDC7E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484848494849494949494A4A4A4C4C4D4E4F515152545657595C5E5F61636567696A6E6F717476797B7B7F80818585868A8A8C8D8D8E9090919291919291919090908E8E8C8C8B8A88868482817F7D7C78767472716E6C6A676462615F5C5B5857545352514F4C4B4A484947444442403F3F3E3C3C3C3C3A39393637353536363534343332323231303030303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292928282828282828282727272727272625252525252525252525252525242423232323232323232323232249BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD6B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191917171717171717171616161615151515141414141415151414141414141413131313131313131112121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000000000000000000000000000000000000000000000000000000069A7A9ACAFB1B4B6B9BCBEC1C3C6C8CBCDD0D2D4D7D9DBDDDFE1E3E5E7E9EAEBEDEEF0F1F2F3F4F5F6F7F8F8F9FAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF93C0000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8F7DCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B395939597999CA0A2A4A8AAADB1B3B5B7BBBEC1C4C7CACCD0D3D6D8DADCDEE0E4E5E7E9ECECEFF0F0F1F3F5F5F6F8F8F9F9F9FBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7ECEBEBEAEBEBEBEBECECEFF9E9E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E4E4E4E4E3E2E3E3E3E2E2E1DFDEDEDEDFDFDEDCDBDBC0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4D7D5D5D5D1D1D3D1D1D3D1D1D0D1D0D0CFCECECECECED0D0D0D0D0D0D0D0D1D3D3D5D5D5D6D6D6D6D5D5D5D5D5D5D7D6D6D5D5D5D6D5D5D5D5D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D1674E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484848494849494949494A4A4A4C4C4D4D4F4F5152545657595B5B5F5F62646666696C6D71737476797A7B7D7E808383858689898A8A8C8D8D8C8D8D8D8C8C8C8C8A8A88888685848282817F7D7979767471706E6C6A67666362605D5B595856545351514F4C4B49484747454342403F3F3E3E3C3C3B3B393938363536363635353433333232313130303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828282727272727272726252525252525252525252525242424232323232323232323232322B0BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD381B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919191917171717171717161616161515151516141414141515151414141414141313131313131313131212121211111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D0000000000000000000000000000000000000000000000000000000021A6A9ABAEB0B3B6B8BBBDC0C2C5C7CACDCFD1D4D6D8DBDCDEE1E2E4E6E7E9EBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAD10000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8F8D2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39C9395999C9EA0A3A5A9ABAFB1B4B7BABDC0C3C5C7CBCED0D4D6D9DADDE0E1E4E7E7E9ECEDEFF0F0F3F3F5F5F6F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F1F1F1F2F3F3F4F6F4F8FFEEE9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D7D7D9D7D6D7D7D7D7D6D6D7D7D5D5D5D3D5D6D6D6D6BAB3B3B3B3B3B3B3B3B3B3B3B3B3B3C4D5D5D3D5D6D5D5D5D5D5D3D1D1D3D3D5D6D6D7D7D7D7D9D7D7D9DADBDBDCDADCDCDBDAD9D9DADADCDBDADBDCDCDCDCDCDCDBDBDBDBDBDBDBDCDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7D75B4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484848494949494949494A4C4A4C4C4D4D4F4F515153565758595C5E5F62636566686A6C6E7173747679797A7D7E8080828386878686868989888A898A88898987868684838181807F7D7A7977757472706D6C6A67666462605F5B5B5958545353514E4D4C4948494745454342403F3E3E3E3D3C3B3B3A3938363636363635353533333332313131303030303030302F30303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282828272727272727262625252525252525242525252524242423232323232323232323237ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA91B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191917171717171717171616161615151516141414141415151414141414141413131313131313131212121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE307000000000000000000000000000000000000000000000000000000007EA8AAADAFB2B5B7BABCBFC2C4C6C9CBCED0D3D5D7D9DCDEE0E2E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9640000000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B39F95989A9DA0A2A4A8AAADB1B3B5B7BBBEC1C4C7C9CCD0D1D4D7DADCDEE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F1F1EFEFEEF1F1F2F2F1F6FCEBE4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1DFE1E1E1DFDFDEDEDEDEDEDEDEDEDEDEDEDEE1DEDCBBBCBBBCBCBCBCBBBCBBBBBBBBBBCDDBDBDBDADADAD9D7D7D9D9D7D9D9D9D9DADADADBDBDBDADADBDAD9DBDADBDBDADADADADADBDADBDBDBDADBDADADADBDADADADBDEDEDCDBDBDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEECD544E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484848494949494949494A4C4A4A4C4D4D4E4F515152545657585B5D5F6062646467686A6D6D7170727476797B7B7B7F7E808083828382848484868683838382828180807F7D7C7D7A7776767472706F6C6A67666464615F5B5B595856555351514F4C4C494847474545434240403E3E3D3D3C3B3B3A383836363636363535353533333231313131303030303030302F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929292828282828282827272727272726252525252525252525252525252424242323232323232323232349BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD6B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919191919171717171717171616161615151515161414141415151414141414141413131313131313131112121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000003CA8AAADAFB2B4B7B9BCBFC1C4C6C9CBCDD0D2D4D7D9DBDDDFE1E3E5E6E8EAEBEDEEEFF1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAE5140000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A697999CA0A2A3A5A9ABAFB1B4B7BABDC0C3C5C7CBCCD0D3D6D9DADCDEE0E4E5E7E9ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EEEEF1EEEFEFEFF1F1F1F7FDEEE9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E2E3E4E3E3E2E1E1DFDEDEDEDCDBDCDEDEDEDCDCDBDBDBDBDEDEDEDEDFDEDEDFDCDCDCDBDADBDCDCDCDBDBDADADADBDBDBDBDBDBDADBDBDBDEDEDFE1DFE1E1E1E1E1E1E1E1E1E1E1E2E1E1E1E1E1E2E3E3E2E2E2E3E3E3E3E3E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9B54E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949494848484848494948494949494A4A4A4A4C4C4D4E4E51515253565758595C5D5F6162626567686A6D6D6D7073737677787A7A7D7B7B7E807E7F808080808080807F7F7D7D7D7B7A797976767472716F6D6A6B68666462625F5D5B595858555553514F4E4C4B494847454543434241403F3E3D3C3C3C3A3A38383636373635353534353533333131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292928282828282828272727272727262525252525252525252525252424242323232323232323232323B0BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD381B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919171717171717171716161616151515161414141414151514141414141413131313131313131312121212111111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000000000000692A9ABAEB0B3B6B8BBBDC0C2C5C7CACDCFD1D4D6D8DBDCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFA8C0000000000000000000000000000000000000000000000000000000007E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9F8CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6999C9EA0A3A5A8ABADB1B3B6B7BBBEC1C4C7C9CCD0D1D4D7D9DCDDE0E3E4E7E8E9ECEDEFF0F0F3F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEEEFEEEEEFEFECEEEEF3FBEBE6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E3E6E3E3E3E2E2E2E2E2E2E1DFE1DFDEDFE1E2E2E3E1E2E2E3E3E3E3E2E3E2E2E2E2E3E3E3E2E2E1DFE1E2E1E1DFE1DFDFDFE1DFE1DEDEDFDEDEDEDEDCDBDBDBDBDADADBDCDEDEDEDCDEDFDFDFE1E1E1E1DFDFDFDFE1E1E1E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDE954E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494949484848484849494849494949494A4A4A4C4C4D4D4F4F515253565657585B5B5E5F6161646567686A6D6D6C707073737677777A79797B7B7B7B7B7B7E7E7B7B7B7B7B7B79787676767472726F6D6C6A6B67676462605F5E5B5B585755555353504E4C4C4A494847454543424141403D3D3D3C3C3C3A3A3838363737373535353434353531313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2929292929292929282828282828282727272727272726252525252525252425252525242424232323232323232323237ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA91D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191919191717171717171716161616151515151414141414151514141414141414131313131313131312121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3070000000000000000000000000000000000000000000000000000000057A9ABAEB0B3B5B8BABDBFC2C4C7C9CCCED0D3D5D7D9DCDEE0E2E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9FAFBFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9280000000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F8C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A89C9EA0A2A4A8AAACB1B2B5B7BABDC0C3C5C7CBCCD0D3D6D8DADCDEE0E3E5E7E8EBECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E6E6E4E4E3E3E2E3E3E9F2E3DBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D6D6D6D5D5D5D7D7D7D9DADBDBDBDBDCDEDCDBDBDADAD9DADADAD9D9D7D7D7D7D7D9D9DAD9D9DADADADADBDADBDBDCDBDCDCDEDFDFDFDFDFE1E1E1E1DFDFE1E1E1E1E1E1E1E1E1E1E1E2E3E3E3E3E4E4E4E4E6E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2884E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484849494849494949494A4A4A4C4C4D4D4E4F51515254565658595C5D5F606162646567676A696C6D6E706F727373747677787978797979797978787876767675727271716E6D6D6A6A6867666363605F5D5C5B5A595655535351514C4C4C49494747454443424141403D3C3D3C3C3B3B38383636373737353535343434353131313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827272727272726262525252525252525252525252424242323232323232323235ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD7D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919171717171717171716161615151515161414141415151514141414141413131313131313131112121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000001BA1AAADAFB2B4B7B9BCBFC1C4C6C9CBCED0D2D4D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAC7000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A89EA0A2A4A7A9ABAFB1B4B7B9BDBEC1C4C7C9CCD0D1D4D7D9DADDE0E1E4E5E7E9ECECEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F1F1F1EFEFEFEFEFEFEFF4FCECE6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDEDEDEDFE1E1DFDEDEDEDEDEDEDEDEDEDEDBDEDEDEDEDEDEDFDFDEDEDFDFE1E2E2E1E1E1E1E1E1DFDEDEDCDBDBDBDADADADAD9D9D7D7D7D9D9D9D7DAD7D7D7D7D7D9D7D7D7D7D6D7D9DADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E4754E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484849494849494949494A4A4A4A4C4C4D4E4E4F51525354565758595C5D5F5E616263646666676A6A6C6C6E6F70707072737373747574747475747372727272716E6D6C6C6A6B69676563646260605E5C5A59585855555351514D4D4C4949484745444342414140403F3C3D3B3C3B3B39383636363737363535343434343231313131313131303030303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827272727272726252525252525252525252525252424242323232323232349B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD711D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919191717171717171716161616151515151414141414151514141414141413131313131313131112121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000000000079AAACAFB1B4B6B9BBBEC0C3C5C8CACDCFD2D4D6D8DBDCDEE0E2E4E6E7E9EBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFBFBFAF9640000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9F9C6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A9A0A2A3A5A9ABADB1B3B5B7BABDC1C3C5C7CBCCD0D3D6D8DADCDEE0E3E5E7E8E9ECEDEFF0F0F3F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9E7E9EAEAE9E9E9E9E9ECF6E4DBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D6D5D5D5D5D6D7D7D9DADAD9D7D9DAD9D7D7D6D7D9D9DADAD7D7D7D7D9D9D7D9DAD9D9DADADADADBDCDCDBDBDBDBDADADADADADADADADADADADADADADADADBDBDBDBDBDBDBDEDEDEDEDEDEDEDEDCDEDEDEDBDBDBDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFD5624E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484849494849494949494A4A4A4A4C4C4D4D4D4F4F515253555557585B5C5D5E5E5F606364666666676A6C6C6D6D6C6D6F6F6F6E6F70707070706F6F6D6D6D6C6D6A6A69676768656462605F5F5D5C5A5A585756555351514F4D4C4C49484747454444424141403F3D3E3D3B3B3B3B3939363636363636363434343433333231313131313131303030303030302F30303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282828272727272727262525252525252525252525252424242323232323235BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD94211B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919191717171717171717161616151515151614141414151514141414141414131313131313131312121212111111111111111110101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F47F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3070000000000000000000000000000000000000000000000000000000035A9ABAEB0B3B6B8BBBDC0C2C5C7CACCCED0D3D6D8DADCDEE0E2E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAE514000000000000000000000000000000000000000000000000000000002CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFBFBFBFAF9F9CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AAA2A3A5A9AAADB1B3B5B7BABDBEC1C4C7C9CCD0D1D4D7D9DADDE0E1E4E5E7E9ECECEDEFF0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E2E3E3E1E1E1E3E4E6EBF4E4DCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E4E4E6E6E6E6E6E7E7E7E6E6E6E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E3E3E3E3E3E2E2E1E1E1E1DFE1E1E1DFE1E1E1E1E1E1E1E1E2E2E1E1E1E1E1DFDFE1E1E2E1E1E1DFDEDEDBDBDBDCDEDFDEDEDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9C85F4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494948484848484849484949494949494A4A4A4A4C4D4D4D4E4F51525254555657585B5C5B5D5D5F6162646465666667696A6868696C6D6C6B6B6B6B6B6B6B6B6B6B6B696968676565656462625F605E5C5B5A59575756555352514E4F4C4C4A494747454544434241403F3F3D3E3D3B3B3B39393737363636363636353434343333323231313131313131303030303030302F303030302F2F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929282828282828282727272727272726252525252525252425252525242424232323237ABDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA9321B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191917171717171717161616161515151514141414141515141414141414131313131313131311121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000000794ABADB0B2B5B7BABCBFC1C4C6C9CBCED0D2D4D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFA95000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A8A3A5A8AAADB1B2B4B7B9BDBEC1C4C5C7CBCCD0D3D6D8DADCDEE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E3E3E3E2E1E1E1E1E1E3E6F1E1DADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D7D7D7D7D6D6D6D7D6D6D6D6D6D6D6D5D3D5D5D6D7D7D7D9DADADADADBDCDBDADADAD9D9DADADAD9D9D7D7D7D7D7D9DADADADADADBDBDCDEDCDEDEDFDEDFDFE1E1E1E1E1E1E2E2E2E2E1E1E2E3E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2BF544E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494948484848484849484849494949494A4A4A4A4C4C4D4D4D4E4F51525454555657585B5B5B5C5D5E61616063646566666666676969696969676868696868676768686665646262626061605F5C5C5C5A5A595756555353524F4F4C4B4A4B494745454442424242403F3D3E3E3D3D3B3B3939373738363636363635353434333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828282727272727272626252525252525252525252525242424232788BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB54B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919191917171717171717171616161515151516141414141515141414141414131313131313131311121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F2BE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D00000000000000000000000000000000000000000000000000000000005EAAADAFB2B4B7B9BCBEC1C4C6C8CBCDCFD2D4D6D8DBDDDEE1E2E4E6E7E9EBECEEEFF0F2F3F4F4F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAF9320000000000000000000000000000000000000000000000000000000000CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9F9CEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A6A5A8AAADAFB1B4B6B9BBBDC1C3C5C7CACCD0D1D4D7D9DADDE0E1E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E6E7E6E7E6E4E6E7E7ECF6E6DCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDBDADAD9D9DADBDCDCDCDCDEDEDCDBDBDBDBDADCDBDBDCDEDCDCDCDBDBDCDEDEDCDCDCDEDEDEDEDEDCDBDBDEDEDEDEDEDFDFDFDFE1E1E2E2E1E1E1E1E1DFDFDFDEDFDFE1E1DFE1E1E1DFDFDFDFE1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECCA4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494948484848484849484849494949494A494A4A4C4C4C4C4D4E4F4F5152525455565758585B5C5C5D5D5F5F616163646365656565656566646666666665656464646464636161605F5E5C5D5D5A5A59575756545353514F4F4D4B4A4948474647454242424241403D3D3E3C3C3C3C39393737383838363636353535353433333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282828272727272727262525252525252525252525252424243294BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD641B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191919171717171717171616161615151516141414141515151414141414141313131313131313121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F0F17CAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD907000000000000000000000000000000000000000000000000000000001BA9ACAEB1B3B6B8BBBDC0C2C5C7CACDCFD1D3D6D8DADCDEE0E2E4E5E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAD10A0000000000000000000000000000000000000000000000000000000023F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAF9D9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A8A8AAACAFB1B4B6B7BABDC0C1C5C7C9CCCED0D4D6D9DADCDEE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E2E4E4E4E6E6E6E7E7E6EAF6E6DFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDCDBDBDADADADBDADADADBDCDCDEDCDCDEDEDEDCDEDEDEDEDEE1DEE1E1E2E2E2E3E4E4E6E4E6E6E6E7E6E6E6E4E4E6E7E9E7E7E6E6E6E6E9E9E9EAE9E9E9EAE9E9EAEAEAEAE9E9E9E6E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCA64E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848494848494949494949494A4A4A4C4C4C4D4D4E4F4F515252545656575858595B5B5C5E5D5E5F616161616063636363636362626262626261616160605F5F5E5E5D5C5C5A5B57575756535352514F4F4D4D4A494848464745444242424140403F3E3E3C3B3B3C3B39383738383837363635353535343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282828272727272727262525252525252524252525252434A8BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD86201B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191919171717171717171616161615151515141414141415151414141414141313131313131313121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0F17CAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62C000000000000000000000000000000000000000000000000000000000087ABAEB0B3B6B8BBBDC0C2C5C7C9CCCED0D3D5D7D9DCDDE0E1E3E5E6E8EAEBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFA77000000000000000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9E2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3A8AAADAFB1B4B6B7BABDBEC1C4C7C9CBCCD0D3D4D7DADCDDE0E1E4E5E7E8EBECEDEFF0F1F3F3F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF1F2F2F2F3F2F3F3F3F4F9FFEFE9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDEDEE1E1E1DFDFDEDEDEDFDFDFDEDEDEDEDFDFDFE1E1E1E2E1E2E1E1E3E2E1E1E2E2E2E2E2E1E1E1E1E1E2E2E2E1E1E1E2E2E3E3E3E3E3E3E2E2E3E3E3E3E3E3E2E3E3E3E4E4E6E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFA84E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494948484848484848484848494849494949494A4A4A4C4C4C4C4D4E4F50505252535456565758585B5C5C5B5C5D5D5E5F5F5F616060606160606060605F5F5F5F5F5F5E5E5D5A5A5A5A58575655545453524F4F4F4D4B4A4B4A48464645444443424141403F3E3E3C3C3B3B3B3B38383738383636373535353535343433333333333231313131313131313030303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A29292929292929282828282828282727272727272726252525252525252525252544B5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA22C1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919171717171717171716161615151515161414141415151414141414141313131313131313111212121211111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7500000000000000000000000000000000000000000000000000000000004AABADAFB2B4B7B9BCBFC1C4C6C9CBCED0D2D4D7D9DBDDDFE1E2E5E6E8E9EBECEEEFF0F2F3F4F4F5F6F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAEF280000000000000000000000000000000000000000000000000000000000ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9EDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3ABADAFB1B4B5B7BABDBEC1C4C5C7CBCCD0D1D4D7D9DADCDEE0E3E5E7E8E9ECEDEFF0F0F1F3F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0DEDFE1E1E2E2E3E6E4E4E9F3E4DCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E1DFDFE1E1E1DEDEDEDEDEDEDEDEDEDEDEDBDBDEDEDEDEDEDEDEDCDBDCDCDCDCDCDEDBDADBDBDEDEDCDADADADBDCDEDCDCDBDBDBDBDBDCDCDEDBDBDBDBDBDBDBDBDEDEDEDCDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3944E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494948484848484848484848494849494949494A4A4A4C4A4C4B4C4D4E504E505251535456565657585A5A595A5A5C5C5D5D5D5C5C5F5F5F5E5E5E5E5E5E5E5C5C5C5C5C5A5B58575757565552535251504F4E4C4D4A4B4948484645454443434241403E3E3E3E3E3B3B3B3B393937373738363636353535353434343333333333333231313131313131303030303030302F303030302F2F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B29292929292929292828282828282827272727272726252525252525252525255DB5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDAE3E1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191919171717171717171616161615151516141414141515151414141414141313131313131311121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F0FA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9000000000000000000000000000000000000000000000000000000000014A3ADAFB2B4B7B9BCBEC1C3C6C8CACDCFD2D4D6D8DADCDEE0E2E4E6E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFABD00000000000000000000000000000000000000000000000000000000000FE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B1ADB1B2B4B6B7BABDBEC1C3C5C7CACCD0D1D4D6D9DADCDEE0E3E4E5E7E9ECECEDEFF0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEDEE1E1DFE1DFDEDEDEE1E3EEDFD9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D5D5D3D1D1D0D1D0D3D3D6D3D3D3D3D1D1D1D0D0D0D1D0D1D0D0D1D3D5D5D5D5D5D6D5D5D6D6D7D7D7D7D7D5D5D7D7D7D9DADBDADADADADBDBDBDCDBDBDADADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDB884E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494948484848484848484848484849484949494A4A4A4A4C4B4B4C4D4E4E4E50505151525356565656575758595B5B5A5C5A5B5B5C5C5C5B5C5A5A5A5B5B5959585859595856555554545251504F4F4E4C4C4A494948484847444444434242413E3E3D3D3E3C3B3B3B3B39393937373636363535353535343434343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827272727272726252525252525252568BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD5D1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A19191919191919191919171717171717171716161615151515141414141415151414141414141313131313131313121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F0F98FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED1900000000000000000000000000000000000000000000000000000000007BACAFB1B3B6B8BBBDC0C2C5C7CACDCFD1D3D6D8D9DCDEE0E2E4E5E7E9EAEBEDEEEFF1F2F3F4F5F6F7F7F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFA64000000000000000000000000000000000000000000000000000000000035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAF9BEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B1B2B4B6B7BABDBEC1C3C5C7CACCCED0D3D6D8DADCDDE0E1E4E5E7E8E9ECEDEFF0F0F1F3F5F5F6F7F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F2F2EFEEECEBECECECF2F9E9E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E2E2E2E2E3E3E3E2E2E2E3E3E3E3E3E3E3E3E2E2E3E3E3E3E3E3E2E3E3E3E4E4E6E6E6E7E9E9E9E9EAEAE9E9E9E9EAE9E9E9E9E9E9E9E9E7E9E9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDC8B4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A494949494949494848484848484748484848484948484949494A4A4A4A4C4B4B4C4D4D4E4E4F50515151535656555656575757585857575959595B5B59595959595858575756565656555554525250504E4E4C4C4C4B4B48484848464643444342414140403D3D3D3C3C3C3B3B393939393936363636353535353434343434343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828272727272727272625252525252A7CBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD77201B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919191717171717171716161616151515161414141415151414141414141313131313131313121212121111111111111111101010101010100F0F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40000000000000000000000000000000000000000000000000000000000036ABAEB0B3B6B8BBBDC0C2C5C7C9CBCED0D3D5D7D9DBDDDFE1E3E5E6E8EAEBECEEEFF0F2F3F4F4F5F7F7F8F8F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAEF1E000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBFAD0B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3AFB3B5B7B7BABDBEC1C3C5C7C9CCCED0D3D4D7DADADDDEE0E3E5E7E7E9ECECEFEFF0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E6E4E4E6E6E4E4E4E4E9F2E1D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D7D7D7D7D6D6D6D7D6D6D6D6D6D6D6D6D5D5D5D7D7D7D9DADBDBDBDBDEDEDEDCDCDBDBDADBDBDBDBDBDADADADADADBDBDBDADADBDCDCDEDEDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3DD734E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A49494949494949484848484848474848484848484848494949484A4A4A4A4C4B4B4A4C4D4E4E4E4F5051505153535453545556575756575757565656565656565656565455555554525151504F4F4E4E4C4C4A4A4948484846464644434343404140403F3D3D3C3C3C3B3B3939393939393836363535353535343434343434343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A292929292929292828282828282827272727272726252525252A96BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD942B1B1B1B1B1B1B1B1B1A1A1A1A1A191919191919191919191717171717171716161616151515151414141415151514141414141413131313131313111212121111111111111111101010101010100F0F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D00000000000000000000000000000000000000000000000000000000000D9EAEB0B3B5B7BABCBFC1C4C6C9CBCED0D2D4D7D9DBDDDEE1E2E4E6E7E9EBECEEEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAB4000000000000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFAE2B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B0B5B7B9BABDBEC1C3C5C7C9CCCCD0D3D4D7D9DADCDEE0E3E4E5E7E8EBECEDEFF0F0F1F3F5F5F6F7F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E9EAE9EAEAEAEAEAEAEAEFF8E7DEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E3E2E2E1E1E1E1E2E1E2E1E1E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E4E4E3E3E3E3E3E3E1E1E1E2E1E2E2E1DFDFE1E1E1E1DFDFDFE1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDED9724E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848474748484848484848484949484A484A494A4C4B4B4A4C4C4D4F4E4F4E4F515051515252535354555454555555555555555555545252525251515150504F4F4D4C4C4C4A494848494848454444434343424040403F3F3F3C3C3C3B3B3B3B39393939373838353535353535353434343434343433333333333232313131313131313030303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827272727272726252534A2BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA93D1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919191917171717171717161616151515151614141414151514141414141413131313131313111212121211111111111111101010101010100F0F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE07000000000000000000000000000000000000000000000000000000000074ADAFB2B4B7B9BCBFC1C4C6C8CACDCFD2D4D6D8DADCDEE0E2E4E5E7E9EAECEDEEF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFA64000000000000000000000000000000000000000000000000000000000019EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBF4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4B6B7B9BBBDC0C1C3C5C7C9CCCCD0D1D4D7D9DADCDDE0E1E4E5E7E8E9ECEDEFF0F0F1F3F3F5F5F6F7F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDEDFDFE1DFDFDFDFDFDEE2ECDED9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDBDBDBDBDBDADADADAD9D9D7D7D9D9D7D9D7D7D9D9D9D7D7D6D5D6D6D6D7D7D7D7D7DADADAD7D7D9DADBDADBDCDEDEDEDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBD6714E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A494949494949494848484848484847484848484848484848494848484849494A4C4B4C4A4A4B4D4D4D4C4E4E4F515150505050515153535353535353515151515151515150504D4D4F4C4C4C4C4A4A4948484848464646444343434340403E3E3F3F3D3D3C3B3B3A3B3B3B39393737373836353535353535353434343434343333333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828272727272727272645A8BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5501B1B1B1B1B1B1B1A1A1A1A191919191919191919191917171717171717161616161515151614141414151514141414141413131313131313131212121211111111111111101010101010100F0F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF619000000000000000000000000000000000000000000000000000000000037ADAFB2B4B7B9BBBEC0C3C5C7CACDCFD1D3D6D8DADCDDE0E1E4E5E7E8EAEBECEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAEF1E000000000000000000000000000000000000000000000000000000000040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFABEB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9BABDBEC1C1C4C5C7CACCCCD0D1D4D6D9DADCDDE0E0E4E5E7E8E9ECECEDEFF0F1F3F3F5F5F6F7F8F8F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E7E9E9E7E9E9EAEAEBEBF1F9E9E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1EFEFEFEFEFEEEEEEEEEEEFEFF1F1EFEEECECEBEAEAEAEBECEAEAEBEBEBEBEAE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADAD5714E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848474747484848484847484849474849484949494A4A4A4C4C4B4B4B4B4D4D4C4C4F4F4E5050504E4E50505050505151505050504F4F4F4D4D4D4D4C4C4A4A4A48484848474747454444444443434242403E3F3F3D3D3D3C3B3A3A3A3B3B3B38373737363636353535353535343434343434343333333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828282727272727274BB5BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD711B1B1B1B1B1B1A1A1A1A1A1919191919191919191917171717171717171616161515151514141414151514141414141413131313131313131212121211111111111111101010101010100F0F0F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C00000000000000000000000000000000000000000000000000000000000D9FAFB1B3B6B8BBBDC0C2C5C7CACCCED0D3D5D7D9DBDDDFE1E3E5E6E8E9EBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAB400000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBFBD7B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5BBBDBEC1C3C4C5C7CACCCED0D1D4D6D9DADCDDE0E0E3E5E7E7E9EBECEDEFF0F0F1F3F5F5F5F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF4F3F3F2F2F1F1EFEFEFF3FCEAE4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBD9D9D9D9D9D9DADBDBDBDAD9D9D7D6D5D5D5D5D6D7D7D9DADAD9D7D9DAD9D9D9D7D9DADADADADADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCD6724E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494948484848484847474747484848484747484847474949494949494A484A4A4B4B4B4A4A4C4C4D4E4D4C4D4D4F4F4F4F4F4F4F4F4F4F4D4F4F4D4D4D4C4C4A4A4A4A4A48484848474747454444444443434142404040403F3D3D3C3C3C3B3A3A3B3B3B3A3A38373636363636353535353535343434343434343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292928282828282828272727275DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD941F1B1B1B1B1B1A1A1A1A1919191919191919191919171717171717171616161515151514141414141515141414141414131313131313131212121211111111111111101010101010100F0F0F0F0F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D00000000000000000000000000000000000000000000000000000000000075AEB0B3B6B8BBBDBFC2C4C7C9CBCED0D2D4D7D9DBDDDEE1E2E4E6E7E9EAECEDEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA64000000000000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBF1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4BBBEC0C1C3C5C7C9CBCCCED0D3D4D6D9DADCDDDEE0E3E5E7E7E8EBECEDEFF0F0F1F3F3F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E2E3E3E3E2E1E1E3E1E6EFE1D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2DFE1E1E1DFDFDFDFDFDFE1DFDFE1DFDEDEDEDEDEDEDEDEDEDEDEDFDEDEDEDEDEDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1DA734E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474748484847474747484747464947494949474748484A4A4B4A4A4A4A4B4C4C4C4C4C4C4C4C4C4C4C4C4C4D4D4A4A4C4A4A4A4A4A4A4A4A4A484747474745454644444343434340404040403E3F3D3C3C3C3B3B3B3B3B3B393A3A3A37363636363635353535353535343434343434343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827277CBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDA9311B1B1B1B1A1A1A1A1A19191919191919191919171717171717171616161615151516141414141515141414141414131313131313131212121211111111111111101010101010100F0F0F0F65F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC400000000000000000000000000000000000000000000000000000000000037AEB0B3B5B7BABCBFC1C4C6C9CBCDCFD2D4D6D8DBDCDEE0E2E4E5E7E9EAEBEDEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBF01E000000000000000000000000000000000000000000000000000000000007E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBFBC3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B4BEC1C3C4C5C7C9CBCCD0D0D3D4D7D9DADCDDDEE0E3E4E5E7E8E9ECECEFEFF0F1F3F3F5F5F6F6F8F8F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E9E9E7E7E7E7E7E7E7EAECF8E9DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E2E1E2E1E1E2E2E3E3E3E3E3E3E3E3E3E3E3E3E3E3E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDED6724E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494948484848484847474747464848474647474747474746464747494747474749494A494A4A4A4A4B4B4A4B4B4B4C4C4B4B4B4A4C4C4A4A4A4A4A4A4A48484848484847464646464644444342424140404040403E3E3D3D3C3C3B3B3B3B3B3B3939393A3737373636353536353535353535353434343434343433333333333232313131313131313030303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282B88BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB54A1B1B1B1B1A1A1A1A191919191919191919191917171717171717161616151515161414141415151414141414141313131313131311121212111111111111111010101010100F0F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000DA0B0B2B4B7B9BCBFC1C3C6C8CACDCFD1D3D6D8DADCDEE0E1E4E5E7E8EAEBECEEEFF0F2F3F4F4F5F6F7F8F8F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFABD0000000000000000000000000000000000000000000000000000000000002CF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBDBB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BAC1C4C5C7C7CACCCCD0D1D3D4D7D9DADCDDDEE0E3E4E5E7E8E9ECECEDEFF0F0F1F3F5F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E7E6E6E7E9E9E9E9EAEAECF6E6DEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDCDBDBDBDBDBDADBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2DD734E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848484747474646484746464747464747474646474747474747484849474848484A4A4848494A4A4A4A48484A4A4A4A4A484848484848474747474747474644444443434241414140404040403E3D3D3D3C3B3B3B3B3B3B3939393938373737363535353636353535353535353434343434343433333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2A2929292929292928282828283696BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD631B1B1B1A1A1A1A1A1919191919191919191917171717171717161616151515151414141415151514141414141313131313131311121212111111111111111010101010100F0F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF350000000000000000000000000000000000000000000000000000000000007DAFB2B4B7B9BCBEC0C3C5C7CACCCED0D3D5D7D9DCDDDFE1E3E5E6E8E9EBECEEEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFCFCFCFCFBFBFA7700000000000000000000000000000000000000000000000000000000000055FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBF9B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5C3C5C5C7C9CBCCCED0D1D4D6D7D9DADCDDDEE0E3E4E5E7E8E9ECECEDEFF0F0F1F3F3F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAECECEAEAECEBECEEEEF2FBE9E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D3714E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848474747474646464746464647464647474646464646464747474848464747474849474848484848494949494949494948484848484847474646464646434343424242414040404040403D3D3D3C3C3C3C3B3B3B3B3B3B3939383837373735353535353636353535353535353434343434343333333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828282727272727272625252525252525252525252524242323232327BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD861F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191917171717171717161616161515151614141414151514141414141313131313131311121212111111111111111010101010100F0F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A00000000000000000000000000000000000000000000000000000000000045AFB2B4B6B9BBBDC0C2C5C7CACCCED0D3D4D7D9DBDDDFE1E2E4E6E7E9EAECEDEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBF03200000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFBFBD4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBC5C7C9CACCCCD0D0D3D4D6D7D9DADCDDE0E0E3E4E5E7E8E9ECECEDEFF0F0F1F3F3F5F5F6F6F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEFEFEEEEEFEFF1F1F2F8FDECE7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D17C4E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848474747474646464546464646464646474646464646464646474747474747474747464647474747484747474848484747474747464644444444444342424243434343404040403E3E3E3C3C3C3C3C3C3C3B3A3B3B3B393838383837373735353535353636353535353535343434343434343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282827272727272726252525252525252525252525242424232323238FBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4D1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191919171717171717171616161515151614141414151514141414141413131313131313121212111111111111111010101010100F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA20000000000000000000000000000000000000000000000000000000000001CA8B1B3B6B8BBBDC0C2C4C7C9CBCED0D2D4D7D8DBDCDEE0E2E4E6E7E9EAEBEDEEEFF0F2F3F4F5F5F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAD10A000000000000000000000000000000000000000000000000000000000000C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBF5B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5C7C7CACBCCCED0D1D3D4D7D8DADADCDDE0E0E3E4E5E7E8E9ECECEDEFF0F0F1F3F3F5F5F6F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAE9E9EAE9E7E4E6E7E9EBF6E3DCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9884E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444646464646464646464646444646474747474747474747474545464747474746464647464744444444444444434343434242424242414141413E3E3E3E3D3D3D3C3C3C3C3C3C3A3A3A3B39393938383837373737353535353536353535353535353434343434343433333333333232313131313131313030303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828282727272727272625252525252525242525252524242323232360BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB5241F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919171717171717171616161515151514141414151514141414141413131313131313121212121111111111111010101010107AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE070000000000000000000000000000000000000000000000000000000000078BB1B3B6B8BABDBFC1C4C6C9CBCDCFD2D4D6D8DADCDEE0E2E4E5E7E9EAEBECEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFA950000000000000000000000000000000000000000000000000000000000000FE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBD1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCCACBCCCED0D1D3D4D6D7D9DADCDCDEE0E0E3E4E5E7E8E9ECECEDEFF0F0F1F3F3F5F5F5F6F7F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF9F9F9F8F9FBFBFBF9F9FDFFF3F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9884E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444446464646444646464646444446454545474545454747474545464646464646464646464644444444444444434242424242414141404040403E3D3D3D3D3D3D3C3C3C3B3B3B3A3A393939393938373737373737353535353536353535353535353434343434343433333333333232313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929292828282828282827272727272726252525252525252525252524242423232332BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD791F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919171717171717171616161515151514141414151514141414141413131313131313121212121111111111111010101010A3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3190000000000000000000000000000000000000000000000000000000000005BB0B3B5B8BABCBFC1C4C6C8CACDCFD1D3D6D8DADCDDE0E1E3E5E6E8EAEBECEEEFF0F1F2F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA4500000000000000000000000000000000000000000000000000000000000023F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBF5B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B7CBCCCED0D0D3D4D4D7D8DADADCDDDEE0E1E3E5E5E7E8E9ECECEDEFEFF0F0F1F3F5F5F5F6F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAE9E9E7E9E9E6E9E7E7ECF7E6DFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEA14E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444444464646444446464646444444444445454444454545454445454545454644444444444443434343434343424242424141404040403F3F3F3D3D3D3D3D3D3C3A3B3B3B3B3A3939393939393737373737373735353535353536353535353535353434343434343433333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828272727272727262525252525252524252525252424242323239BBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD461F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191917171717171716161616151515161414141415151414141414131313131313131212121211111111111110101010A3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6350000000000000000000000000000000000000000000000000000000000002AB0B3B5B7B9BCBFC1C3C6C8CACDCFD1D3D5D7D9DCDDDFE1E3E5E6E7E9EBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBE61E0000000000000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBDDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4CED0D0D3D4D4D6D7D9DADADCDDE0E0E3E4E5E7E7E8E9ECECEDEFEFF0F0F1F3F5F5F5F6F7F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9E7E6E6E6E7E7E7E9E9ECF7E6DEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADAA64E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494948484848484847474747464646454444444446444444444446464444444444444444444444444444444444444444434343434343424242424242414141414140403F3F3F3F3E3E3E3D3D3D3D3C3C3A3A3B3A3A3A3A3939393737373737373737373735353535353636353535353535353434343434343333333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828282727272727272625252525252525252525252524242323236EBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDAE201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919171717171717171616161515151614141414151514141414141313131313131312121212111111111111101018B6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000000000000000000000000000000000000000000000000000000000000E9BB2B4B7B9BCBEC1C3C5C7CACCCED0D3D5D7D9DBDDDFE1E2E4E6E7E9EAECEDEEF0F1F2F3F4F5F5F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFABD0000000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBC1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBD0D1D3D4D4D6D7D9DADADCDDDEE0E0E3E4E5E7E7E8E9ECECEDEFEFF0F0F1F3F3F5F5F6F7F8F8F9F9F9F9FAFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEEECEBECEEEFEEEEECF3FBEBE6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1B9544E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848474747474646464544444444444344444444444544444444444444444444444344434343434343434343434343434242414141413F3F40404040403F3F3F3E3E3E3E3C3C3C3C3C3C39393A3A3A3A3A3838373737373737373737373735353535353636353535353535343434343434343333333333323231313131313131303030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B29292929292929292828282828282727272727272626252525252525252525252524242423233DBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD79201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919191717171717171716161615151516141414141515141414141413131313131313121212121111111111111018C9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D000000000000000000000000000000000000000000000000000000000000007FB2B4B7B9BBBEC0C2C5C7CACCCED0D2D4D7D9DBDDDEE0E2E4E5E7E9EAEBEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA820000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBECB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6CCD3D4D4D6D7D9DADADCDCDEE0E0E1E4E5E5E7E7E8EBECECEDEFF0F0F0F1F3F3F5F5F6F7F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E9E9E7E6E6E6E4E6E4E4E9F3E3DBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6C3544E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848474747474646464544444444444343444444444544444444444444434444444343424242424243434343424242424141414141413F3F40404040403F3F3F3D3D3D3C3C3C3C3A3A3A393A3A3A3A393938383737373737373737373737353535353536363535353535353434343434343433333333333232313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292928282828282828272727272727262525252525252524252525252424232323B0BDBDBDBDBDBDBDBDBDBDBDBDBDBDBD4120201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1919191919191919191917171717171716161615151515141414141515141414141413131313131313121212121111111111112BDCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD000000000000000000000000000000000000000000000000000000000000004DB2B4B7B9BBBDC0C2C5C7C9CBCED0D2D4D6D8DBDCDEE0E2E4E5E7E9EAEBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA4500000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFBD6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C4D4D6D7D8D9DADADCDCDDDEE0E1E3E4E5E7E7E8E9EBECECEDEFF0F0F0F1F3F3F5F5F6F6F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E4E6E6E6E6E6E6E7E7ECF4E4DCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1CB624E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848474747474646464544444444444343444444444544444444444444434343434343424242424243434343424242424141414141413F3F40403F3F3E3D3D3D3D3D3D3A3A3A3A3A3A3A393A393939393838383737373737373737373735353535353536353535353535353434343434343433333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292828282828282827272727272726252525252525252525252524242423237ABDBDBDBDBDBDBDBDBDBDBDBDBDBDA92020201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919191717171717171616161615151514141414151514141414141313131313131312121211111111111136E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC40700000000000000000000000000000000000000000000000000000000000023ABB4B6B8BBBDC0C2C4C6C9CBCDCFD2D4D6D8DADCDEE0E1E3E5E6E8EAEBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBDC1400000000000000000000000000000000000000000000000000000000000007E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBC6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BED6D7D8D9DADADCDCDDDEE0E0E3E4E5E5E7E7E8E9ECECEDEFEFF0F0F1F1F3F3F5F5F6F6F8F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF2F2F2F1F2F2F3F4F3F4F8FDEEE9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCCD6D4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494948484848484848474747474646464444444444444343444444444444444444444442424243434343424343434342424242414141413F3F3F3F40403F3F3F3F3F3E3E3D3C3C3C3C3C3A3A3A3A3A3A3A3939393939393838383737373737373737373735353535353536353535353535353434343434343333333333323231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2B2929292929292929282828282828272727272727262525252525252525252525252424242349BDBDBDBDBDBDBDBDBDBDBDBDBDBD6D202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919191717171717171716161615151516141414151514141414141413131313131312121211111111114AF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000079BB4B6B8BBBDBFC2C4C6C9CBCDCFD2D3D6D8D9DCDDE0E1E3E5E6E8E9EBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFAB40000000000000000000000000000000000000000000000000000000000000019EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCF5BCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B8D6D9DADADADCDDDDDEE0E0E3E4E5E5E7E7E8E9EBECECEDEFEFF0F0F1F3F3F5F5F5F6F6F7F8F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E1E3E2E3E3E4E6E4E4E6E9F4E3DCDCDEDFDFE1E1E1E2E1DFDEE1E1E2E3E3E4E6E4E3E2E2E3E3E3E4E4E4E6E4E3E3E3E3E3E3E3E2E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDEDEDFDEDEDEDEDEDEDEDFDEDEDEDEDEDFE1E1E2E2E3E3E3E3E3E3E3E2E2E2E1E1E1E1E1E2E1E1DFDFE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4DE754E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494948484848484848474747474646464444444444444343444444444442424444444442424242424242414343434342424242414141403F3F3F3F40403F3E3E3E3E3D3C3C3C3C3C3C3C3A3A39393A3A3A393939393939383838373737373737373737373535353535363635353535353534343434343434333333333332323131313131313130303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828282727272727272625252525252525252525252424242328B5BDBDBDBDBDBDBDBDBDBDBDBDBD3B202020201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919171717171717171616161515151614141415151414141414141313131313131212121111111166F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6230000000000000000000000000000000000000000000000000000000000000078B3B6B8BBBDBFC1C4C6C8CACDCFD1D3D6D7D9DBDDDFE1E2E4E6E7E9EAECEDEEF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA770000000000000000000000000000000000000000000000000000000000000035F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCE9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6D1DADADCDCDDDEE0E0E0E3E4E4E5E7E7E7E8E9ECECEDEDEFEFF0F0F1F3F3F5F5F5F6F6F8F8F9F9F9F9FAFAFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E1E1E3E3E4E3E3E2E3E6F2E1DADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E18C4E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A49494949494949484848484848484747474646464544444444444443434444444444424242424244424242424242414142424242424040404040403E3F3F3F3F3F3F3E3E3E3E3E3D3C3C3C3C3A3A3A393939393A3A3939393939393938383737373737373737373737353535353536363535353535353434343434343433333333333232313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828282727272727272625252525252525252525252424242388BDBDBDBDBDBDBDBDBDBDBDBDA92020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919191717171717171616161515151614141414151414141414141313131313131212121111118EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35000000000000000000000000000000000000000000000000000000000000004EB3B6B8BABCBFC1C4C6C8CACDCFD1D3D5D7D9DBDDDFE1E2E4E6E7E9EAEBEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA45000000000000000000000000000000000000000000000000000000000000004CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCE1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6CFDCDCDDDEDEE0E0E1E3E4E4E5E7E7E7E8E9EBECECEDEFEFF0F0F0F1F3F3F5F5F5F6F7F8F8F9F9F9F9FAFAFBFBFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E2E3E3E3E2E1E1E3E1E6EFE1D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2AA4E4E4E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949484848484848484747474646464544444444444443434444444442424242424242414141414242414142424242404040404040403F3F3F3F3F3F3E3E3E3E3E3E3C3B3B3B3A3A3A3A393939393A3A3939393939393938383737373737373737373737353535353536353535353535353434343434343433333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292929282828282828272727272727262525252525252525252525252424235BBDBDBDBDBDBDBDBDBDBDBDBD662020202020201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919171717171717161616151515151414141415151414141414131313131313121212111AADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60000000000000000000000000000000000000000000000000000000000000002AB3B6B8BABCBFC1C4C6C8CACDCFD0D3D5D7D9DBDDDEE0E2E4E5E7E9EAEBECEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBE61E0000000000000000000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBDDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3CFDDDEE0E0E0E0E3E3E4E5E5E7E7E7E8E9EBECECEDEDEFEFF0F0F1F1F3F3F5F5F5F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEDEDEDEDBDBDADADADBDBDFE6D7D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2BB544E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A49494949494949484848484848484747474646464544444444444443434444444442424242424242414141414242404040404042424040404040403F3F3F3F3E3E3D3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A3A3939393939393838383737373737373737373735353535353536353535353535353434343434343333333333323231313131313131303030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828282727272727272625252525252525252525252424242CBDBDBDBDBDBDBDBDBDBDBDBD32202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A191919191919191919191717171717171616161615151514141414151514141414141313131313131212122DCAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A00000000000000000000000000000000000000000000000000000000000000159DB6B8BABCBFC1C3C5C7CACCCED0D3D4D7D9DBDCDEE0E2E4E5E7E8EAEBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFBFBFBC80A0000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBD6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3CBE0E0E0E1E3E3E4E4E5E5E7E7E7E8E9EBECECECEDEFEFF0F0F0F1F3F3F5F5F5F5F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEAEAEAEBEAEAE9EBEAEFF8E9E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCC6614E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484847474746464645444444444444434344444444424242424242424141414142424040404040403E3E3E3F3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A3A39393939393938383837373737373737373737353535353536363535353535353534343434343433333333333232313131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828272727272727262525252525252524252525252424239BBDBDBDBDBDBDBDBDBDBD9B22202020202020201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919171717171717171616161515151414141415151414141414131313131311121236E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97000000000000000000000000000000000000000000000000000000000000000088B5B7B9BCBFC1C3C5C7CACCCED0D2D4D7D8DBDCDEE0E2E4E5E6E8EAEBECEEEFF0F1F2F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFA9F000000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFBDDB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5CDE1E3E3E3E4E5E5E5E7E7E7E8E8E9EBECECECEDEFEFF0F0F0F1F1F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFCFCFDFCFCFBFBFCFBFDFFF3EFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFD6734E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444444444444434444444444424242424242414141414142424040404040403E3E3E3F3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A3A393939393A3A3939393939393938383837373737373737373737353535353536363535353535353434343434343433333333333232313131313131303030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292928282828282827272727272726252525252525252525252524242467BDBDBDBDBDBDBDBDBDBD672222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919171717171717171616161515151414141415151414141414131313131311125DF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2000000000000000000000000000000000000000000000000000000000000000064B5B7B9BCBEC1C3C5C7CACCCED0D2D4D6D8DADCDEE0E1E3E5E6E8E9EBECEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA640000000000000000000000000000000000000000000000000000000000000000B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBDDB6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B5D5E4E4E5E5E5E5E7E7E7E8E8E9E9EBECECECEDEFEFEFF0F0F1F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECDADADADADADADADCDEDCE1ECDCD6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1914E4E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444444444443434444444444424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A3A393939393A3A3939393939393938383737373737373737373737353535353536353535353535353434343434343433333333333231313131313131303030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292928282828282828272727272726252525252525252425252525242438BDBDBDBDBDBDBDBDBDBD322222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191919171717171717161616151515141414141515141414141313131313131290FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC407000000000000000000000000000000000000000000000000000000000000003AB5B7B9BCBEC0C2C5C7C9CBCED0D2D4D6D8DADCDEE0E1E3E5E6E7E9EBECEDEEEFF0F2F3F4F4F5F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBF03C0000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFBE9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B9D6E5E5E7E7E7E7E7E8E8E9E9EBECECECEDEDEFEFF0F0F0F0F1F3F3F3F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E1E1E1E1E1E1E1E1E3E6F1E1DAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7A6544E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444444444443434444444444424242424242414141414242404040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3C3C3C3C3C3B3B3B3A3A3A3A393939393A3A39393939393939383837373737373737373737373535353535363535353535353534343434343433333333333232313131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2929292929292929282828282828272727272727262525252525252525252525242424A8BDBDBDBDBDBDBDBD8F222222222020202020201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191717171717171616161515151614141415151414141413131313131BC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4070000000000000000000000000000000000000000000000000000000000000024AEB7B9BCBEC0C2C5C7C9CBCED0D2D4D6D8DADCDDDFE1E3E5E6E7E9EAECEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBDC1E0000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCF1C1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C1E1E7E7E7E7E8E8E9E9E9EBECECECECEDEDEFEFF0F0F0F0F1F3F3F3F5F5F5F5F6F6F7F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF3F4F4F3F3F3F3F4F4F3F9FDEEE7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCC3614E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444444444443434444444444424242424242414141414142404040404040403E3E3E3F3F3F3D3E3E3E3E3E3D3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A3A39393939393938383837373737373737373737353535353536363535353535353534343434343433333333333232313131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292928282828282828272727272726262525252525252425252525242474BDBDBDBDBDBDBDBD5A22222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919171717171717161616151515161414141515141414141313131338E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD907000000000000000000000000000000000000000000000000000000000000000E9FB7B9BCBEC0C2C5C7C9CBCECFD2D4D6D8D9DCDDDFE1E2E4E6E7E9EAEBEDEEEFF0F2F3F3F4F5F6F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBC80A0000000000000000000000000000000000000000000000000000000000000007D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCF9D1B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3CCE8E8E8E9E9E9E9EBECECECECECEDEDEFEFEFF0F0F0F0F1F3F3F3F5F5F5F5F6F6F7F8F8F8F9F9F9F9F9FAFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E7E7E7E9E7E6E6E7E9E9ECF4E3DBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFD6794E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949484848484848484747474746464544444444444443434444444442424242424242414141414242404040404040403E3E3F3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A3A39393939393938383837373737373737373737353535353536363535353535353434343434343433333333333232313131313131303030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292928282828282827272727272726252525252525252525252524244ABDBDBDBDBDBDBDBD2C22222222202020202020201F1F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191717171717171616161515151614141415151414141413131368F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000078AB7B9BCBEC0C2C5C7C9CBCECFD2D3D6D8D9DBDDDFE1E2E4E6E7E9EAEBECEEEFF0F2F3F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBA0000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBE6BFB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BCDDEBEBEBECECECECECECECEDEDEDEFEFEFF0F0F0F0F1F1F3F3F3F5F5F5F5F6F6F6F7F8F8F9F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8ECEEEFEEECECEBEAEBE9EFF9E9E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDC934E4E4E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4B4B4B4B4B4B4B4B4A4A4A4A4A4A4A4949494949494848484848484847474746464645444444444444434344444444424242424242424141414142424040404040403E3E3E3F3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A3A393939393A3A39393939393939383837373737373737373737373535353535363535353535353534343434343434333333333232313131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828282727272727272625252525252524252525252424B0BDBDBDBDBDBD8F232322222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919191917171717171716161615151516141414151514141414131B9AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000006DB7B9BCBEC0C2C5C7C9CBCDCFD2D3D6D7D9DBDDDFE1E2E4E6E7E9EAEBECEEEFF0F1F2F3F4F5F6F7F7F8F8F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA77000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBF9D4B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6D1ECECECECECECECEDEDEDEDEFEFEFEFF0F0F0F0F1F1F1F3F3F3F5F5F5F5F6F6F6F7F8F8F8F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF2F2F2F2F3F3F1F2F2F3F7FDECE6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6B0594E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A4A4949494949494848484848484847474746464645444444444444434344444444424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A3A393939393A3A39393939393939383837373737373737373737353535353535363535353535353534343434343433333333333232313131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828272727272727262525252525252525252525242488BDBDBDBDBDBD54232322222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A191919191919191919171717171717161616151515161414141514141414142ED3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000000048B7B9BCBEC0C2C5C7C9CBCDCFD1D3D6D7D9DBDDDEE0E2E4E5E7E9EAEBECEEEFF0F1F2F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA45000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBEFCCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C5E7EDEDEDEDEDEFEFEFEFEFEFEFF0F0F0F0F0F1F1F1F3F3F3F3F5F5F5F5F6F6F6F7F8F8F8F9F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9D7D7D7D7DADADADADBDBE1EADAD5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCCE724E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484847474746464645444444444443434344444444424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A3A39393939393938383837373737373737373737353535353536363535353535353434343434343433333333333231313131313131303030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B29292929292929292828282828282727272727272625252525252525252525252450BDBDBDBDBDB52823232322222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919171717171716161615151516141414151414141456F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000002BB7B9BCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E7E8EAEBECEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBF032000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBEFCCB3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6CBE6EFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F3F3F3F3F5F5F5F5F5F6F6F6F7F8F8F8F9F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EEEFEEECECECECECECEAEEF8E7E1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDE954E4E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444444444443434444444444424242424242414141414142404040404040403E3E3E3F3F3F3D3E3E3E3E3E3D3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A3A393939393939383838373737373737373737373535353535363535353535353534343434343434333333333332313131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828272727272727262525252525252525252525242DBDBDBDBDBD882323232322222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191717171717161616151515141414141514141C9BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000000016B0B9BCBEC0C2C5C6C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8EAEBECEEEFF0F1F2F3F4F4F5F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBDC1E000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFBFBFBEFD1B9B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3BBD0EBF0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F3F3F3F3F3F5F5F5F5F5F5F6F6F6F7F8F8F8F9F9F9F9F9F9FAFAFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E6E6E4E6E6E6E6E6E7ECF6E6DCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEC6644E4E4E4E4E4E4E4E4D4D4D4D4D4D4D4D4B4B4B4B4B4B4B4A4A4A4A4A4A4A494949494949494848484848484747474746464645444444444443434444444444424242424242414141414242404040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A39393939393939383838373737373737373737373535353535363535353535353534343434343433333333333232313131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2929292929292929282828282828272727272727262525252525252425252525248FBDBDBDBD4F2323232323222222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191919171717171716161615151514141415151439D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61900000000000000000000000000000000000000000000000000000000000000000EA1B9BCBEC0C2C5C6C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8E9EBECEDEFF0F1F2F3F4F4F5F6F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBC80A000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBE3C9B6B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B6C9DFF1F1F1F1F1F1F1F1F1F1F1F1F1F1F3F3F3F3F3F3F3F5F5F5F5F5F5F5F6F6F6F7F7F8F8F8F9F9F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEEECECEBEAEAE9EBEBF1F8E7DEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3793131313131303030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292828282828282727272727272625252525252525252525252460BDBDBDB527232323232322222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919191717171717161616151515141414151569F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6350000000000000000000000000000000000000000000000000000000000000000078BB9BCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8E9EBECEDEEEFF0F2F3F4F4F5F6F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBB400000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFAF7E4D3C4B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3C3D1E3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F5F5F5F5F5F5F5F5F5F6F6F6F7F7F8F8F8F8F9F9F9F9F9F9F9FAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEDEDFE1E1E1E2E1E1E1E1E3EEDED9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADA743131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292928282828282827272727272726252525252525242525252534BDBDBD8123232323232323222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A19191919191919191917171717171616161515151414141CB7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63500000000000000000000000000000000000000000000000000000000000000000075B9BCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDDDEE0E2E4E5E6E8E9EBECEDEEEFF0F2F3F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFB9600000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAF9F3EADBD0C8C1BCB3B3B3B3B3B3BBC1C9D2D8E7F2F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F7F7F8F8F8F8F9F9F9F9F9F9F9FAFAFAFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAECECEAEBEAEAEBECECF1F9E9E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E17A313131313131303030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A2929292929292928282828282827272727272726252525252525252525252524A2BDBD4923232323232323222222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1919191919191919191717171717161616151516141456E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE32C00000000000000000000000000000000000000000000000000000000000000000060BABCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDCDEE0E2E4E5E6E7E9EBECEDEEEFF0F2F3F3F4F5F6F7F7F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFB6400000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F7F7F7F8F8F8F8F9F9F9F9F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEAE9E9E9E9E9E9E9E9ECF7E6DEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EA7E3131313131313130303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292828282828282727272727272625252525252524252525246EBDB0232323232323232322222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A19191919191919191917171717171616161515161D91FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3190000000000000000000000000000000000000000000000000000000000000000004ABABCBEC0C2C5C7C9CBCDCFD1D3D5D7D9DBDCDEE0E2E4E5E6E7E9EAECEDEEEFF0F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFA6400000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E6E6E3E4E2E2E3E2E2E9F1DFD7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E77D32313131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A292929292929292828282828282727272727272625252525252525252525253FBD7A232323232323232323222222202020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A191919191919191919171717171716161615153BDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE31900000000000000000000000000000000000000000000000000000000000000000033BABCBFC1C2C5C7C9CBCDCFD1D3D5D7D9DBDCDEE0E1E3E5E6E7E9EAECEDEEEFF0F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBF03C00000000000000000000000000000000000000000000000000000000000000000019CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E4E6E6E4E6E4E4E4E3E2E6F2E1DADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9803232313131313131303030303030302F3030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292929282828282828272727272727262525252525252525252524B04A232323232323232323222222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191917171717171616151586F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3190000000000000000000000000000000000000000000000000000000000000000002CB3BCBFC1C3C5C7C9CBCDCFD1D3D5D7D9DBDCDEE0E1E3E5E6E7E9EAECEDEEEFF0F2F2F3F4F5F6F7F7F8F8F9F9FAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBF03C00000000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAECEBEBECECECEBEBECEFF8E6DEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E77D3332313131313131313030303030302F303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A29292929292929282828282828272727272727262525252525252525252525682423232323232323232322222222202020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1919191919191919171717171716163BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD91900000000000000000000000000000000000000000000000000000000000000000016B4BDBFC1C3C5C7C9CBCECFD2D3D5D7D9DBDCDEE0E1E3E5E6E7E9EAECEDEEEFF0F2F2F3F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBDC1E00000000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBECEBEBEBEAE9E7E7E6EAF6E6E1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E77D333232313131313131303030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929292828282828282727272727262525252525252525252525242424232323232323232323222222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A191919191919191917171717171F91F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC40700000000000000000000000000000000000000000000000000000000000000000016A4BDBFC1C3C5C7C9CBCECFD2D3D6D7D9DBDDDEE0E1E3E5E6E7E9EAEBEDEEEFF0F2F2F3F4F5F5F7F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBDC1E00000000000000000000000000000000000000000000000000000000000000000007A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E3E2E3E4E4E3E3E3E3E7EFDFD9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E27A3333323231313131313130303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A292929292929292828282828282727272727272625252525252524252525242424232323232323232323222222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A19191919191919171717171744DEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC407000000000000000000000000000000000000000000000000000000000000000000079DBDBFC1C4C5C7CACBCED0D2D3D6D7D9DBDDDEE0E2E3E5E6E7E9EAEBEDEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFBFBFBC80A0000000000000000000000000000000000000000000000000000000000000000000097FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E4E3E3E3E3E3E2E3E3E7EFE1DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADA7533333332313131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292928282828282827272727272625252525252525252525252424232323232323232323222222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A1919191919191919171717209CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000000000000078EBDC0C1C4C6C7CACCCED0D2D4D6D7D9DBDDDEE0E2E4E5E6E7E9EAEBEDEEEFF0F1F2F3F4F5F5F7F7F8F8F9F9FAFBFBFBFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFBBE0A0000000000000000000000000000000000000000000000000000000000000000000075FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E6E3E3E3E3E4E3E6E7EBF4E4DBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADA75333333323231313131313130303030303030303030302F2F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A292929292929292828282828282727272727272625252525252525252525242424232323232323232323222222202020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A1919191919191919171762E6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9700000000000000000000000000000000000000000000000000000000000000000000078FBDC0C2C4C6C8CACCCED0D2D4D6D8D9DBDDDEE0E2E4E5E6E7E9EAEBEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFCFCFCFCFBFBFBBE0A0000000000000000000000000000000000000000000000000000000000000000000060FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E6E7E7E9E9E9EAEBEBF1F9EAE3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDE783333333332313131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A2929292929292928282828282827272727272625252525252525252525252424232323232323232323222222222020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A191919191919191933B8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A00000000000000000000000000000000000000000000000000000000000000000000008FBEC0C2C4C6C8CACCCED0D2D4D6D8D9DBDDDEE0E2E4E5E6E7E9EAEBEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBBE0A0000000000000000000000000000000000000000000000000000000000000000000040F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E3E3E4E6E6E4E6E6E6ECF4E4DEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DADADADAD9D7D6D5D5D5D3D3D1D3D3D1D1D3D3D3D3D3D3D3D1D1D1D0D1D1D1D0D1D1D1D3D1D3D3D5D775333333333232313131313131303030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A2929292929292928282828282827272727272726252525252525252525252424232323232323232323222222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A1919191919191980F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF655000000000000000000000000000000000000000000000000000000000000000000000071BEC0C2C5C6C9CACDCED0D2D4D6D8D9DBDDDEE0E2E4E5E6E7E9EAECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFB96000000000000000000000000000000000000000000000000000000000000000000000035E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEFEEEFEFEFEFF2F3F3F7FDEEE7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDC7A333333333332323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A29292929292928282828282827272727272726252525252525252525252424242323232323232323232222222020202020201F1F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A19191919194FDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF635000000000000000000000000000000000000000000000000000000000000000000000071BFC1C2C5C7C9CBCDCFD0D2D4D6D8D9DBDDDEE0E2E4E5E6E8E9EAECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFB96000000000000000000000000000000000000000000000000000000000000000000000019D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFEFEEEEEFF1EFEFEEEEF3FBEAE2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D67534333333333332313131313131313030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A2929292929292928282828282827272727272625252525252525252525252424232323232323232323222222202020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A19191934AEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE319000000000000000000000000000000000000000000000000000000000000000000000071BFC1C3C5C7C9CBCDCFD0D3D4D6D8DADCDDDFE1E2E4E5E6E8E9EBECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFB96000000000000000000000000000000000000000000000000000000000000000000000007C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E7E7E6E7E7E7E7E6E4E9F2E2DADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E97E34333333333332323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2929292929292928282828282827272727272726252525252525252525252424232323232323232323222222222020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1B1A1A1A192188F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC40F000000000000000000000000000000000000000000000000000000000000000000000071BFC1C4C5C7C9CBCDCFD1D3D4D7D8DADCDDDFE1E2E4E5E6E8E9EBECEDEEEFF0F1F2F3F4F5F5F6F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFA9600000000000000000000000000000000000000000000000000000000000000000000000797FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFF1F1EFF2F3F2F4F3F3F7FDECE7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9753434333333333332313131313131313030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A29292929292929282828282828272727272726252525252525252525252424232323232323232323222222222020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1A1A1A196DDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA207000000000000000000000000000000000000000000000000000000000000000000000071C0C2C4C6C7CACBCECFD1D3D5D7D8DADCDDDFE1E2E4E5E7E8E9EBECEDEEEFF0F2F2F3F4F5F5F6F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFA960000000000000000000000000000000000000000000000000000000000000000000000006AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EEEEEEEFEEEEEEECEEEFF3FBEAE3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDC783434343333333332323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B29292929292929282828282828272727272726252525252525252525252424242323232323232323222222222020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B1A1A51CDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7500000000000000000000000000000000000000000000000000000000000000000000000072C0C2C4C6C8CACCCED0D2D3D5D7D9DBDCDEE0E1E2E4E5E7E8EAEBECEDEEEFF0F2F2F3F4F5F5F6F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFA9600000000000000000000000000000000000000000000000000000000000000000000000035F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEBEBEBEBEBEAE9E9E9ECF4E4DCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E97E343434333333333332313131313131313030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2A292929292929282828282828272727272727262525252525252525252524242323232323232323232222222020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B1B1B35AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64C00000000000000000000000000000000000000000000000000000000000000000000000073C1C2C5C6C9CACCCED0D2D4D6D7D9DBDCDEE0E1E2E4E6E7E8EAEBECEDEEEFF0F2F2F3F4F5F5F6F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFA9600000000000000000000000000000000000000000000000000000000000000000000000019E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEEECECECECECEEEFEFF2FBEAE4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E17A343434343333333332323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A292929292929292828282828282727272727262525252525252525252524242323232323232323232222222020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B1B1B2C9EF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE32C00000000000000000000000000000000000000000000000000000000000000000000000073C1C3C5C7C9CBCDCED0D2D4D6D8D9DBDDDEE0E1E3E4E6E7E9EAEBECEDEEEFF0F2F2F3F4F5F5F7F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFB9600000000000000000000000000000000000000000000000000000000000000000000000007B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7ECECECECEBEAE9E9EAEBF1F9E9E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E17A34343434333333333332313131313131313030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B292929292929292828282828282727272727262525252525252425252524242323232323232323232222222020202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B1B1B2394F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC40F00000000000000000000000000000000000000000000000000000000000000000000000073C1C4C5C7C9CBCDCFD0D3D4D6D8D9DBDDDEE0E1E3E5E6E7E9EAEBECEDEEEFF0F2F3F3F4F5F5F7F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFB960000000000000000000000000000000000000000000000000000000000000000000000000082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F3F2F2F3F4F4F4F6F4F9FDEFEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D67534343434343333333332323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A2929292929292828282828282727272727262525252525252525252524242423232323232323232222222220202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B1B1B2480F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D0700000000000000000000000000000000000000000000000000000000000000000000000073C2C4C6C8CACBCDCFD1D3D4D7D8DADCDDDEE0E2E3E5E6E7E9EAEBECEEEFEFF0F2F3F3F4F5F5F7F7F8F8F9F9FAFAFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBAA0A0000000000000000000000000000000000000000000000000000000000000000000000004CF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E4E4E6E7E6E6E4E4E4E4EAF3E2DADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDE7A3434343434333333333332313131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A2929292929292928282828282827272727272625252525252525252525242423232323232323232222222220202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1D1B1B2482F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6550000000000000000000000000000000000000000000000000000000000000000000000000074C2C5C6C8CACCCECFD2D3D5D7D8DADCDDDFE1E2E4E5E6E7E9EAEBECEEEFF0F0F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBBE0A00000000000000000000000000000000000000000000000000000000000000000000000023D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E3E2E1E3E4E6E4E6E7EEF8E7DEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDE793434343434343333333332323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B2929292929292928282828282827272727272625252525252525252525242423232323232323232222222220202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D1D1B2482F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE32C0000000000000000000000000000000000000000000000000000000000000000000000000774C3C5C7C9CACDCED0D2D4D6D7D9DBDCDDDFE1E2E4E5E6E7E9EAEBECEEEFF0F1F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBBE0A00000000000000000000000000000000000000000000000000000000000000000000000007ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF4F3F4F4F4F6F6F6F8F8FCFFF2EEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADA7A343434343434333333333332313131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A29292929292928282828282827272727272625252525252525252525242423232323232323232222222220202020201F1F1F1F1F1F1F1F1D1D1D1D1D1D1D2582F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9070000000000000000000000000000000000000000000000000000000000000000000000000893C4C5C7C9CBCDCFD0D2D4D6D7D9DBDCDEE0E1E2E4E5E7E8E9EAEBECEEEFF0F1F2F3F3F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBBE0A000000000000000000000000000000000000000000000000000000000000000000000000006AF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAE9E7E6E7E6E4E6E7E7EAF4E4DBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7C385504A4A4A49494949494949484848484848484747474746464645444444444443434444444444424242424242414141414142404040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A3A393939393939383837373737373737373737353535353536353535353535343434343434343333333332323131313131313030303030302F303030302F2E2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A29292929292929282828282827272727272625252525252525252525242423232323232323232222222220202020201F1F1F1F1F1F1F1F1D1D1D1D1D2582F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75000000000000000000000000000000000000000000000000000000000000000000000000000894C4C6C8CACBCDCFD1D3D4D6D8D9DBDDDEE0E1E3E4E6E7E8EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBDC1E000000000000000000000000000000000000000000000000000000000000000000000000002CE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBECECEAEBEBEAEAEBEAF1F9E9E1DFDEDEDFDEDEDEDEDEDEDEDFDEDEDEDEDEDFE1E1E2E2E3E3E3E3E3E3E3E2E2E2E1E1E1E1E1E2E1E1DFDFE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1D68E514A49494949494949494848484848484847474746464645444444444444434344444444424242424242424141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A3939393939393838383737373737373737373535353535363635353535353534343434343433333333333231313131313130303030303030303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B29292929292929282828282828272727272726252525252525252525242423232323232323232222222220202020201F1F1F1F1F1F1F1D1D1D1D2E9FF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE335000000000000000000000000000000000000000000000000000000000000000000000000001794C5C6C8CACCCECFD2D3D5D7D8DADCDDDEE0E2E3E5E6E7E9EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBDC1E0000000000000000000000000000000000000000000000000000000000000000000000000007ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEEEEEEEEECECECEEEEF3FBEBE3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBD69D5549494949494949484848484848484747474746464645444444444443434344444444424242424242414141414142404040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A3A393939393939383837373737373737373737353535353536353535353535343434343434343333333332323131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2C2B2B2B2B2B2A292929292929282828282828272727272726252525252525252525242423232323232323232222222220202020201F1F1F1F1F1F1F1D1D439FF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB90F0000000000000000000000000000000000000000000000000000000000000000000000000017ACC5C7C9CBCDCED0D2D3D6D7D9DBDCDDDFE0E2E4E5E6E7E9EAEBECEDEEEFF0F2F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBF03C00000000000000000000000000000000000000000000000000000000000000000000000000006AF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F3F3F4F4F4F3F4F3F3F9FFEEEAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDED7AA624949494949484848484848484847474746464645444444444444434344444444424242424242424141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A393939393939383838373737373737373737353535353536363535353535353434343434343333333333323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A292929292929282828282828272727272726252525252525252525242424232323232323232222222220202020201F1F1F1F1F1F1F54B1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7500000000000000000000000000000000000000000000000000000000000000000000000000001FACC6C7CACBCDCFD0D2D4D6D7D9DBDCDEDFE1E2E4E5E6E7E9EAEBECEEEFEFF0F2F2F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBF03C00000000000000000000000000000000000000000000000000000000000000000000000000002CE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF2F3F2F2F3F4F3F3F4F4F8FDECE7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1B37749494948484848484848484747474746464645444444444443434344444444424242424242414141414142424040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A3A393939393939383837373737373737373737353535353536353535353535343434343434333333333332313131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A292929292929292828282828272727272726252525252525252525242424232323232323232222222220202020201F1F1F1F1F70D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE33500000000000000000000000000000000000000000000000000000000000000000000000000002FBDC6C8CACCCECFD1D3D4D6D8D9DBDDDEE0E1E2E4E5E6E8E9EAEBECEEEFF0F0F2F3F3F4F5F5F6F7F8F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBF06400000000000000000000000000000000000000000000000000000000000000000000000000000797FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E6E6E6E7E7E7E7E7E9EEF8E9DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFC88D5049484848484848484747474746464645444444444444434344444444424242424242424141414142424040404040403E3E3E3F3F3F3F3E3E3E3E3E3E3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A393939393939383838373737373737373737373535353536353535353535353434343434343333333332323131313131313030303030302F303030302F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2B292929292929292828282828272727272726252525252525252525242423232323232323232222222020202020201F1F318DF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD0700000000000000000000000000000000000000000000000000000000000000000000000000003FBDC7C9CBCDCED0D2D3D5D7D8DADCDDDEE0E1E3E4E6E7E8E9EAEBECEEEFF0F1F2F3F3F4F5F5F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFA780000000000000000000000000000000000000000000000000000000000000000000000000000004CEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFF1EFEEECECECECEEEFF4FBECE4E3E3E3E3E3E3E3E2E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDEDEDFDEDEDEDEDEDEDEDFDEDEDEDEDEDFE1E1E2E2E3E3E3E3E3E3E3E2E2E2E1E1E1E1E1E2E1E1DFDFE1E1DFE1E1E2E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1DAA669484848484848484747474646464545444444444443434444444444424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A3A3939393939393838373737373737373737373535353535363535353535353434343434343333333333323131313131313030303030302F303030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A29292929292928282828282727272727262525252525252525252424242323232323232322222220202020201F55B1F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6550000000000000000000000000000000000000000000000000000000000000000000000000000004EC6C8CACBCDCFD0D2D4D6D7D9DBDCDDDFE0E2E3E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFB960A000000000000000000000000000000000000000000000000000000000000000000000000000019B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E9E7E9E7E9E9E7E9E9EAEEF8E6DFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DADADADAD9D7D6D5D5D5D3D3D1D3D3D1D1D3D3D3D3D3D3D3D1D1D1D0D1D1D1D0D1D1D1D3D1D3D3D5D7D7D7D7D7D7D9D7D7D7D7D5D6D6D7D7D5D5BA814E484848484747474746464645444444444444434344444444424242424242424141414142424040404040403E3E3E3F3F3F3F3E3E3E3E3E3E3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A393939393939383838373737373737373737353535353536353535353535353434343434333333333332323131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A2929292929292828282828282727272726252525252525252525242423232323232323232222222020203285DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE1900000000000000000000000000000000000000000000000000000000000000000000000000000076C7C9CACCCECFD1D3D4D6D8D9DBDCDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9FAFAFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBBE0A00000000000000000000000000000000000000000000000000000000000000000000000000000075F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E9EAEBEAECECEBEEECECF3FCEBE4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1D5A6694848474747474646464544444444444443434444444444424242424242414141414142404040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A393939393939383838373737373737373737373535353536363535353535353434343434343333333332323131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A2929292929292828282828282727272726252525252525252525242423232323232323232222222055B3F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75000000000000000000000000000000000000000000000000000000000000000000000000000000088FC7C9CBCDCED0D2D3D5D7D8DADCDDDEE0E1E2E4E5E6E8E9EAEBECEEEFEFF0F2F2F3F4F4F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBD21E00000000000000000000000000000000000000000000000000000000000000000000000000000023CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAEAEBEAEAEBEAEAEBE9EEF8E9E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCC38C534747474646464544444444444443434444444444424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3D3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A3939393939393838373737373737373737373535353535363535353535353434343434343333333333323131313131313030303030302F303030302F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A292929292929282828282828272727272625252525252525252524242323232323232323223C8DE7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD92C0000000000000000000000000000000000000000000000000000000000000000000000000000001897C8CACBCDCFD0D2D4D6D7D9DBDCDDDFE0E2E3E4E6E7E8E9EAEBECEEEFF0F0F2F3F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBDC3C0000000000000000000000000000000000000000000000000000000000000000000000000000000075F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFDFE1DFDFE1E1E1DFE3ECDED7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEAE7A474646464545444444444444434344444444424242424242424141414142424040404040403E3E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A39393939393938383837373737373737373735353535353636353535353535343434343434333333333232313131313131303030303030303030302F2F2E2E2E2E2E2E2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B2A292929292929282828282828272727272625252525252525252524242323232323232A6BC7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF820700000000000000000000000000000000000000000000000000000000000000000000000000000020AFC9CACCCECFD1D3D4D6D8D9DBDCDEDFE1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBF05A0000000000000000000000000000000000000000000000000000000000000000000000000000000023CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEEEEEFEEEFEFF1F1F1F6FDEEE9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6CBA07046464544444444444443434444444444424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A3A3939393A3A3A3939393939393838373737373737373737373535353535363535353535353434343434343333333332323131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2B2B2B2B2B2B292929292929282828282828272727272625252525252525252524242323232361BBF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD92C0000000000000000000000000000000000000000000000000000000000000000000000000000000040C0CACBCDCFD0D2D3D5D7D8DADCDDDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFA82000000000000000000000000000000000000000000000000000000000000000000000000000000000075F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EEEEEEEEEEEEEEEEECECF1F8E7DFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBD9A26944444444444443434444444444424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A3939393939393838383737373737373737373535353535363535353535353434343434343333333333323131313131313030303030302F3030302F2F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B292929292929282828282828272727272625252525252425252524242361ABF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8207000000000000000000000000000000000000000000000000000000000000000000000000000000005FC9CACCCECFD1D3D4D6D7D9DBDCDDDFE0E2E3E4E6E7E8E9EAEBECEEEFEFF0F1F2F3F4F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFAAA0A0000000000000000000000000000000000000000000000000000000000000000000000000000000023CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEBEBECEBECECEBEAEBF1F9E9E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCCC97664444444343444444444442424242424242414141414242404040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A3939393939393838383737373737373737373735353535363635353535353534343434343433333333323131313131313030303030302F303030302F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B292929292929282828282828272727272625252525252525252461ABF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE2C00000000000000000000000000000000000000000000000000000000000000000000000000000000087FC9CBCDCED0D2D3D5D7D8D9DBDCDEDFE1E2E4E5E6E7E9EAEBECECEEEFF0F0F2F2F3F4F4F5F6F7F7F8F8F9F9FAFAFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBD21E000000000000000000000000000000000000000000000000000000000000000000000000000000000060F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEECECEBECECEBEBECECF1F8E7DFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1D0A0724343444444444442424242424242414141414142404040404040403E3E3E3F3F3F3D3E3E3E3E3E3D3D3C3C3C3C3C3B3B3A3A3A3A3939393A3A3A39393939393938383737373737373737373735353535353635353535353534343434343433333333323231313131313130303030302F303030302F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B292929292929282828282827272727272625252525252562ACF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67500000000000000000000000000000000000000000000000000000000000000000000000000000000001899CACCCECFD1D2D4D6D7D9DADCDDDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBE63C000000000000000000000000000000000000000000000000000000000000000000000000000000000019ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E3E4E6E4E6E6E6E6E7E9ECF6E4DCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9CDA6765044444442424242424242414141414142424040404040403E3E3E3F3F3F3D3E3E3E3E3E3E3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A393939393939383837373737373737373737353535353536353535353535343434343434333333333232313131313131303030303030303030302F2E2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B292929292929282828282827272727272525253675BDF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB919000000000000000000000000000000000000000000000000000000000000000000000000000000000030B1CBCDCED0D2D3D5D6D8D9DBDCDDDFE0E2E3E4E6E7E8E9EAEBECEEEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFA770000000000000000000000000000000000000000000000000000000000000000000000000000000000004CEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE1E2E2E2E3E6E6E6E7E7EEF7E6DEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADAB28E5F42424242424242414141414142424040404040403E3E3E3F3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A393939393939383838373737373737373737353535353536353535353535343434343434333333333332313131313131303030303030303030302F2F2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2B29292929292928282828282727272726518FD0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED5500000000000000000000000000000000000000000000000000000000000000000000000000000000000058C2CCCECFD0D2D4D6D7D8DADCDDDEE0E1E2E4E5E6E7E9EAEBECECEEEFF0F0F2F2F3F4F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFBFBFBFAAA0A0000000000000000000000000000000000000000000000000000000000000000000000000000000000078DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFEEEEECEEEEECECEEEFF4FCEBE6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBD9B47D5042424241414141414242404040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3B3B3B3A3A3A393939393A3A3A39393939393938383737373737373737373735353535363635353535353434343434343333333333323131313131313030303030302F3030302F2F2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2A2929292929292828282828273775B4F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970F00000000000000000000000000000000000000000000000000000000000000000000000000000000000881CBCDCED0D2D3D4D6D8D9DBDCDDDFE0E1E3E4E5E6E7E9EAEBECEDEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBD22800000000000000000000000000000000000000000000000000000000000000000000000000000000000023C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEBEBECECECECECECECF3FBEAE3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBBF966F47414141414242404040404040403E3E3E3F3F3F3E3E3E3E3E3E3D3D3C3C3C3C3C3B3B3A3A3A3A3939393A3A3A39393939393938383737373737373737373735353535363635353535353534343434343433333333323131313131313030303030302F3030302F2F2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2C2B2B2B2B2A29292929292928283A63A3E0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE2C00000000000000000000000000000000000000000000000000000000000000000000000000000000000018A2CCCECFD0D2D4D6D7D8DADBDDDEE0E1E2E4E5E6E7E8E9EAEBECEEEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9FAFAFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBF0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000055EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF4F7F7F6F7F6F3F4F4F4F9FFEFE9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7C39A71504242404040404040403E3E3E3F3F3F3D3E3E3E3E3E3D3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A39393939393938383737373737373737373735353535353635353535353534343434343433333333323131313131313030303030302F3030302F2F2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2B2B2B2B2B2A292929293A6EA3E0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED600000000000000000000000000000000000000000000000000000000000000000000000000000000000000038BBCDCED0D2D3D4D6D8D9DBDCDDDEE0E1E2E4E5E6E7E9EAEBECEDEEEFF0F0F2F2F3F4F4F5F6F7F7F8F8F8F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFA8C0A000000000000000000000000000000000000000000000000000000000000000000000000000000000000078DF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD7D7D7D9DADADADADBDCE1EADBD6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9C19F785B40404040403E3E3E3F3F3F3E3E3E3E3E3E3E3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A39393939393938383837373737373737373735353535353635353535353534343434343433333333323131313131313030303030302F3030302F2F2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2B2B2B2B2B294B81B5E0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF970F000000000000000000000000000000000000000000000000000000000000000000000000000000000000006ACDCECFD1D2D4D6D7D8DADBDDDEDFE1E2E3E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F3F4F4F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAC81E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000023ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEEEEEFF1F2F2F2F3F4F9FFEFEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDED5B68F6D4D3E3E3E3F3F3F3D3E3E3E3E3E3E3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A39393939393938383837373737373737373735353535353635353535353534343434343433333333323131313131313030303030302F3030302F2F2E2E2E2E2E2D2D2D2D2D2D2C2C2C2C2C2B446F9BC9F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC42300000000000000000000000000000000000000000000000000000000000000000000000000000000000000199BCDCFD0D2D3D5D6D8D9DBDCDDDEE0E1E2E4E5E6E7E9EAEBECECEEEFEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBF050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E6E7E7E6E6E6E6E6E4E4E7F2E2DBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DACFB29272543F3E3E3E3E3E3E3D3D3C3C3C3C3C3B3B3B3A3A3A393939393A3A3939393939393838383737373737373737373535353535363535353535353434343434343333333332313131313131303030303030303030302F2E2E2E2E2E2E2D2D2D2D2D2C2C4E79A6C9F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD94C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039BDCED0D1D3D4D6D7D8DADBDDDEDFE1E2E3E5E6E7E8E9EAEBECEDEEEFF0F0F2F2F3F4F4F5F6F7F7F8F8F8F9F9FAFAFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFA8C0A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7ECEEEEEFEFEFEFEEEFEFF4FCECE9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFD9C2A2876C523E3D3D3C3C3C3C3C3B3B3A3A3A3A393939393A3A3939393939393838383737373737373737373535353535363535353535353434343434343333333332313131313131303030303030303030302F2E2E2E2E2E2E2D507193B8D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000006ACECFD0D2D4D5D7D8D9DBDCDDDEE0E1E2E4E5E6E7E9EAEBEBECEEEEEFF0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAC71E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000078DF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EEEEEEEEEEEFEFEEEEEFF6FCEBE3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADABCAB977E63513C3B3B3A3A3A3A393939393A3A393939393939383838373737373737373737353535353536353535353535343434343434333333333231313131313130303030302F3030302F2F516982A6C0D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68D0F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000199CCFD0D2D3D4D6D7D9DADCDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F0F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFAF05A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F97FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E3E3E3E4E6E4E6E3E3E7EFDED6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBC3BC9C907D6A5B4839393A3A3939393939393838373737373737373737373535353535363535353535353434343434333333333332313131313131303041586B84A8AFD9E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA21900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042C6CFD1D3D4D6D7D8D9DBDCDDDFE0E1E3E4E5E6E7E9EAEBEBECEEEEEFF0F1F2F3F3F4F4F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAA90A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAE9E7E6E6E6E7E7E7E9ECF7E6DEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFD3C0BAA0A18B7D7D715B5B533737373737373737373535353536363535353535343434343434335D5D5D7587859FB0B0DADAF8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000884CFD0D2D3D5D6D8D9DBDCDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F0F1F2F3F3F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFADC450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E3E4E2E3E3E2E1E3E3E9F3E2DADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADABCBCBCBBBABBBBBCBC877373737373737582828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029B6D0D2D3D4D6D7D8DADBDDDEDFE0E2E3E4E5E6E7E9EAEAEBECEDEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFA820A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EEEFECEFEFEFF1F1F1F1F6FCECE6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2A58383838383828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC435000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063D0D1D3D4D6D7D8D9DBDCDDDEE0E1E2E4E5E6E7E8E9EAEBECEDEEEFEFF0F1F2F3F3F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAC728000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFBFBFCFBF9FBF9FDFFF3F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD935000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021A6D1D2D4D5D7D8D9DBDCDDDEE0E1E2E3E4E5E6E7E9EAEBEBECEEEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFAF07700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAEAEBEAEBE9E9EBEBEAF1F9E9E1E2E1DFDEDEDEDBDBDBDEDEDEDEDEDCDBDBDADADADCDCDBDCDCDCDCDCDCDEDEDEDCDCDCDEDEDFDFDEDEDEDCDBDADADADADADAD9D9DADADADADAD9DAD9D9D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD95500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063C8D2D3D5D6D7D9DADBDDDEDFE0E1E2E4E5E6E7E8E9EAEBECEDEEEFF0F0F1F2F3F3F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAC72800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EEF1F1F1F2F2F1F2F1F2F7FCEBE4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAA28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC44C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019A6D2D3D4D6D7D8D9DBDCDDDEE0E1E2E4E5E6E7E7E9EAEBECECEEEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAF0770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAE9E9E7E9E9E6E9E7E7ECF7E6DFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDE9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053CAD3D4D6D7D8D9DBDCDDDEE0E1E2E3E4E5E6E7E9E9EAEBECEDEEEFF0F0F1F2F3F3F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFBFBFBFBFAC7280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E7E9E7E7E6E7E6E4E6E7ECF7E6DCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEA48282828383838383838283D1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA235000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001997D3D4D6D7D8D9DBDCDDDEDFE0E1E2E4E5E6E7E8E9EAEBECECEEEFEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F9F9F9FAFBFBFBFBFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAF0770A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002397F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EFEFEFEEEFEEEEEEECEFF3FBEAE2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDB9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A223000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064CBD4D5D6D8D9DADBDDDEDFE0E1E2E4E5E6E7E7E9EAEBEBECEDEEEFF0F0F2F2F3F3F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAD13200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F75EDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF4F3F4F4F4F6F6F6F8F8FCFFF2EEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADC9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED820F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002AA8D4D5D6D7D9DADBDCDDDEE0E1E2E3E4E5E6E7E9E9EAEBECEDEEEFEFF0F1F2F3F3F4F4F5F5F6F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAF9950A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000755D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E4E3E3E3E2DFE1E1E1E6F1E1D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDC9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD960070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000086ED4D5D6D7D8D9DBDCDDDEE0E1E2E3E4E5E6E7E8E9EAEBECECEEEEEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFAFADB500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFE1E1E1E3E2E1E3E3E1E6F1E1DBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9A28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB94C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003AB9D5D6D7D8D9DBDCDDDEE0E1E2E3E4E5E6E7E8E9EAEBECECEDEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAA91E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000198DEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E7E7E9E9E9E9E9E7E7EBF6E6DCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3E2E2E3E2E1E1E1DFDEDEDEDEDEDEDEDFE1DFDFDEE1E1E1E1E2E2E2E2E1E1E1E1E2E2E2E1E1E1E1E1E1E1E1E1E1DFE1E1E1E1E2E3E3E4E3E3E3E3E3E3E4E3E3E3E3E3E3E3E3E4E4E4E4E3E4E4E6E6E7E7E6E7E7E7E7E7E6E7E6E6E6E6E6E7E6E7E7E7E7E9E7E9E7E6E7E7E7E7E6E6E6E6E6E6E6E6E4E4E6E6E4E4E3E4E6E4E3E4E4E6E6E6E4E3E3E3E4E4E6E6E7E7E7E7E7E6E7E7E6E4E4E4E3E3E3E3E3E3E2E2E2E2E2E2E2E2E1DFDFDFDEDCDCDCDEDEDEDEDCDBDBDCDCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDF9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED8D23000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001A8FD5D6D7D8D9DBDCDDDEDFE0E1E2E4E5E6E7E7E9EAEAEBECEDEEEFEFF0F1F2F2F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAEF770A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000755CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E7E9E6E6E6E6E6E7E9EEF9E9E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DF9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9600700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005DCDD6D7D8D9DBDCDDDEDFE0E1E2E4E5E5E6E7E9E9EAEBECEDEEEFEFF0F1F2F2F3F3F4F5F5F6F7F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAD1450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C97F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E9E7E6E6E6E7E6E7E7E7EAF4E4DCDCDCDCDCDEDEDCDEDEDCDEDEDEDEDCDADADADADADADBDBDADBDBDBDCDEDCDEDCDBDCDEDEDEDEDEDCDEDCDBDCDEDEDEDEDCDCDBDBDAD9D9D9D9D9D7D7D7D6D5D6D6D7D9D9D9D9D9D9D9D9DADADAD9D9D9D9D9D9D9D9D9DADADBDBDBDBDBDAD9D9DADADAD9D7D7D7D7D7D6D7D9D7D9D9D9D9DADADADAD9D9DADAD9D9D9DADADADBDAD9D9D9D9D9D9D9D7D7D9D9D9D9DADAD9D9D9D9D9D9DADBDCDCDCDCDEDCDADCDCDADADCDAD9D9D9DAD9D9DADAD9DAD9D9D9DADBDBDADBDBDBDBDBDADADADADBDADADBDBDBDBDBDBDBDEDBDCDEDEDEDEDCDCDCDCDADADADADADBDEDEDEDEDEDFDEDCDCDCDBDCDEDEDEDEDFDEDEDEDCDCDEDFDFDEDEDFE1E1E1E1E1DFDEDEDFE1E1DFE1E1E1E1E1E2E2E3E3E3E3E2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7A28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A23500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033B3D6D7D8D9DBDCDDDEDFE0E1E2E4E4E5E6E7E8E9EAEBECECEEEEEFF0F0F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9A91E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000760CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E3E3E3E3E2E3E4E4E4E3E7F2E1D9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E39F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE600F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001188D6D7D8D9DBDCDDDEDFE0E1E2E4E4E5E6E7E8E9EAEBECECEDEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAEF820A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000238DEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDDEDEDFDEDEDEDEDFE1E1E4F1E1D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D99C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6972C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000866CED7D8D9DBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEBECEDEEEFEFF0F1F2F2F3F4F4F5F5F6F7F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAF9E55A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074CADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAE9EAEAEBEBEAECECEEF3FBEAE2E1E1E1E1E1DFE1E1E2E2E1E2E2E2E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDFDFDFDEDFDFDFE1DFDEDFDFDFDEDFDEDFDFDEDEDEDFDFDFDEDFE1E2E2E1E2E3E2E3E2E1DFE1DFDFE1DEDEDBDBDEDEDCDCDBDCDBDBDCDCDEDEDCDCDEDEDEDEDEDEDCDCDCDEDEDEDEDEDEDEDEDFE1DFDEDEDEDFDFE1E1E2E2E2E2E3E1E1E3E3E3E3E3E3E3E1E1E1E2E2E2E2E1E1E2E3E3E6E3E6E6E6E6E6E6E6E6E6E4E4E6E6E6E6E6E6E6E6E7E7E9E9EAEBEBECEEEFF1F1F1F1EFF1F1F1F1F2F1EFF1EFEFEFEEEEEEEEEEECEEF1F1EFEEEEEEF1F1F1EFF1F1EFEFF1EEEEEEEEEEEEECEEECECECECECEBEBEBEAEAEBEBEBEEEEEEEEEEEEEEEEECEBEAE9E9E9E9E9E9E9E9E7E6E6E7E7E7E7E7E6E6E4E4E4E4E4E4E4E3E3E3E3E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E2E2E2E3E3E3E2E2E3E3E3E2E2E3E3E2E2E2E3E4E4E6E3E3E3E3E2E2E2E1E1E1E1E1E2E2E2E3E3E3E3E3E3E3E3E3E2E2E3E4E6E7E7E7E6E6E6E7E7E9E9EAEAEAE9E9E9E7E9E9E9E7E7E7E7E7E7E9E7E7E7E7E7E9E9E9EAEAEAE9EAE9E9E7E7E9E9E9E9E9EAE9E9E9E7E7E9E9E9E9E9E9E9E9E9EBEBEBECECEBEEEEEFEEEFEFF1EFF1F2F1F2F2F1EFEEEEEEEEEFEEEEEEEEEEEEEFEFEFEFEFEFEEEFF1EFEFEFEFEFEFEFEFEFF1F1F1F2F2F2F2F3F4F3F3F2F2F2F3F3F2F2F2F2F2F2F2F1F1F2F1F2F2F2F2F1F1EFEEECECECECECEEEEEEEEEEECECECECEBEBEBE9E9E7E7E6E4E4E4E3E3E3E3E2E2E2E2E1E1E3E3E3E2E2E1DFDFDFDEDEDCDCDBDAD9D9D9D9D9D9D9DADADADAD9D7D6D5D5D5D3D3D1D3D3D1D1D3D3D3D3D3D3D3D1D1D1D0D1D1D1D0D1D1D1D3D1D3D3D5D7D7D7D7D7D7D9D7D7D7D7D5D6D6D7D7D5D5D5D5D5D6D6D6D6D7D7D7D7D7D7D7D7D7D9D9DADAD9D9D9D9DADADADBDCDCDEDEDEDCDEDFE1DFE1E1E1DFDEDEDEDEDEDFE19F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9550700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004DBCD7D8D9DBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEBECEDEEEFEFF0F1F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9C73C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F60CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EEEFF1F1EFEFEEEEECECF3FBEBE4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7A28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE750F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002BA4D8D9D9DBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEAEBECEDEEEFEFF0F0F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF99F1E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001982E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EFF1EFEFF1F1EEEFF1EFF4FBEAE2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6A28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3822C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001189D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEAEBECEDEEEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F7F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9EF8C1300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C82E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F1EFEFEEEEECECEEEFEFF4FBEBE4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000870D0D9DADBDCDDDEDFE0E1E2E4E4E5E6E7E8E9EAEAEBECEDEEEEEFF0F0F1F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFAFAF9E56D0A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C82E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEBEBEBECECEEEEEEEFF4FCECE4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7A28282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED9740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085EC7D9DBDBDCDDDEE0E0E1E2E4E4E5E6E7E8E9EAEAEBECECEEEEEFF0F0F1F2F2F3F4F4F5F5F6F6F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9E55A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003582E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EAE9E9E7E9E9E7EAEBEBEFF8E7E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDC9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004EB5D9DBDCDDDDDEE0E1E1E2E4E4E5E6E7E8E9EAEAEBECECEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAFAF9D15A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C75CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E6E4E6E6E6E6E4E6E7E6EBF4E4DCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDF9F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE822C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034B6DADBDCDDDEDFE0E1E2E2E4E5E5E6E7E8E9EAEAEBECECEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAF9F9D13C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001960B9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9EFF1F1EFEEEEEEEEEEEEF3FBE9E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBEAEBEBECECECECEEEEEEECECECEEEEEFEFEEEEECECEBEEEEEEEEEEF1F1EFEFEFEFF1F1EFEFEEEEEEEEEFF1EFEEEEEFEFF1F1F1F1F1F2F1F1F1F2F2F2F1F1F2F1F1F1F1F1F1EFEFEFEFEFF1F1F2F2F1EFEEECEBEBEBEBEBECEBEBEBEBEBEBEBE9E9E9E9E9E9E9E9E9E9E9E9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADA9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB975190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034A5DADBDCDDDEDFE0E1E2E3E4E5E6E6E7E8E9EAEAEBECEDEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F9F9F9F9FAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9F9BD3B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074C97E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFE1E1DFE1DEDEDFE1E2E6F1E2DBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADC9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3974C07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034A5DBDCDDDDDEE0E0E1E2E3E4E5E6E6E7E8E9EAEBEBECEDEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFAFAF9F9BD3B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002375B9F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E7E7E9E9E9EAEAEBEBEBF2FBEAE3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDE9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB975230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034A6DBDCDDDEDFE0E1E2E2E4E4E5E6E7E7E9E9EAEBEBECEDEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAFAF9F9BD3B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074082C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E1E3E1DFE1E1E1E1E1E1E6EFDED6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDE9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD98D4007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034A7DCDCDDDEDFE0E1E2E3E4E5E5E6E7E8E9E9EAEBEBECEDEEEEEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFBFBFBFBFAFAF9F9C759000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F4C8DD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6E6E6E6E6E6E7E7E7E7EBF7E7DFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDBDCDBDBDBDADADBDBDCDCDCDCDEDEDEDCDCDCDCDCDCDEDEDEDEDFDFDFE1E1DFE1E1E1E1E1DFE1E1E1E2E3E2E3E4E3E3E4E4E4E4E3E4E4E3E3E3E4E4E4E6E7E7E7E7E6E4E4E4E6E6E6E4E3E2E1DFDFDFDFDEE1DFDFE1E1E1E1DFE1E1DFDFDFE1E1E1E1DEDEDEDCDEDEDCDEDEDEDEDEDCDCDCDCDEDEDEDFDFDFDFDFDEDEDCDEDEDCDCDCDCDBDBDCDEDEDFDFDFDEDCDBDCDCDCDBDCDBDADADADADADADADBDBDADBDCDCDCDCDCDCDCDEDEE1DFDFDFDFDFE1E2E3E4E3E3E3E4E4E4E4E4E6E4E4E6E4E3E3E3E3E3E2E1DFDFDFE1E1E1E2E2E2E3E3E3E3E6E4E4E4E3E3E4E3E4E4E4E3E4E4E6E4E3E4E3E3E3E3E3E3E2E1E1E1E1E1E3E3E3E4E3E4E4E6E6E6E6E6E6E6E6E6E6E6E6E7E6E6E4E4E4E6E4E6E4E6E3E3E3E4E3E3A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE38D4C0F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034A7DCDDDEDEE0E1E1E2E3E4E5E6E6E7E8E9EAEAEBECECEDEEEFEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9D1590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F4C8DCEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E6E6E6E6E7E7E6E9E7E7EBF4E4DEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDEDEDEDEDEDEDCDCDBDBDBDBDBDBDBDADADADAD9D9D9D9DADCDEDEDEDEDBDBDCDCDCDBDBDCDBDBDADADADADAD9D9D9D9D9D7D9D9D9DADADADADADBDBDBDBDCDCDCDBDBDADAD9DADADADADBDBDBDBDBDCDEDEDEDEDEDFDFDFDFDFDFE1DEDEDEDEDEDEDEDEDFDFDEDEDCDCDCDCDEDFDFDFDFDFE1E1E1E1DFDFDFDFDEDEDEDEDEDFDEDFE1E1E1DFE1E2E2E1E1E2E2E3E4E6E4E3E4E4E3E3E2E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1A18282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD98D4C190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004FB9DDDDDEDFE0E1E2E2E4E4E5E6E7E7E9E9EAEAEBECECEDEEEFEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9D16D0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074082B9F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF6F6F4F3F4F4F3F4F4F4F9FFEEE9E9E9EAE9EAE9E7E7E7E7E7E9E9EAE9E9E7E7E6E6E4E4E4E3E6E3E4E4E3E4E4E3E3E2E2E1E1E1E2E2E3E1E1E1E1DFDFDFE1DFDFDFDEDEE1E1DFDFDEDFDFDEDCDCDBDBDADADAD9D9D9DADADADADBDCDBDBDBDBDCDEDCDCDBDBDBDBDBDBDADADADADAD9D9D9D9D9D9D9D9D7D7D7D6D6D6D6D5D3D1D3D3D5D5D5D5D6D6D5D5D3D5D5D5D6D6D6D7D7D7D7D7D6D6D5D3D3D5D6D5D3D3D3D3D3D3D1D0D1D1D1D1D1D1D1D1D1D1D1D3D5D3D5D6D6D6D6D6D6D6D7D7D7D7D9D9D7D7D7D7D7D7D9D7D7D7D7D7D6D6D6D6D7D9D7D7D7D6D6D5D5D6D7D9D9D9D9D9DADBDBDBDBDADADADADADADADBDBDBDAD9D9D7D7D6D6D6D6D7D7D9DADADADAD9D9DAD9D9D9D9D9DADADBDBDADADADADBDBDADBDCDBDBDCDEDEDEDEDFDFDEDEDEDEDCDEDCDCDEDCDCDCDEDEDCDCDCDBDBDBDEDEDCDCDCDCDCDEDEDFDEDFDFDEDEDEDEDEDEDCDCDCDEDEDEDFDFDFDFDFDFDFDEDEDCDEDFDFE1E1E1E1E1E1DEDEDEDEDCDBDCDCDCDBDCDCDBDCDADBDBDAD9D9DADADADAD9D9D9D9D9D9D9D9D9D9D7D7D7D7D7D7D7D9D7D9DAD9D9DADAD9D9D9DADBDCDCDCDCDCDCDBDBDADBDADADADAD9D9DAD9D9D9D9D9DAD9D9D7D7D7D6D7D7D7D7D7D7D9D9DADADAD9D9DADADCDADCDEDFDFDFDEDFDFDFE1E1E1E1E1E1E1E1E1E1E2E1E1DFE1DFDFDFDFE1E1E1E1E1E1DFDEDCDBDCDCDBDBDBDCDCDBDCDCDCDCDEDEDEDCDCDADAD9D9D9DADADADBDCDCDBDCDEDEDFDFDFDFDEDFDFDFDFDEDFDFE1E3E3E3E3E3E3E2E1E2E1E1DFDFDFDFDFDFE1DFDEDCDCDCDEDEDEDEDCDCDCDCDCDEDFDFE1E2E2E3E2E3E3E3E6E6E6E6E6E6E6E6E6E7E9E9E9E7E6E7E6E6E6E7E6E6E6E6E6E6E4E4E6E4E4E4E6E6E6E6E6E4E4E3E3E3E3E2E3E3E3E2E3E3E3E3E3E3E4E4E3E3E3E2E2E2E2E1E1E3E2E3E2E2E2E1DFDEDCDBDBDEDEE1DFDFDEDEDFE1E1E1E1DEDE9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C482400700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004FB9DDDEDFE0E1E1E2E3E4E5E5E6E7E8E9E9EAEBEBECEDEEEEEFEFF0F0F1F2F2F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9E57713000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C6097D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBEBEBEBECECECECECECF2FBEBE3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D79C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9A26A2C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001161CCDEDEE0E0E1E2E2E4E4E5E6E6E7E8E9EAEAEBECECEDEEEEEFF0F0F1F2F2F3F3F3F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9EF952800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007356AADE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F2F3F4F2F2F2F1EFEFEFF3FBEBE6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D7D7D7D6D6D7D6D7D7D7D7D7D7D9DADADADADAD9DAD9DADADADADADADADAD9DADBDADADADADADAD9D9D9D9DADBDBDCDCDEDEDEDBDBDEDEDFDFDFDEDFDFDEDCDBDBDCDCDEDCDBDCDEDEDEDEDEDEDCDCDBDBDBDBDBDEDEDEDFDFDFDEDEDBDCDCDCDCDADCDADBDAD9DADBDADADADADBDADBDCDCDCDCDBDADADADBDADBDCDCDBDBDADADBDBDCDCDADBDBDBDADADADADBDBDAD9D9D9D7D6D6D6D7D7D7D6D6D5D5D3D3D1D1D1D3D3D5D3D3D3D3D6D6D3D3D3D1D3D1D3D5D7D5D3D5D3D3D3D3D1D0D0D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E19F8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3AD754007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000237CD4DEDFE0E1E2E2E3E4E5E5E6E7E7E9E9EAEBEBECECEDEEEFEFF0F0F1F2F2F3F3F4F4F4F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9B33B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007356A97CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEDCDBDBDBDADAD9DBDADBDFE9DAD5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADADADADCDCDCDB9E8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCEA26A350F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000358DDEDFE0E1E1E2E3E4E5E5E6E7E7E8E9EAEAEBEBECEDEEEEEFEFF0F0F1F2F2F3F3F4F4F5F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9C6590A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C5582ADD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EBECEFEFEEEEEEEEECECF1F9E9DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D9D7D79C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9B98D552C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000950A9DFE0E0E1E2E2E4E4E5E6E6E7E8E9E9EAEBEBECECEDEEEEEFF0F0F1F2F2F2F3F3F4F4F5F5F5F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9E58B1E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C5582ADCEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECDCDEDFDEDCDEDCDBDBDBDEE7D7D3D0D3D1D1D3D5D6D6D6D7D7D9D7D7D9D7D9D9D9D9D7D6D6D7D7D9D9DADBDADBDADADCDCDBDEDCDCDBDADADCDBDBDBDCDEDEDFDEDEDFDFDFDEDFE1E1E1E1E2E1E2E2E3E3E3E6E6E6E7E6E7E7E9E9E7E7E7E7E7E7E9EAE9E9E9E9E9E9EAEAE9EAEAE9EAEBEAEAEBEBEBEBEAE9E9E7E9E9EAE9EAEAEAEBEBEBEBEAEAEBEBEAEAEAEAE9E7E7E9E9E9E9E9EAE9EAEAEBEAE9E9EAE9EAE9E7E7E7E9E9E7E7E7E7E7E7E6E6E3E3E3E3E1E1E1E2E1E1E1DEE1DEDEDEDCDEDCDBDCDCDCDCDCDEDEDFDEDEDFDFDFE1E1E1E1DFDFDFDFDFDEDEDFE1E1E1E2E2E1E1E2E2E1DFDEDEDEDEDFDFDFDFDFDEDCDCDEDFDFDFDFDFDFDEDCDEDEDEDEDEDFDEDCDEDEDFDFDEDCDBDBDCDEDFDEDEDCDCDBDCDCDEDEDEDCDCDCDCDCDCDCDCDEDEDEDEDCDEDFDFE1DFDFDEDFDFDEDEDEDEDEDEDEDFDEDFE1DFE1E1E1E1E1E1E1E1DFDFDEDFDEDCDCDCDEDFDEDEDEDFE1E1E1DEE1E1E2E2E2E2E1E1E1E1E3E3E3E1E1E1E3E1E3E3E3E3E2E3E4E6E7E7E6E4E4E6E6E6E6E7E7E7E6E6E6E6E6E4E6E4E6E7E6E6E6E6E7E6E6E4E4E3E3E4E3E2E2E3E3E3E3E2E2E2E2E3E3E3E3E3E1E2E2E1E1E1E1E1E1E2E1E2E3E3E3E1E1E2E1DFDEDEDEDCDEDEDEDEDEDEDBDEDCDBDBDBDBDBDEDEDEDEDFDEDEDCDCDCDBDBDBDBDADBDBDBDBDCDEDCDEDBDBDEDEDEDEDFE1E1E2E1E1DFE1E1E1DFE1E1E2E2E3E4E3E4E4E3E3E3E3E3E4E3E3E2E1E1E1E3E2E3E2E2E3E3E4E4E4E4E4E4E3E3E3E4E4E4E3E4E6E6E4E3E3E3E3E3E2E2E2E3E2E3E3E1E1E1E1E1E1E1E1E1E1E1E1DFDFDFDFDEDEDEDEDEDEDCDCDBDCDCDCDCDCDBDADADADAD9D9DADADADAD9D9D9DADAD9D7D7D7D7D7D9D9D7D7D7D6D6D6D6D7D7D6D6D5D5D5D5D5D5D5D3D3D1D1D1D1D3D1D0D0D0CFCFCFCECFD0D0D1D1D1D1D3D3D3D5D6D6D6D7D9D7D7D7D6D5D6D6D6D5D6D7D9DADA9C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCEAD82552C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001B74CEE0E0E1E2E2E4E4E5E5E6E7E7E8E9EAEAEBEBECEDEEEEEFEFF0F0F1F2F2F3F3F3F4F4F5F5F6F6F7F7F7F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F8B34500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001935608DADCEF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EAECECECEFEFEEEEEFEFF2FBE9E1E1DFDEDEDEDEDCDCDCDBDBDADADADBDBDBDADCDADADADADADAD9DADAD9D7D9DADADADADADAD9D9D9D9DADBDADADADADBDBDAD9DADBDCDCDCDCDBDADADAD9D7D7D7D7D9D9D9D9D9D9D9D9D9D9D9D9D9D7D7D7D9D7D7D7D7D7D7D7D7D6D6D6D7D9D9D9DADBDCDCDCDEDFDEDEDEDCDBDBDCDCDCDBDBDADADADADADBDBDCDBDBDCDEDEDEDFDEDFDFE1DFE1E1E2E2E2E2E2E2E3E3E3E3E2E2E3E4E4E3E3E3E3E2E3E3E3E3E4E4E3E4E6E6E6E6E7E9E9E7E7E7E7E7E9E9EAEAEAE9E9E9E9E9E9E9EAE9E9E9EAE9E9E7E7E7E6E6E7E7E9E7E7E9E9EBEAEBEAEAE9EAEAEAEBEBEBECECECECEEEEEEEEEEECECEEECEBEAEBEAE9E9E9E9E7E7E7E7E6E4E4E6E6E6E6E6E6E6E4E4E6E4E4E3E3E2E3E3E2E2E2E1E1E1E1E1DFDFDEDFDFDFDFDFDEDEDEDEDFDEDEDEDEDEDFDFDFDEDFDFE1E2E2E2E1E1E1E1E1E2E2E2E2E2E2E3E3E3E3E3E4E6E6E6E4E3E3E2E1E1DFDEDEDFDFDEDFDFDFDFDFE1DFDFDFE1DFDFE1E1E3E3E1E2E1E1E1E2E2E2E2E1E1E1E1E1E2E1E2E2E2E2E3E2E2E2E2E2E1E2E1E1E1E1DFE1E1E2E2E2E2E1E2E2E1E1E2E2E3E3E3E3E2E1E1E3E3E2E1DFDEDCDCDCDEDEDEDEDEDEDEDEDEDCDCDCDEDEDFDFDFE1E1E1E1E1E3E3E3E3E3E4E6E6E6E6E4E4E3E3E3E3E3E4E4E6E6E6E6E3E4E4E4E6E7E9E9E7E7E7E7E6E6E6E7E6E6E6E7E9E9EAEBE9E9E9E9E9E7E7E7E9E9E7E7E7E7E6E6E4E4E4E4E6E6E6E4E4E6E7E7E9E9E9E9E9E9E9E7E6E6E6E4E3E6E6E6E6E4E3E4E4E4E3E3E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDEDEDEDEDCDCDCDCDBDADBDCDBDCDBDADAD9D9DAD9D9DAD9D9D7D9D7D7D6D5D5D3D3D5D6D6D7D5D5D5D5D5D6D6D6D7D9D9D9D9D7D7D7D7D7D7D7D7D9D7D7D6D6D6D7D6D6D6D6D7D7D6D7D7D7D7D6D5D6D6D6D5D6D6D5D6D7D7D7D7D6D6D6D6D7D7D7D9D9DAD9D7D7D7D7D99C8282828282828282828282D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCEAD8D60351900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003597E0E0E1E2E2E3E4E5E5E6E7E7E8E9E9EAEBEBECECEDEEEEEFEFF0F0F1F2F2F3F3F4F4F4F5F5F6F7F7F7F8F8F8F8F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9DA6D130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F2C4C6097A2CEEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E3E3E2E2E3E4E3E4E4E3E9F1E1D9D9D7D9DADAD9D7D7D7D6D6D5D3D3D5D5D7D5D6D7D6D5D6D6D7D9D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADBDCDCDCDEDEDFDFDEDEDFDFDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E2E3E3E3E3E3E3E4E4E4E3E4E6E6E7E7E9E7E9E7E9E7E7E6E6E6E7E7E6E7E7E6E6E7E6E4E4E4E6E6E6E6E4E6E6E6E6E6E4E4E3E3E3E4E4E4E4E4E4E4E4E3E4E4E4E6E7E7E7E7E7E7E7E7E6E7E7E6E6E6E6E6E3E3E3E4E4E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1E1DFDFE1E1E1E2E2E2E2E2E2E3E4E6E6E6E6E4E6E6E6E6E4E3E2E3E3E6E3E3E3E3E3E4E6E6E6E6E6E4E6E7E7E7E6E6E6E4E4E4E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E2E2E1E2E2E1E1E1E1E2E2E3E3E4E6E6E6E3E3E3E3E3E3E2E2E1E1E1E1E2E3E2E3E3E3E3E4E4E4E4E3E4E4E4E4E4E4E4E4E4E4E4E4E4E4E6E4E4E6E6E6E6E6E7E9E9E9E9E9E7E7E7E7E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E7E7E9EAE9E9EAEAE9E7E7E7E7E6E4E3E2E2E2E2E2E2E1E1E1E2E2E1E1DFDEDEDEDEDEE1E1E1E1E1E1E2E1E1E1E1E2E1E1E1E1E2E1E1E1E1DFE1E1E1E1DFE1E1E1DEDEDCDEDEDEDEDEDEDEDFDFDEE1E1E1DEDEDFDEDCDEDCDEDEDEDEDCDCDCDEDEDCDCDCDBDCDBDBDBDCDBDBDBDCDEDEDEDCDCDEDEDFDFE1E1E1E1E1E2E2E2E3E4E3E4E6E3E3E3E2E2E1DFDFDEDEDCDEDFDFDFDEDEDEDEDEDEE1E1E1E1E2E1E1E2E1E1E1DFDFDFE1E1E1E1E1DFDFDFE1E1E1DFDFDFDFE1E1E1E2E3E3E4E3E4E3E3E4E4E3E3E3E3E3E4E3E3E3E3E3E3E4E4E4E3E3E3E4E4E4E4E4E3E3E3E3E3E4E4E4E3E3E4E3E3E3E4E6E6E7E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEBEBEBEBEBEEEEEBEBEBEBEAEBEBEAEBEBEBEBEBEBEBA28282828282828282828282D0FFFFFFFFFFFFFFEDCEAD9760552C0F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001162BCE0E1E2E2E3E4E5E5E6E7E7E8E9E9EAEAEBECECEDEEEEEFEFF0F0F1F2F2F3F3F3F4F4F5F5F5F6F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAF9F9F9F9F8A845000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003E8FD7E1E2E2E3E4E5E5E6E7E7E8E9E9EAEAEBEBECECEEEEEFEFF0F0F1F1F2F2F3F3F4F4F4F5F5F6F6F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F8DA811E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000116BC6E1E2E2E3E4E5E5E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F1F2F2F3F3F3F4F4F5F5F5F6F7F7F7F7F8F8F8F9F9F9FAFAFAFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8B3500A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004899E1E2E3E4E4E5E5E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F1F2F2F2F3F3F4F4F4F5F5F5F6F7F7F7F8F8F8F8F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8E595450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002D87D0E2E3E4E4E5E6E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F1F1F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFAFAFAF9F9F9F8F8DA81280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001B6CC7E2E3E4E5E5E6E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F0F1F2F2F3F3F3F4F4F4F5F5F6F6F7F7F7F8F8F8F8F9F9F9FAFAFAFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8C67613000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000125AACE3E4E4E5E5E6E6E7E7E8E9E9EAEAEBEBECECEDEEEEEFEFF0F0F0F1F2F2F2F3F3F4F4F4F5F5F5F6F7F7F7F7F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F8F8F8B36313000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000125AA4E4E4E5E5E6E6E7E7E8E9E9EAEAEAEBEBECECEDEEEEEFEFF0F0F0F1F2F2F2F3F3F4F4F4F5F5F5F6F6F7F7F7F8F8F8F8F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8F8B36313000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000125BA5E4E4E5E5E6E6E7E7E8E9E9EAEAEBEBECECECEDEEEEEFEFF0F0F0F1F2F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8B26C1E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5BA5E4E5E5E6E6E7E7E8E9E9EAEAEAEBEBECECEDEEEEEEEFEFF0F0F0F1F2F2F2F3F3F3F4F4F4F5F5F6F6F7F7F7F7F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAF9F9F9F9F8F8F8F8C681310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002E6DB7E5E5E6E6E7E7E8E9E9E9EAEAEBEBECECECEDEEEEEFEFEFF0F0F0F1F2F2F2F3F3F3F4F4F4F5F5F5F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8D994450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F77C9E6E6E6E7E7E8E9E9E9EAEAEBEBEBECECEDEEEEEEEFEFF0F0F0F1F1F2F2F2F3F3F4F4F4F4F5F5F5F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8EDA8631E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5C9BDDE6E7E7E7E8E9E9E9EAEAEBEBEBECECECEDEEEEEFEFEFF0F0F0F1F2F2F2F3F3F3F4F4F4F5F5F5F5F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F7CF81450A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004077C1E6E7E7E7E8E9E9E9EAEAEBEBEBECECECEDEEEEEEEFEFF0F0F0F1F1F2F2F2F3F3F3F4F4F4F5F5F5F6F6F7F7F7F7F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAF9F9F9F9F9F8F8F8F8F7EDB27628000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025659CDEE7E7E8E8E9E9EAEAEAEBEBEBECECECEDEEEEEEEFEFEFF0F0F0F1F2F2F2F3F3F3F4F4F4F4F5F5F5F6F6F7F7F7F7F8F8F8F8F9F9F9F9F9FAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAF9F9F9F9F9F8F8F8F8F7F7E4A86C280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C5C9DD5E7E8E8E9E9E9EAEAEAEBEBECECECEDEDEEEEEEEFEFEFF0F0F0F1F2F2F2F2F3F3F3F4F4F4F5F5F5F5F6F6F7F7F7F7F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFAFAFAFAF9F9F9F9F8F8F8F8F7F7F7D99E622800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000255394CBE8E8E9E9E9EAEAEAEBEBEBECECECEDEEEEEEEFEFEFEFF0F0F0F1F1F2F2F2F3F3F3F4F4F4F4F5F5F5F6F6F7F7F7F7F7F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F8F7F7F7E4A7763B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037659DD6E9E9E9EAEAEAEAEBEBEBECECECEDEDEEEEEEEFEFEFF0F0F0F0F1F2F2F2F2F3F3F3F4F4F4F4F5F5F5F5F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9FAFAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F8F8F8F8F8F7F7F7F7EDBB804F1E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000124179A8E0E9EAEAEAEAEBEBEBEBECECECEDEDEEEEEEEFEFEFEFF0F0F0F1F1F2F2F2F2F3F3F3F4F4F4F4F5F5F5F5F6F6F7F7F7F7F7F8F8F8F8F8F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F8F8F8F8F8F7F7F7F7F7D8A775440A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000938669ECDEAEAEAEAEBEBEBEBECECECECEDEDEEEEEEEFEFEFEFF0F0F0F0F1F1F2F2F2F3F3F3F3F4F4F4F4F5F5F5F5F6F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F8F8F8F8F8F7F7F7F7F6F6CE9D6C3B1300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000938678CC4EAEAEBEBEBEBECECECECECEDEDEEEEEEEEEFEFEFEFF0F0F0F0F1F1F2F2F2F2F3F3F3F3F4F4F4F4F5F5F5F5F6F6F6F7F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F8F8F8F8F8F7F7F7F7F7F6F6F6D7A6804F27000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C4B7A9FCEEBEBEBEBECECECECECEDEDEEEEEEEEEEEFEFEFEFF0F0F0F0F0F1F1F2F2F2F2F3F3F3F3F4F4F4F4F4F5F5F5F5F6F6F6F7F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F8F8F8F8F8F7F7F7F7F7F7F6F6F5EBC4936C4E27000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001D41678DBCE3ECECECECECECEDEDEDEEEEEEEEEEEFEFEFEFEFF0F0F0F0F0F1F1F2F2F2F2F2F3F3F3F3F4F4F4F4F4F5F5F5F5F5F6F6F7F7F7F7F7F7F8F8F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F6F6F6F5F5F5C49D7558310A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092F557197BDE3ECEDEDEDEDEEEEEEEEEEEEEEEFEFEFEFEFEFF0F0F0F0F0F0F1F1F2F2F2F2F2F3F3F3F3F3F4F4F4F4F4F5F5F5F5F5F6F6F6F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F5E2C3927F623113000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000132F56728FBEDBEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F1F1F1F2F2F2F2F2F2F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F5F5F5F5F5F5F4CDBA927F623A310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000263960728FB6BFEFEFEFEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F0F1F1F1F1F2F2F2F2F2F2F2F3F3F3F3F3F3F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F1F1F1F1F1F1F1F1F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0C8A4A8A4A7A7A7AAACB0B0B9D0AEA09C9CA09CA0A0A0A09F9C9C9F9FA1A3A5A8A7A7A7A7AAAAA8ACABABA7A7A7AAA7A7A7AAACACB0ACACB0B0B0ACB0B2B2B2B2B5B2B6B6BBBBBBBDBFBFC3BFC3C3C4C5C3C3C3C0C0C3C5C8C5C5C4C4C4C4C6C6C5C8C6C5C6C9C6C6C9C9C9C9C6C5C5C1C5C5C6C5C6C6C6C9C9C9C9C8C6C9C9C8C8C8C6C5C1C3C5C5C5C5C5C8C5C6C6C9C8C5C5C8C5C6C4C1C1C1C4C4C0C1C0C3C0C0BDBDBBB9B8B8B5B5B5B6B5B2B2AEB2AEAEACABACABA7ABABABABABACACB1AEAEB1B1B1B5B2B2B2B0B0B0B0B0ACAEB0B2B2B2B6B6B2B2B6B6B5B1AEAEAEAEB0B0B0B0B1AEABABACB1B1B1B0B1B1AEABACACACACACB0ACAAACACB0B0ACAAA8A8ABACB0ACACAAABA8ABAAACACACABABAAABABAAABABACACACACABAEB1B1B2B1B0AEB0B0ACAEACACACACACB1ACB1B2B1B2B2B2B2B2B2B2B2B1B1ACB1ACABABABACB1AEAEAEB1B2B2B2AEB2B5B6B6B6B6B2B5B5B5B8BBB8B5B5B5B8B5B8BBB9B9B5B8BBBDC0C0BDBBBBBDBDBDBDC0C1C1BFBDBDBFBDBDBDBDBDC0BFBFBDBDC0BDBDBDBDB9BBBBB9B6B6B9B9B8B8B5B5B5B5B8B8B8B8B8B5B5B5B2B5B2B2B5B5B6B5B6B8B8B8B5B5B5B2B0ACACACABACACACACACACA8ACAAA8A8A8A8A8ACACACACB0AEACAAAAAAA8A8A7A7A5A7A8A8A8AAACABACA8A8ACAEACACB0B2B2B5B2B2B1B2B2B2B1B2B2B5B5B9BBB9BBBBB9B9B8B9B9BDB9B8B5B5B5B5B8B5B8B5B6B9B9BDBDBDBBBBBBBBBBBBBDBDBBBBBDBDBDBDBBBBBBBBBBB6B5B5B9B5B8B8B5B2B2B5B5B5B5B2B2B2B5B5B1B1B0B0ACACACACACACAAAAA7AAAAAAAAAAA7A7A7A7A5A1A1A5A5A5A5A1A3A3A5A5A09E9E9E9E9EA1A09E9F9E9B9B9B9C9E9E9B9B9898989A9A9A989797949494949694908F8F8D8E8E8C8E929294949494979797989B9B9C9EA19E9E9E9C989B9B9C9A9C9FA1A5A5A7A7AAAAAAA7AAA8A8A8A7A72A010101010101020101010190F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F5F5F5F5F5F5F6F6F6F6F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9FAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F8F7F7F7F7F7F7F7F6F6F6F6F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3F3F3F3F3F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2D3B5B8B6B6B8B6B5B6BBBCC5D7B2A2A3A2A2A2A3A3A7A7AAAAA8A8A8A7A3A3A5A7A7A3A2A2A29F9F9EA2A2A1A2A3A3A3A5A7A7A7A3A3A5A7A3A3A3A7A7A7A8A7A3A2A2A3A3A3A3A1A1A3A2A2A3A5A5A3A2A2A2A2A3A7A8ACACABABAEABA7ABABA7A7ABA7A3A3A3A5A3A3A7A5A3A5A3A3A3A7AAAAA7A8A8A8AAAAA7A7A5A7A8A7A7A8AAAAAAAAAAAAAEAAABAEAEAEAEABABABABA7A7A5A5A7AAAEAEAEAEB0B2AEABACACAAABB0AEAEB1B2B0B0B0ACACB0B2B2B0B0B2B5B5B3B3B3B2B1B0B2B3B3B2B3B5B5B5B5B8B8BBBBB9B9B6B5B5B5B3B5B2B5B5B6B6B3B6B6B8B5B3B3B3B3B3B5B3B3B5B3B2B2B2B2B2B2B2B0B2B2B2B5B2B0B2B2B2AEB2B1B2B2B0B1B1B2B2B2B1B2B3B6B6B5B8B9B8B9B6B3B2B3B2B2B3B1AEAAAAAEB1ACACAAABAAAAABABAEAEACACB1B1AEAEAEAEABABABAEB1B1B1B1AEB0B1B2B3B2AEAEAEB2B2B3B5B6B6B6B6B9B5B5B9B9B9BBBBB9B9B5B3B3B6B6B6B6B5B5B8BBBBBFBBBFBFBFC0BFBFBFBFBFBDBDBFBFBFBFC0C0C0C0C3C3C5C8C9CACBCFD0D3D5D5D5D5D4D7D7D7D7D9D7D3D7D3D3D4D1D0D0D1D1CFD1D5D5D4D1D1D1D5D7D7D3D5D5D3D3D5D1D0D0D0D0D0CFD0CECECECFCFCAC9C9C9C9CAC9CBD0D0D0D1D1D1D1D0CECAC8C6C8C8C8C8C5C6C6C4C1C1C3C3C4C3C3C0C0BCBCBCBCBCBCBDBBBBB9B9B8B8B5B5B5B3B3B3B3B3B3B3B5B5B3B5B5B5B8B6B6B6B6BBBBB9B8B8BBBBBBB8B8B9B9B6B6B8BBBCBCBFBBBBB9B9B6B8B8B5B3B3B3B5B6B6B8BBBBB9B9B9B9B9B9B9B8B8BBBCBFC3C4C3C0C0C0C3C3C5C6C8C8C8C6C6C6C4C5C5C6C4C3C3C3C3C3C5C3C4C4C4C4C6C8C8C8C8C8C6C8C8C5C3C3C6C6C6C8C8C9C8C8C8C4C4C5C6C6C6C6C6C6C6C8C9CBCBCECECBD0D0D3D1D3D3D7D4D7D9D7DAD9D7D4D1D1D1D1D4D1D0D0D0D0D1D3D3D3D3D3D3D1D3D5D3D3D3D3D3D4D4D4D4D5D5D7DAD9D9DADBDE3A020202020202020202020292F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F3F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F6F6F6F6F7F7F7F7F7F7F7F8F8F8F8F8F8F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F6F6F6F6F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F4F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3E6CED3D5D3D6D9D9DBDADAE6F2D0C1C3C4C3C3C3C0C0BCBCBBBDBDBBBBBBBFBFC1BFC1C1BFBCBCBCBCBCBCBCBCB9B9B6B3B2B2B5B5B5B9B9B9B9B9B9BBBDC0C1C1C0BDC0C1C0C0BDBBB9BBBCC0BCBCBBBCBCBFC1C3C3C0C1BDC1C3C3C3C3C1C0BFBDBDBBB9B9B9B9B9B9B9B9B9B6B9B9B6B6B6B9B9B5B6B3B3B5B5B5B3B6B6B6B5B5B5B3B3B3B6B6B6B9B8B5B8B8B3B3B3B3B8B8BBBBBDC0C0C0BCBCBCBBBBBCB9B9B5B5B5B6B9BBB8BBBCBBBBBDBFBFBFBCBFBFBFBFBDBDBDBDBDBDBFBFBDBDC1BDBFC0C1C1C1C1C4C5C5C8C5C5C5C3C3C3C4C3C3C5C3C4C4C5C6C5C6C6C6C9C9C8C8C6C6C6C6C4C5C5C5C5C5C3C4C6C9C6C6C9C9C6C4C4C3C3C0BDBBB9B9B9B9B9B8B6B3B6B8B8B5B3B2B1B1B1B1B1B3B5B5B3B3B3B8B5B5B6B6B8B5B5B5B5B8B5B6B5B5B2B6B6B3B3B2B3B3B3B1B0ACB1B1B0B1B1B1B1B2B2B1B3B3B3B1B1B2B1ACB1ACB1B1B0B0ACACACB1B0ACACACAAACAAAAAAACAAAAAAACB1B1B0ACACB0B1B2B2B6B5B5B5B6B8B8B8BBBDBBBDC0BCBCBBB8B8B5B2B2B1B0ACB1B2B2B2B1B1B1B1B1B1B3B3B5B5B8B5B5B8B5B5B5B2B2B2B6B6B6B5B5B2B2B2B5B5B5B2B2B2B2B3B3B5B9BBBBBDBBBDBBBBBFBDBBBBBCBCBCBDBCBBBBBBBBBBBDBDBDBBBBBBBDBDBDBDBFBCBCBCBBBBBDBDBFBCBCBDBBBCBCBDC1C1C3C4C4C5C8C9C8C9C9C9C8C9C9C8C9C6C6C6C6C6C6C6C6C5C9C8C8C8C9C8C9C9CACACBCBCED1D1CECACACAC9CACAC9CACACACACACBCBC9CBCBD0D0D0D0D1D1D1CFCFCFD1D3D5D5D3D3D0D0CED1D1D1D1D3D7D7D5D4D4D4D7D7D5D5D3D3D3D3D5D7D5D3D3D5D5D7D7D7D7D7DAD9D9D9DADBDAD9D9DBD9D7D7D7D7D7D4D5D4D5D4D7D7DADAD7D5D1D0CECACACACED0CBCACECECECECAC8C8C8C8C8C8C8C8C8C8C5C5C8C8C9C6C9C6C5C5C5C5C5C6C6C9C6C6C5C5C3C3BFBFBFBCC0BCBDBDBBBDBDBCBCB9B9B6B62E020202020202020202020292F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F6F6F6F6F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F1EAECECECECECECEFF2F1F3F6E1DBDAD9D9DBD9D7D7D7D7D7D4D7D4D7D4D7D7DADAD7D7D3D0CFCBCBCBCFD0CECBCFCFCFCFCBC9C9C9C9C9C9C9C9C9C9C6C6C9C9C9C8C9C8C5C5C5C5C5C8C8CAC8C8C5C5C3C3C0C0C0BDC1BDBFBFBBBFBFBDBDB9B9B8B8B8B9B9BBB8B5B5B5B3B3B3B8B3B3B2B0B1B5B5B2B2B1B2B2B1ACACABABAAA7A7A5A3A3A7A8A8A8AAACAAAAAAAAACB1ACACAAAAAAAAAAAAAAAAAAAAA8A5A5A5A5A5A5A5A5A2A2A29F9F9F9F9C99979B9B9C9C9C9C9E9E9B9B999B9C9C9F9F9FA2A2A2A2A29F9E9B97979B9E9B979797979799969396979796969697979797979B9C9B9B9E9E9F9E9E9E9EA1A2A2A2A5A5A2A2A1A1A1A1A3A1A1A2A2A19F9F9E9FA1A3A1A1A19F9F9C9C9FA2A5A5A5A5A5A7AAAAAAAAA7A7A7A7A7A7AAABABABA8A5A5A2A29F9F9E9EA2A2A3A7AAAAA7A3A5A8A5A5A5A3A5A8A8AAAAAAA8AAAAAAABAAAAACAAAAACB0B0B0B1B3B3B1B1B1B1ACB0ACACB0ACACACB0B0ACACACAAAAABB0B0ACACACACACB1B1B2B1B2B2B1B1B0B1B1B1ACACACB1B1B1B3B2B2B2B2B2B2B0B0ACB0B2B2B5B5B5B5B8B5B1B1B0B0ACAAACACACAAACACABACAAAAAAA7A5A5A7A7A7A7A5A5A5A3A5A3A3A3A3A3A2A2A2A2A2A2A2A3A2A3A7A5A5A7A7A3A3A5A7AAACACACACACACABABAAAAAAAAA7A7A3A3A7A5A5A5A3A3A7A5A5A2A2A29FA1A1A1A2A2A2A5A5A8A8A8A5A5A7AAACAAACB0B2B2B2B1B3B3B3B5B8B6B6B8B6B6B6B6B6B9B8B8B3B8B3B3B2B2B5B5B5B5B5B5B2B1ACAAACACABABABACACABACACACACB0B1B0ACACAAA8A5A5A5A8AAA8ABACACAAACB1B1B3B3B3B3B1B3B3B3B3B1B3B3B8BBBBBDBDBDBCB9B6B9B6B6B3B3B3B3B3B2B5B2B0ACACACB0B0B0B1ACACACACACB1B2B2B6B9B9BBB9BBBBBDC1C3C3C1C1C3C3C3C3C4C6C6C6C4C3C4C3C3C3C3C3C3C3C3C3C1C0C0C1C0C0BFC1C1C1C1C1C0C0BDBBBDBB2F020202020202020202020292F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5E5CFCECECBD0D0D0CECBCBD5EAC5B5B9B5B5B3B1B2B6B6B3B3B2B3B3B1AEAEACACAAA7A7A5A3A3A7A8A8A8ABAEABABABABAEB1AEAEABABABABABABAAAAAAAAA8A5A5A5A5A5A5A5A5A2A2A2A1A1A1A19D9B979B9B9D9D9D9D9F9F9C9C9B9C9D9DA1A1A1A2A2A2A2A2A19F9C99999C9F9C99999999999B979497979797979797979797979B9D9B9C9F9FA19F9F9F9FA2A2A2A2A5A5A2A2A2A2A2A2A3A2A2A2A2A2A1A19FA1A2A3A2A2A2A1A19D9DA1A2A5A5A5A5A5A7ABABABABA7A7A7A7A7A7AAACACACA8A5A5A2A2A1A19F9FA2A2A3A7AAAAA7A3A5A8A5A5A5A3A5A8A8ABABAAA8AAAAABACAAABACABABAEB1B1B1B1B5B5B1B2B1B2AEB1ACACB1ACACACB1B1ACACACABABACB1B1AEAEAEAEAEB1B1B3B1B3B3B1B1B1B1B1B1ACACACB1B1B2B5B3B3B3B3B3B3B1B1ACB1B3B3B6B6B6B6B9B6B2B1B1B1AEABAEAEAEABACACACACAAABABA7A5A5A7A7A7A7A5A5A5A3A5A3A3A3A3A3A2A2A2A2A2A2A2A3A2A3A7A5A5A7A7A3A3A5A7ABACACACACACACACACAAABAAAAA7A7A3A3A7A5A5A5A3A3A7A5A5A2A2A2A1A2A2A2A2A2A2A5A5A8A8A8A5A5A7AAACAAACB1B3B3B3B1B5B5B5B6B9B6B6B9B6B6B6B6B6BBB9B9B5B9B5B5B3B3B6B6B6B6B6B6B3B1ACABACACACACACAEAEACACACACACB1B1B1ACACAAA8A5A5A5A8AAA8ACACAEABAEB2B2B5B5B5B5B2B5B5B5B5B2B5B5B9BCBCBDBDBDBDBBB6BBB6B6B5B5B5B5B5B3B6B3B1ACACACB1B1B1B2AEAEACACACB1B3B3B6B9B9BCB9BCBCBDC1C3C3C1C1C3C3C3C3C5C8C8C8C5C3C5C3C3C3C4C3C3C3C3C3C1C0C0C1C0C0BFC1C1C1C1C1C0C0BDBCBDBCBBBDBDBDB9BCBDBDBCBDBDBFBFBDBDBDBBBBBBB9B9B9BCB9BCB9B9B9B6B3B1AEACACB1B2B6B5B5B2B2B3B6B6B6B6B2B2B2B2B1B1B1AEAEACACACACACABABA8A8A8A8A5A5A5A5AAACB1B1B2B1ACACACACAEABABAEACACAAAAAAA8A8A5A3A3A3A328010101010101010101010193F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6E4D0CECBCACBC9CACBD0D1DBEEC8BBBBB6B6BBBBBDBDBDBCBBB9B9BCBCB9B6B5B2B0B0B0B2B2B2B3B3B3B3B3B2B0B0B0B2B2B6B6B5B6B9B9B9B9BCBCBCBDBFBFC1C1C1C1C1C1BFBFBFBCBDBFBFC1C1C1C1BFC1C1C1C3C6C9C9C5C6C6C6C3C4C4C6C4C4C4C6C9C9CBCECAC9CAC9C9C6C6C6C9CAC6C6C6C5C1C1BFBFBFC1C1C1C4C1C1C3C5C5C9CACAC9C9C9C9C6C4C4C3C1BFC1C1C3C3BFBDBFC1BFBDBDB9B6B6B5B6B9B9B6B5B3B3B3B1B2B2B2B2B1B1B0B0B0B0ACAAACAEACB0ACABABA7A7AAA5A5AAA5A5A2A5A2A29F9C9C9B9B9C9F9FA29D9D9D9D9D9F9F9FA2A5A5A5A5A4A4A2A2A2A2A2A2A5A2A29F9F9FA29F9F9FA1A4A2A1A2A2A2A29F9C9F9FA19D9FA19DA1A2A2A2A2A1A19F9FA2A2A2A5A5A8A5A2A4A4A4A5A2A2A4A4A1A1A29FA2A4A4A4A4A4A5A8A8ABA8A8A5A8A5A8A8A8AAABA8A8A8A5AAACABABA8A8A8A8A5A5A7A7ABACACAEAEB1B1B1ACACB1B3B6B6B5B1B5B5B2B0ACACAEB0B2B0ACB0B2B2B2B1B1B1B0B0ACACACACACB1B1B3B6B5B5B1B1ACB0B0B0AEABAEABACA8A7AAACAAAAAAAAACAAACB0B0AEAEACABABABACABACAEAEACACA8ABACACAEAEABACACACABABABABACACA8A5A5A5A29FA1A1A2A2A29F9F9C9C9B9B99999999999C9B99999B9F9F9B99999999999B9DA29D9B9D9B99999997969699969999999B9DA1A1A1A2A2A5A2A2A5A2A5A5A5A5A4A1A1A4A4A5A7AAACABACABABAEAEACB1B0B0ACABABAEACACACAEB1B1B5B1B1B5B5B5B1B5B6B6B6B6B9B6BBBBBFBFBFC1C4C4C6C4C6C6C9CAC6C6C6C5C5C6C9CEC9CAC9C9C9C9CBCBCACECBC9CBCFCBCBCFCFCFCECBC9C9C6C9C9CBC9CBCBCBCECECECECECBCECECECECECBC9C6C6C9CAC9C9C9CECACBCBCFCECACACEC9CBC9C6C6C6C9C9C5C6C5C6C5C5C1C1BFBDBCBCB9B9B9BBB9B6B6B3B6B3B3B1B0B2B0ACB0B0B0B0B0B2B2B6B3B3B6B6B6B9B6B6B62E020202020102020202020295F6F6F6F6F6F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7EFDCDEDEDCDFDFE2E3E3E1ECF6D5CBCBCACECACBCBCECACAC8C6C6C5C5C6C8C9C8C6C9CBCECECECECEC9CECECECECFCFD3D3D3D3D4D4D4D4D4D1D1D4D1CFCECFCECBCBCBCAC8C8C8C6C4C1C0C3C3C4C3C3C4C4C0C1C4C1C1BFBFBCBFBFBBBBBBB8B8B8B8B8B6B6B3B5B5B5B5B5B2B2B2B1B5B1B1B1B3B3B6B5B5B2B6B6B8BBBCBBB8B9B6B6B9BCBBBBBBBBBCBFBDBFBFBFC0C3C3C3C0BFBFBBB8B8B5B2B2B6B6B3B6B6B6B5B6B6B5B5B6B8B6B6B6B9BDBDB9BBB8B9B9BBBBBBBBB8B8B8B8B8BBB6BBBCBCBBBFBBBBBBBBBCB8BCB9B6B6B6B5B6B6BBBCBCBCB8BCBCB8B8BCBCBFBFBFBDBCB9B9BDBDBBB8B5B2B0B0B0B2B2B2B3B3B3B3B3B2B0B0B0B2B2B6B6B5B6B9B9B9B9BDBDBDBFBFC0C3C3C3C3C1C1BFBFBFBDBFC0C0C3C3C3C3BFC1C1C1C4C6C9C9C6C8C8C6C4C5C5C8C5C5C5C8CACACECECBC9CBCACAC6C6C6CACBC8C8C8C6C3C3C0C0C0C1C3C3C5C1C1C4C6C6C9CBCBC9CACACAC8C5C5C4C1BFC3C3C4C4C0BFC0C1C0BFBFBBB8B8B5B8B9B9B6B5B3B3B3B1B2B2B2B2B1B1B0B0B0B0AEABAEAEAEB0AEACACA8A8ABA7A7ABA7A5A4A5A4A4A19D9D9B9B9DA1A1A29D9D9D9D9DA1A1A1A4A5A5A5A5A5A5A2A2A2A2A4A4A5A2A2A1A1A1A2A1A1A1A2A5A2A2A2A2A2A2A19DA1A1A29DA1A29DA2A4A4A4A4A2A2A1A1A2A2A4A5A7AAA5A2A5A5A5A5A2A2A5A5A2A2A2A1A2A5A5A5A5A5A5AAAAACAAAAA7AAA7AAAAAAABACAAAAAAA7ABACACACAAAAAAAAA5A5A8A8ACACACAEAEB1B1B1AEAEB1B3B6B6B5B1B5B5B2B0ACACAEB0B2B0ACB0B2B2B2B1B1B1B0B0AEAEAEAEAEB1B1B3B6B5B5B1B1AEB0B0B0AEACAEACACAAA8ABAEABABABABACABAEB0B0AEAEACACACACAEACAEAEAEAEACAAACACACAEAEACACACAEACACACACACACAAA7A5A5A2A1A2A2A2A2A2A1A19D9D9B9B9999999B9B9D9C9B9B9CA1A19C9B9B999B999C9DA29D9C9D9C9B9B26010101010101010101010194F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8E6CECFD1CED1D3D1D3D0D0DBEEC6B3B3B2B1B2B2B2B2B2B2AEB2B0AEAEAEAEAEB2B2B2B2B6B5B2B0B0B0AEAEACACABACAEAEAEB0B2B1B2AEAEB2B5B3B3B6B9B9BCB8B8B6B8B8B9B6B9B9BCBCBFC1BFC1C1BFBFBFBFBFC3BFBFBCBBBBBBBFBCBFBCBDBFBFC3C3C3C1C1C1C0C0C0C3C3C1C0C3C5C5C3C0C0C0C0C0BDBCBCBFBCBFBFBBB8B9BBBBBBBBB8B8B8BBBBB6B6B6B6B3B3B3B3B2B2B0B0ACB0B0B0B0B0ACACACACABA7A7ABAAAAAAA7A8A8AAAAA5A4A4A4A4A4A7A5A4A5A4A2A2A2A2A4A4A2A29D9D9D9F9F9F9D9C9C9B9B9B9B9B9B969494929393909397979B9B9B9B9C9C9C9DA2A2A2A4A7A4A4A4A29DA2A2A29FA2A5A7ABAAACACB0B0B0ACB0AEAEAEACACAEAEB0B1B0B0B2B5B3B1B0B0B0B0B0B3B3B3B3B6B6B6B8B8B6BBBBB8B8B8B6B9B9BBBCBFBCBFC1BFBFC1C1C3C1C0C3C3BFBFBFC1C1C3C5C8C8C6C6C4C1C1C1C4C4C4C1BFBDB9B6B6B6B6B5B8B6B6B9B9B9B9B6B9B9B6B6B6B8B8B8B8B5B5B5B1B5B3B0B3B3B5B5B3B0B1B1B1B2B2B3B6B6B6B6B6B3B3B0B2B2B0B0B0B0ACACB0B2B3B6B6B6B5B1AEB0B0B0ACB0AEACAAAAAAABABACACACACACB0B1B1B1B1B1B1B3B5B8B6B6B6B6B6B8BCBFC1BFBFBFC1C1C3C3C3C4C3C1C4C1BFBFBFBFBFBCB8B6B6B6B9BBBBBDBDBDC0BFBFC0C4C3C3C1C0C0C1BFC1C1C3C0C3C3C6C3C0C3BFBFBFBFBFBFBCB9BBB8B8BBBFC0C0C3BFC3C3C4C6C6C6C5C6C4C4C5C5C6C6C6C4C4C1C1C3C6C3C5C1C4C0C0C0C3C0C0BDBDBFBCB8B8B8B6B5B5B5B3B2B2B5B6B9B6B6B5B8BBBBBBBCBCBCBCB8B9B9B9BCBCBCBBBBB8B9B8B8B8BBB9B9B6B9B8B8B8BCBFBFC3C0C0C0BFBFC0C1BFC0C0C0C0C0BFBFC1C1C1C1BFC1C1C5C5C6C6C5C6C6C6C6C6C5C6C6C5C4C6C5C8C5C8C8C8C8C9C8C9C8C6C8C8C6C6C6C6C4C4C4C6C6C5C3C3C4C4C3C3BFC1C4C3BFC3C1C5C6C4C3C0C0C0C1C1C5C5C633020202020202020202020296F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9E3C6C9C8C4C1C1BFC0C0C1CEE2BDAEAEAEB1B3B2B5B2AEB2B5B5B5B3B5B2B3B2AEB1B3B3B5B5B1B1AEAEABA8A8A7A7A7A4A4A4A29FA2A2A5A7A8A8A8A8A8A7A8ABACACA8A7A7A8A7A7A7A8A8ACACB0B0AEAEAEACA8A8ABACACA8A5A5A5A4A4A2A5A7A5A7A8A8A8ABACACACA8A8ABACA8A8A8ACACACAEACA8A7A7A8A8A8A8A5A5A8A7A7A8ABABA8A7A7A7A7A8ACAEB2B2B1B1B3B1ACB1B1ACACB1ACA8A8A8ABA8A8ACABA8ABA8A8A8ACB0B0ACAEAEAEB0B0ACACABACAEACACAEB0B0B0B0B0B0B3B0B1B3B3B3B3B1B1B1B1ACACABABACB0B3B3B3B3B5B6B3B1B2B2B0B1B5B3B3B5B8B5B5B5B2B2B5B8B6B5B5B8BBBBB9B9B9B6B5B5B6B9B9B6B9BCBCBCBCBDBDC0C0BFBFBDBCBCBBB9BBB6BBBBBDBDB9BDBDBDBBB9B9B9B9B9BCB9B9BCB9B6B8B8B8B8B8B8B5B8B8B8BBB8B5B6B6B6B3B6B5B8B8B5B5B5B8B8B8B5B6B9BDBDBCBDBFBDBFBDB9B8B9B8B8B9B5B3B0B0B3B5B2B2B0B1B0B0B1B1B3B3B2B2B5B5B3B3B3B3B1B1B1B3B5B5B5B5B3B5B5B6B9B6B3B3B3B6B6B9BBBDBDBDBDBFBCBCBFBFBFC0C0BFBFBCB9B9BDBDBDBDBCBBBDC0C0C4C0C4C4C4C5C4C4C4C4C4C3C3C4C4C4C4C5C5C5C5C6C8CACBCFD1D3D5D6D9DBDBDBDBDADEDEDEDEDEDCD9DCD9D9DAD7D6D6D7D7D5D7DBDBDAD7D7D7DBDCDCD9DBDBD9D9DBD7D6D6D6D6D6D5D6D3D3D3D5D5D1D0D0CFCFD1D0D3D6D6D6D7D7D7D7D6D3D1CECBCBCBCBCBCACBCBC9C6C6C6C6C9C6C6C5C5C1C1C1C1C1C1C3C0C0BFBFBDBDBCBCBCB9B9B9B9B9B9B9BCBCB9BCBCBBBDBDBDBDBDC0C0BFBDBDC0C0C0BDBDBFBFBDBDBDC0C1C1C4C0C0BFBFBDBDBDBCB9B9B9BCBDBDBDC0C0BFBFBFBFBFBFBFBDBDC0C1C4C6C9C8C5C5C5C6C6CACBCECECECBCBCBC9CACACBC9C6C6C6C6C6CAC6C9C9C9C9CBCBCBCECECECBCECBCAC8C8CBCBCBCBCBCFCBCBCBC9C9CACBCBCBCBCBCBCBCBD0D3D3D337020202020202020202020296F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAE6CFD0CFCECFD3CFD0D1D1DEEFCABBBBBDBBBCBBBBB8BCBCB9B9B8B9B9B9B5B3B2B5B5B3B5B5B5B5B6B6B5B9B9B9B5B5B8B5B2B5B2B5B5B3B3B2B2B2B5B3B2B2B2B0B2B0B0B0B2B0B0B0B2B5B5B3B2B2B3B5B6B8BCBBBBBBBCBDBDBDBFC3C0C3C5C1C1BFBDBDBBB8B6B5B3B2B5B8B6B6B5B5B5B5B5B5B9B9BBBBBDBBBBBDBBBBBBB6B6B8BCBCBCBBBBB6B6B6BBBBBBB8B8B8B6B9B9BBBDBFBFC3BFC3C0C0C4C3C0C0C1C1C1C3C1BFC0C0C0C0C3C3C3BFBFBFC3C3C3C3C4C1C1C1C0C0C3C3C4C1C1C3C0C1C1C3C5C5C8C9C9C9CECFCECFD0D0CECFCFCED0CBCBCBCBCBCBCBCBCBCFCECECED0CED0CFD1D1D1D1D3D7D7D3D1D1D1CFD1D1D0D1D1D1D1D1D1D1D0D1D1D6D6D6D6D7D7D7D4D4D4D7D9DBDBD9D9D6D6D3D7D7D7D7D9DCDCDBDADADADCDCDBDBD9D9D9D9DBDCDBD9D9DBDBDCDCDCDCDEE1DEDEDEE1E1DFDEDEE1DEDEDCDCDEDCDADBDADBDADCDCDFDFDEDBD7D6D3D1D1D1D3D6D1D1D3D3D3D3D1CECECECECECECECECECECBCBCECECFCBCFCBC9C9C9C9C9CBCBD0CBCBC9C9C6C6C4C4C4C1C5C1C3C3BFC3C3C1C1BDBDBCBCBCBDBDBFBCB9B9B9B8B8B8BCB8B8B6B3B5B9B9B6B6B5B6B6B5B2B2B1B1AEACACA8A8A8ACACACACB0B2B0B0B0B0B2B5B2B2B0B0B0B0B0B0AEAEAEAEACAAAAAAAAAAAAA8A8A7A7A7A4A4A4A4A09C9B9E9EA0A0A0A0A2A29F9F9C9FA0A0A4A4A4A7A5A7A7A7A4A29F9C9C9FA29F9C9C9C9C9C9C9B989B9B9B9B9B9B9B9B9B9B9B9EA09E9FA2A2A4A2A2A2A2A5A7A7A5A8A8A5A5A5A5A5A5A8A5A5A7A7A5A4A4A2A4A5A8A5A5A5A4A4A0A0A4A5A8A8A8A8A8ACB0B0B0B0ACACACACACACAEB1B1B1ACAAAAA7A5A4A4A2A2A5A7A8ACAEAEACA8AAACAAAAAAA8AAACACB0B0AEACAEAEB0B1AEB0B2B0B0B2B3B3B3B5B8B8B5B5B5B5B2B3B2B2B3B2B2B2B3B3B2B2B2B0B0B1B3B3B2B2B2B2B2B5B5B6B5B6B6B5B52D010101010101010102020297FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBDCB8B9B6B5B6B9B5B6B6B8C5D7B3A5A5A5A5A2A1A2A2A4A1A2A4A1A4A5A5A5A5A4A4A2A2A5A5A5A8A8ACA8A5A7A7A7A8A5A5A7A7A4A4A5A2A5A7A7A7A7A7A8ACACAEACACA8ACA8ACACACACAEACACACA8ACB0AEAEACACACACA8A8AAAAAEB0B0B2B2B5B5B5B1B1B5B6B9B9B8B5B8B8B5B2B0B0B2B2B5B2B0B2B5B5B5B5B5B5B2B2B1B1B1B1B1B5B5B6B9B8B8B5B5B1B2B2B2B2AEB2AEB0ACAAACB1ACACACACB0ACB1B2B2B2B2B0AEAEAEB1AEB1B2B2B1B0ACAEB0B0B2B2AEB0B0B1AEAEAEAEB0B0ACA8A8A8A5A2A4A4A5A5A5A2A2A1A19E9E9C9C9C9C9CA19F9C9C9FA2A29F9C9C9C9C9C9FA1A5A19FA19F9C9C9C9B98989C989C9C9C9FA1A4A4A4A5A5A8A5A5A8A5A8A8A8A8A7A4A4A7A7A8AAACB1AEB0AEAEB2B2B1B5B2B2B0AEAEB2B0B0B0B2B5B5B8B5B5B8B8B8B5B8BBBBBBBBBDBBBFBFC3C3C3C5C8C8CAC8CACACBCFCACACAC9C9CACED1CECFCBCBCBCBD0D0CFD1D0CED0D3D0D0D3D3D3D1D0CECEC9CECED0CED0D0D0D1D1D1D1D1D0D1D1D1D1D1D0CEC9CACECFCECECED1CFD0D0D3D1CFCFD1CED0CBC9C9C9CBCBC9C9C9CAC9C9C5C5C3C1C0C0BDBDBDBFBDBBBBB6BBB6B6B5B2B5B2B0B2B2B2B2B2B5B5B9B6B6B9B9B9BDBBBBBBB8B8B8B8B8B5B6B8BBBBBBBFBFBBBBBFBFBDB9B6B6B6B6B8B8B8B8B9B6B2B2B5B9B9B9B8B9B9B6B2B5B5B5B5B5B8B5B2B5B5B8B8B5B2B1B1B2B5B8B5B5B2B2B1B2B2B5B5B5B2B2B2B2B2B2B2B2B5B5B5B5B2B6B9B9BBB9B8B6B8B8B5B6B5B5B5B5B5B9B5B9BBB9BBBBBBBBBBBBBBBBB9B9B5B9B5B2B2B2B5B9B6B6B6B9BBBBBBB6BBBDBFBFBFBFBBBDBDBDC0C3C0BDBDBDC0BDC0C3C1C1BDC0C3C5C9C9C5C3C3C6C6C6C6C9C9C9C8C5C6C8C5C5C5C5C6C9C8C8C6C5C9C6C6C5C5C1C3C3C1BFBFC1C1C0C0BDBDBDBDC0C0C0C0C0BDBDBDBBBDBBBBBDBDBFBDBFC0C0C0BDBDBDBBB8B5B5B5B2B5B52D010101010101010101010197FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBD6B1B0B0B1B6B6B1B0B1AEB9CBAEA1A5A19FA19F9C9C9C9B98989C989C9C9C9FA1A4A4A4A5A5A8A5A5A8A5A8A8A8A8A7A4A4A7A7A8AAACB1AEB0AEAEB2B2B1B5B2B2B0AEAEB2B0B0B0B2B5B5B8B5B5B8B8B8B5B8BBBBBBBBBDBBBFBFC3C3C3C5C8C8CAC8CACACBCFCACACAC9C9CACED1CECFCBCBCBCBD0D0CFD1D0CED0D3D0D0D3D3D3D1D0CECEC9CECED0CED0D0D0D1D1D1D1D1D0D1D1D1D1D1D0CEC9CACECFCECECED1CFD0D0D3D1CFCFD1CED0CBC9C9C9CBCBC9C9C9CAC9C9C5C5C3C1C0C0BDBDBDBFBDBBBBB6BBB6B6B5B2B5B2B0B2B2B2B2B2B5B5B9B6B6B9B9B9BDBBBBBBB8B8B8B8B8B5B6B8BBBBBBBFBFBBBBBFBFBDB9B6B6B6B6B8B8B8B8B9B6B2B2B5B9B9B9B8B9B9B6B2B5B5B5B5B5B8B5B2B5B5B8B8B5B2B1B1B2B5B8B5B5B2B2B1B2B2B5B5B5B2B2B2B2B2B2B2B2B5B5B5B5B2B6B9B9BBB9B8B6B8B8B5B6B5B5B5B5B5B9B5B9BBB9BBBBBBBBBBBBBBBBB9B9B5B9B5B2B2B2B5B9B6B6B6B9BBBBBBB6BBBDBFBFBFBFBBBDBDBDC0C3C0BDBDBDC0BDC0C3C1C1BDC0C3C5C9C9C5C3C3C6C6C6C6C9C9C9C8C5C6C8C5C5C5C5C6C9C8C8C6C5C9C6C6C5C5C1C3C3C1BFBFC1C1C0C0BDBDBDBDC0C0C0C0C0BDBDBDBBBDBBBBBDBDBFBDBFC0C0C0BDBDBDBBB8B5B5B5B2B5B5B5B5B5B5B1B5B2B1B1B1B1B1B5B5B5B5B8B6B5B2B2B2B1B1B0B0ACB0B1B1B1B2B5B2B5B1B1B5B6B5B5B8BBBBBDBBBBB9BBBBBBB9BBBBBDBDC1C3C1C3C3C1C1C0C1C1C5C1C0BDBDBDBDC0BDC0BDBFC1C1C5C5C5C3C3C3C3C3C3C5C5C3C3C5C6C6C5C3C3C3C3C3BFBDBDC1BDC0C0BDBBBBBDBDBDBDBBBBBBBDBDB9B9B8B8B5B5B5B5B5B5B2B2B0B2B2B2B2B2B0AEAEAEACA8A8ACACACACA8AAAAACACA8A5A5A5A5A5A8A8A5A7A5A2A2A2A4A5A5A2A2A1A1A1A1A1A1A19E9E9C9C9C9C9C9C989797949696939698989C9C9C9C9E9F9FA1A2A2A4A5A8A5A529010101010101010101010197FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCEFDAD9DBDADEDBD7DBD9D7E1F3D1C1BFBCBDBBBBBDC1C3C3C5C3C5C5C6C9C9C9C8C9C6C6C8C8C9C9C9C6C6C4C4C5C9C5C8C4C6C3C3C3C5C3C3C0C0C1BFBBBBBBBBB8B8B8B6B5B5B8BBBCBBBBB8BBBDBDBDBFBFBFBFBBBCBCBCBFBFBFBDBDBBBCBBBBBBBDBCBCBBBCBBBBBBBFC1C3C5C3C3C3C3C3C3C4C1C3C3C3C3C3C1C1C4C4C4C4C3C4C4C8C8C9C9C8C9C9C9C9C9C8C9C9C8C6C9C8CAC8CACACACACECACECBC9CBCBC9C9C9C9C6C6C6C9C9C8C5C5C6C6C5C5C3C4C6C5C3C5C4C8C9C6C5C3C3C3C4C4C8C8C9C9C9C9C9C8CAC9C8C4C4C4C3C3C3C3C1C1C0C0C0BFBFBFBFBFBBBBB9B9B6B2B2B2B5B5B5B5B3B2B2B3B3B3B3B3B3B8B5B3B6B6B3B5B5B6B5B2B0B0ACAEACB0B1B1B0B1B1B1B2B5B3B6B3B1B3B6B6B8B5B6B3B5B3B1B2B5B5B6B6B2B2B1B1ACABABA8A8A8A5A5A5A4A1A5A5A7A8ABAAAAABAAA8AAACAEAEABA8A8ABA8A8A8AAABB0B0B2B2B1B1B1AEAAAAACB0B0ABA7A7A7A5A5A5A7A8A7A8ABABABACAEAEAEABABACAEABAAABAEAEAEB1AEAAA8A8AAAAAAAAA7A7AAA8A8AAACACABA8A8A8A8ABB0B1B3B3B2B2B5B2B0B2B2B0B0B2B0ABABABACABABAEACABACAAABABAEB2B2AEB1B1B1B2B2B0B0ACB0B1AEAEB1B2B2B2B2B2B2B5B2B2B5B5B5B5B2B2B2B2B0B0ACACB0B2B5B5B5B5B6B9B5B2B3B3B2B2B6B5B5B8BBB6B6B6B3B3B6BBB9B6B6BBBCBCBBBBBBB9B8B6B9BBBBB9BBBDBDBDBDC0C0C3C3C1C1BFBDBDBCBBBCB9BCBCBFBFBBBFBFC0BCBBBBBBBBBBBDBBBBBDBBB9BBBBBBBBBBBBB6BBBBBBBCBBB6B9B9B9B5B9B8BBBBB6B8B8BBBBBBB8B9BBBFBFBDC0C1C0C1BFBBBBBBBBBBBBB8B5B2B2B5B8B3B3B2B2B2B2B2B2B5B5B3B3B8B8B5B5B5B5B2B2B2B5B8B8B8B8B5B6B8B9BBB9B5B5B5B9B9BBBCBFBFBFBFC1BDBDC1C1C1C3C3C1C1BDBBBBBFBFBFBFBDBCC0C3C3C6C3C6C6C6C8C6C6C6C6C6C5C5C6C6C6C6C8C833020202020202020202020298FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF1DBDCDEDCDEDEDEDCDCDAE4F6D7C5C8C4C6C3C3C3C5C3C3C0C0C1BFBBBBBBBBB8B8B8B6B5B5B8BBBCBBBBB8BBBDBDBDBFBFBFBFBBBCBCBCBFBFBFBDBDBBBCBBBBBBBDBCBCBBBCBBBBBBBFC1C3C5C3C3C3C3C3C3C4C1C3C3C3C3C3C1C1C4C4C4C4C3C4C4C8C8C9C9C8C9C9C9C9C9C8C9C9C8C6C9C8CAC8CACACACACECACECBC9CBCBC9C9C9C9C6C6C6C9C9C8C5C5C6C6C5C5C3C4C6C5C3C5C4C8C9C6C5C3C3C3C4C4C8C8C9C9C9C9C9C8CAC9C8C4C4C4C3C3C3C3C1C1C0C0C0BFBFBFBFBFBBBBB9B9B6B2B2B2B5B5B5B5B3B2B2B3B3B3B3B3B3B8B5B3B6B6B3B5B5B6B5B2B0B0ACAEACB0B1B1B0B1B1B1B2B5B3B6B3B1B3B6B6B8B5B6B3B5B3B1B2B5B5B6B6B2B2B1B1ACABABA8A8A8A5A5A5A4A1A5A5A7A8ABAAAAABAAA8AAACAEAEABA8A8ABA8A8A8AAABB0B0B2B2B1B1B1AEAAAAACB0B0ABA7A7A7A5A5A5A7A8A7A8ABABABACAEAEAEABABACAEABAAABAEAEAEB1AEAAA8A8AAAAAAAAA7A7AAA8A8AAACACABA8A8A8A8ABB0B1B3B3B2B2B5B2B0B2B2B0B0B2B0ABABABACABABAEACABACAAABABAEB2B2AEB1B1B1B2B2B0B0ACB0B1AEAEB1B2B2B2B2B2B2B5B2B2B5B5B5B5B2B2B2B2B0B0ACACB0B2B5B5B5B5B6B9B5B2B3B3B2B2B6B5B5B8BBB6B6B6B3B3B6BBB9B6B6BBBCBCBBBBBBB9B8B6B9BBBBB9BBBDBDBDBDC0C0C3C3C1C1BFBDBDBCBBBCB9BCBCBFBFBBBFBFC0BCBBBBBBBBBBBDBBBBBDBBB9BBBBBBBBBBBBB6BBBBBBBCBBB6B9B9B9B5B9B8BBBBB6B8B8BBBBBBB8B9BBBFBFBDC0C1C0C1BFBBBBBBBBBBBBB8B5B2B2B5B8B3B3B2B2B2B2B2B2B5B5B3B3B8B8B5B5B5B5B2B2B2B5B8B8B8B8B5B6B8B9BBB9B5B5B5B9B9BBBCBFBFBFBFC1BDBDC1C1C1C3C3C1C1BDBBBBBFBFBFBFBDBCC0C3C3C6C3C6C6C6C8C6C6C6C6C6C5C5C6C6C6C6C8C8C8C8C9CACED0D1D4D5D7D7DBDCDCDCDCDCDFDFDFDFE1DEDBDEDBDBDCD9D7D7DADA38020202020202020202020298FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCECD1D1D1D0CED1D0D5D7D7E1F1D0C0BCBCC0C0C3C3C3C1C0BDBDC1C1BFBCB9B6B3B3B3B6B6B6B8B8B8B8B8B6B3B3B3B6B6BBBBB9BBBDBDBDBDC1C1C1C3C3C4C6C6C6C6C5C5C3C3C3C1C3C4C4C6C6C6C6C3C5C5C5C8CACECEC9CBCBCAC8C9C9CBC9C9C9CBCFCFD1D3D0CED0CFCFCACACACFD0CBCBCBC9C6C6C4C4C4C5C6C6C9C5C5C8C9C9CED0D0CECFCFCFCBC9C9C8C5C3C6C6C8C8C4C3C4C5C4C3C3BFBCBCB9BCBDBDBBB9B8B8B8B5B6B6B6B6B5B5B3B3B3B3B2AEB2B2B2B3B2B0B0ABABAEAAAAAEAAA8A7A8A7A7A4A0A09E9EA0A4A4A5A1A1A1A1A1A4A4A4A7A8A8A8A8A7A7A5A5A5A5A7A7A8A5A5A4A4A4A5A4A4A4A5A7A5A5A5A5A5A5A4A0A4A4A5A1A4A5A1A5A7A7A7A7A5A5A4A4A5A5A7A8AAACA8A5A7A7A7A8A5A5A7A7A5A5A5A4A5A7A7A7A7A7A8ACACB0ACACAAACAAACACACAEB0ACACACAAAEB1B0B0ACACACACA8A8ABABB0B1B1B2B2B5B5B5B2B2B5B8BBBBB9B5B9B9B6B3B1B1B2B3B6B3B1B3B6B6B6B5B5B5B3B3B2B2B2B2B2B5B5B8BBB9B9B5B5B2B3B3B3B2B0B2B0B1ACABAEB2AEAEAEAEB1AEB2B3B3B2B2B1B0B0B0B2B0B2B2B2B2B1ACB0B1B1B2B2B0B1B1B2B0B0B0B0B1B1ACAAA8A8A5A4A5A5A5A5A5A4A4A0A09E9E9C9C9C9C9CA09F9C9C9FA4A49F9C9C9C9C9C9FA1A5A19FA19F9C9C9C9B98989C989C9C9C9FA1A5A5A5A7A7A8A5A5A8A5A8A8A8A8A7A5A5A7A7AAABAEB2B0B1B0B0B2B2B2B5B3B3B1B0B0B2B1B1B1B2B5B5B9B5B5B9B9B9B5B9BBBBBBBBBFBCC0C0C3C3C3C6C9C9CBC9CBCBCED0CBCBCBC9C9CBCFD1CFD0CECECECED1D1D0D1D1CFD1D4D1D1D4D4D4D3D1CFCFCACFCFD1CFD1D1D1D3D3D3D3D1D1D3D3D1D1D1D1CFCACBCFD0CFCFCFD1D0D1D1D4D1D0D0D1CFD1CECACACACECEC9CAC9CBC9C9C6C6C3C3C1C1BDBDBDC0BDBCBBB8BBB8B8B5B3B6B3B1B3B3B3B3B3B6B6BBB8B8BBBBBBBDBBBCBCB92E020202010202020202020298FCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDDFC0C4C5C4C8C8C9CACAC6D1EBC9BBBBBBB6BBBBB8B5B1B1B3B5B8B5B1B5B8B8B8B6B6B6B5B5B2B2B2B2B2B6B6B9BBBBBBB6B6B2B5B5B5B3B1B3B1B1AEACB0B2B0B0B0B0B1B0B2B5B5B3B3B1B1B1B1B2B1B2B3B3B2B1AEB1B1B1B3B3B1B1B1B2B1B1B1B1B1B1AEABAAAAA7A5A5A5A7A7A7A5A5A1A19F9F9C9C9C9E9EA1A19E9EA1A5A5A19E9E9C9E9CA1A3A7A3A1A3A19E9E9E9C9A9A9E9A9E9C9CA1A3A5A5A5A7A7AAA7A7AAA7AAAAAAAAA8A5A5A8A8ABACB0B2B1B1B1B1B3B3B2B6B5B5B1B1B1B3B1B1B1B3B6B6BBB6B6BBBBBBB6BBBCBCBCBCC0BDC1C1C3C3C3C6C9C9CBC9CBCBCED0CBCBCBC9C9CBCFD1CFD0CECECECED1D1D0D1D1CFD1D4D1D1D4D4D4D3D1CFCFCACFCFD1CFD1D1D1D3D3D3D3D1D1D3D3D1D1D1D1CFCACBCFD0CFCFCFD1D0D1D1D4D1D0D0D1CFD1CECACACACECEC9CAC9CBC9C9C6C6C3C3C3C3BFBFBFC1BFBDBCB9BCB9B9B6B5B8B5B1B5B5B5B5B5B8B8BBB9B9BBBBBBBFBCBDBDBBBBBBBBBBB8B9BBBDBDBDC1C1BDBDC1C1BFBBB9B9B9B9BBBBBBBBBBB9B5B5B8BBBBBBBBBBBBB9B5B8B8B8B8B8BBB6B3B6B6BBBBB8B3B2B2B5B6BBB6B6B3B5B2B5B3B6B6B8B5B5B3B5B5B3B5B5B8B8B8B6B5B9BBBBBDBBBBB9BBBBB6B9B8B8B8B8B8BBB8BBBDBBBDBDBDBDBDBCBCBDBBBBB8BBB8B5B5B5B8BBB9B9B9BBBDBDBCB9BCBFC1C1C1C1BDBFBFBFC3C3C3BFBFBFC3BFC3C3C3C3C0C3C4C6C9C9C6C4C4C8C8C8C8C9CACAC9C6C8C9C6C5C6C5C8C9C9C9C8C6C9C8C8C5C5C3C3C4C3C1C1C3C3C3C3C0C0C0C0C3C3C3C3C3BFC0C0BCBFBCBCBFBFC1BFC1C3C3C3BFBFC0BDBBB8B8B6B5B6B6B6B6B6B6B2B6B3B2B2B2B2B2B6B6B6B6BBB9B6B3B3B3B2B2B1B1B0B1B2B2B2B3B6B5B6B2B2B6B9B8B8BBBDBDC0BCBCBBBCBCBDBBBDBDC0C0C3C4C3C4C4C3C3C3C3C3C5C3C3C0BFBFBFC3C0C3C0C1C3C3C5C5C5C4C4C4C3C3C3C533020202020202020202020299FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF1D9DBDBDBDEE2E3E4E1E3EEF9D6C9C9CBC9C9C9CBCFCFD1D3D0CED0CFCFCACACACFD0CBCBCBC9C6C6C4C4C4C5C6C6C9C5C5C8C9C9CED0D0CECFCFCFCBC9C9C8C5C3C6C6C8C8C4C3C4C5C4C3C3C0BDBDBBBDBFBFBCBBB9B9B9B6B8B8B8B8B6B6B5B5B5B5B2B0B2B3B2B5B2B1B1ACACB0ABABB0ABAAA7AAA7A7A5A1A19F9FA1A5A5A7A3A3A3A3A3A5A5A5A7AAAAAAAAA8A8A7A7A7A7A7A7AAA7A7A5A5A5A7A5A5A5A5A8A7A5A7A7A7A7A5A1A5A5A5A3A5A5A3A5A7A7A7A7A5A5A5A5A7A7A7AAABAEAAA7A8A8A8AAA7A7A8A8A5A5A7A5A7A8A8A8A8A8AAAEAEB1AEAEABAEABAEAEAEB0B1AEAEAEABB0B1B1B1AEAEAEAEAAAAACACB1B1B1B3B3B6B6B6B2B2B6B9BBBBBBB6BBBBB8B5B1B1B3B5B8B5B1B5B8B8B8B6B6B6B5B5B2B2B2B2B2B6B6B9BBBBBBB6B6B2B5B5B5B3B1B3B1B1AEACB0B2B0B0B0B0B1B0B2B5B5B3B3B1B1B1B1B2B1B2B3B3B2B1AEB1B1B1B3B3B1B1B1B2B1B1B1B1B1B1AEABAAAAA7A5A5A5A7A7A7A5A5A1A19F9F9C9C9C9E9EA1A19E9EA1A5A5A19E9E9C9E9CA1A3A7A3A1A3A19E9E9E9C9A9A9E9A9E9C9CA1A3A5A5A5A7A7AAA7A7AAA7AAAAAAAAA8A5A5A8A8ABACB0B2B1B1B1B1B3B3B2B6B5B5B1B1B1B3B1B1B1B3B6B6BBB6B6BBBBBBB6BBBCBCBCBCC0BDC1C1C3C3C3C6C9C9CBC9CBCBCED0CBCBCBC9C9CBCFD1CFD0CECECECED1D1D0D1D1CFD1D4D1D1D4D4D4D3D1CFCFCACFCFD1CFD1D1D1D3D3D3D3D1D1D3D3D1D1D1D1CFCACBCFD0CFCFCFD1D0D1D1D4D1D0D0D1CFD1CECACACACECEC9CAC9CBC9C9C6C6C3C3C3C3BFBFBFC1BFBDBCB9BCB9B9B6B5B8B5B1B5B5B5B5B5B8B8BBB9B9BBBBBBBFBCBDBDBBBBBBBBBBB8B9BBBDBDBDC1C1BDBDC1C1BFBBB9B9B9B9BBBBBBBBBBB9B5B5B8BBBBBBBBBBBBB9B5B8B8B8B8B8BBB6B3B6B6BBBBB8B3B2B2B5B6BBB6B6B3B5B2B5B3B6B6B8B5B5B3B5B5B3B5B5B8B8B82E010202020202020202020199FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDEED7D5D7DADEE1DFDEDBDBE9F8D6C8C9CACAC9C6C8C9C6C5C6C5C8C9C9C9C8C6C9C8C8C5C5C3C3C4C3C1C1C3C3C3C3C0C0C0C0C3C3C3C3C3BFC0C0BCBFBCBCBFBFC1BFC1C3C3C3BFBFC0BDBBB8B8B6B5B6B6B6B6B6B6B2B6B3B2B2B2B2B2B6B6B6B6BBB9B6B3B3B3B2B2B1B1B0B1B2B2B2B3B6B5B6B2B2B6B9B8B8BBBDBDC0BCBCBBBCBCBDBBBDBDC0C0C3C4C3C4C4C3C3C3C3C3C5C3C3C0BFBFBFC3C0C3C0C1C3C3C5C5C5C4C4C4C3C3C3C5C5C4C3C5C8C8C5C3C3C3C3C3C1C0C0C3C0C3C3BFBCBDBFBFBFBFBCBCBCBFBFBBBBBBBBB8B8B8B8B6B6B3B3B1B3B3B3B3B3B1B1B1B1B0ABABB0AEAEAEABACACAEAEAAA7A7A7A7A7ABAAA7A8A7A5A5A5A5A7A7A5A5A1A1A1A3A3A3A19F9F9C9C9C9C9E9C98979796979794979A9A9C9C9C9C9FA1A1A1A5A5A5A7ABA7A7A7A5A1A5A5A5A3A5A8ABB0AEB1B1B3B3B3B1B3B2B2B2B1B1B2B2B3B5B3B3B6B9B8B5B3B3B3B3B3B8B8B8B8BBBBBBBCBCBBBFBFBCBCBCBBBDBDBFC0C3C0C3C4C3C3C4C4C5C4C3C5C5C3C3C3C4C4C5C8CACBC9C9C6C4C4C4C6C6C6C4C3C1BDBBBBBBBBB9BCBBBBBDBDBDBDBBBDBDBBBBBBBCBCBCBCB9B9B9B5B9B8B3B8B8B9B9B8B3B5B5B5B6B6B8BBBBBBBBBBB8B8B3B6B6B3B3B3B3B1B1B3B6B8BBBBBBB9B5B2B3B3B3B1B3B2B1AEAEAEB0B0B1B1B1B1B1B3B5B5B5B5B5B5B8B9BCBBBBBBBBBBBCC0C3C4C3C3C3C4C4C5C5C5C6C5C4C6C4C3C3C3C3C3C0BCBBBBBBBDBFBFC1C1C1C3C3C3C3C6C5C5C4C3C3C4C3C4C4C5C3C5C5C9C5C3C5C3C3C3C3C3C3C0BDBFBCBCBFC3C3C3C5C3C5C5C6C9C9C9C8C9C6C6C8C8C9C9C9C6C6C4C4C5C9C5C8C4C6C3C3C3C5C3C3C1C1C3C0BCBCBCBBB9B9B9B8B6B6B9BBBDBBBBB9BCBFBFBFC0C0C0C0BCBDBDBDC0C0C0BFBFBCBDBCBCBCBFBDBDBBBDBCBCBCC0C3C3C5C3C3C3C3C3C3C4C3C3C3C3C3C3C3C3C4C4C4C4C3C4C4C8C8C935020202020202020202020299FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF3DFDFDCDADEDEDEDFDCDAE7F7D4C3C3C0BDBDBBBDBFBFBCBBB9B9B9B6B8B8B8B8B6B6B5B5B5B5B2B0B2B3B2B5B2B1B1ACACB0ABABB0ABAAA7AAA7A7A5A1A19F9FA1A5A5A7A3A3A3A3A3A5A5A5A7AAAAAAAAA8A8A7A7A7A7A7A7AAA7A7A5A5A5A7A5A5A5A5A8A7A5A7A7A7A7A5A1A5A5A5A3A5A5A3A5A7A7A7A7A5A5A5A5A7A7A7AAABAEAAA7A8A8A8AAA7A7A8A8A5A5A7A5A7A8A8A8A8A8AAAEAEB1AEAEABAEABAEAEAEB0B1AEAEAEABB0B1B1B1AEAEAEAEAAAAACACB1B1B1B3B3B6B6B6B2B2B6B9BBBBBBB6BBBBB8B5B1B1B3B5B8B5B1B5B8B8B8B6B6B6B5B5B2B2B2B2B2B6B6B9BBBBBBB6B6B2B5B5B5B3B1B3B1B1AEACB0B2B0B0B0B0B1B0B2B5B5B3B3B1B1B1B1B2B1B2B3B3B2B1AEB1B1B1B3B3B1B1B1B2B1B1B1B1B1B1AEABAAAAA7A5A5A5A7A7A7A5A5A1A19F9F9C9C9C9E9EA1A19E9EA1A5A5A19E9E9C9E9CA1A3A7A3A1A3A19E9E9E9C9A9A9E9A9E9C9CA1A3A5A5A5A7A7AAA7A7AAA7AAAAAAAAA8A5A5A8A8ABACB0B2B1B1B1B1B3B3B2B6B5B5B1B1B1B3B1B1B1B3B6B6BBB6B6BBBBBBB6BBBCBCBCBCC0BDC1C1C4C4C4C8C9C9CEC9CECECFD0CECECECACACED0D3D0D0CFCFCFCFD1D1D0D3D1D0D1D4D1D1D4D4D4D4D1D0D0CBD0D0D1D0D1D1D1D4D4D4D4D3D1D4D4D3D3D3D1D0CBCED0D0D0D0D0D3D0D1D1D4D3D0D0D3D0D1CFCBCBCBCFCFCACBCACECACAC8C8C4C3C3C3BFBFBFC1BFBDBCB9BCB9B9B6B5B8B5B1B5B5B5B5B5B8B8BBB9B9BBBBBBBFBCBDBDBBBBBBBBBBB8B9BBBDBDBDC1C1BDBDC1C1BFBBB9B9B9B9BBBBBBBBBBB9B5B5B8BBBBBBBBBBBBB9B5B8B8B8B8B8BBB6B3B6B6BBBBB8B3B2B2B5B6BBB6B6B3B5B2B5B3B6B6B8B5B5B3B5B5B3B5B5B8B8B8B6B5B9BBBBBDBBBBB9BBBBB6B9B8B8B8B8B8BBB8BBBDBBBDBDBDBDBDBCBCBDBBBBB8BBB8B5B5B5B8BBB9B9B9BBBDBDBCB9BCBFC1C1C1C1BDBFBFBFC3C432020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE5CACECFD0D5D3D1D3D4D6E1F4D1C5C3C5C8C4C4C3C0C0BDBBBBB9B6B5B8BBBBBBB9B9B9B9B9B9BCBCBDBDC0BDBDC0BDBDBDBBBBBBBFBFBFBDBDBBBBBBBDBDBDBBBBBBBBBCBCBDC1C3C3C5C3C5C3C3C6C5C3C3C4C4C4C5C4C3C3C3C3C3C5C5C5C3C3C3C5C5C5C5C6C4C4C4C3C3C5C5C6C4C4C5C3C4C4C5C9C9CACBCBCED0D1D0D1D3D3D0D1D1D0D3D0D0D0D0D0D0D0D0CFD1D0D0D0D3D0D3D1D4D4D4D4D7DADAD7D4D4D4D1D4D4D3D4D4D4D4D4D4D4D3D4D4D9D9D9D9DBDADAD7D7D7DADBDEDEDBDBD9D9D7DADADADADBDFDFDEDCDCDCDFDFDEDEDBDBDBDBDEDFDEDBDBDEDEDFDFDFDFE1E3E1E1E1E3E4E2E1E1E4E1E1DFDFE1DFDCDEDCDEDCDFDFE2E2E1DEDBD9D7D4D4D4D7D9D4D4D7D7D7D7D4D0D0D0D0D0D0D0D0D0D0CFCFD0D0D1D0D1D0CECECECECED0D0D3D0D0CECEC9C9C6C6C6C4C8C4C5C5C3C5C5C4C4C1C1BFBFBFC1C1C3BFBCBCBCBBBBBBBFBBBBBBB6B9BCBCBBBBB9BBBBB8B5B5B2B2B1AEAEABAAAAAEB0B0B0B1B5B1B1B1B1B5B8B5B5B1B1B1B1B1B1B1B1B1B1B0ACACACACACACABABA8A8A8A5A5A5A5A39F9CA1A1A3A3A3A3A5A5A1A19FA1A3A3A5A5A5A8A7A8A8A8A5A5A19E9EA1A5A19E9E9E9E9E9F9C9A9C9C9C9C9C9C9C9C9C9C9CA1A3A1A1A5A5A5A5A5A5A5A7A8A8A7ABABA7A7A7A7A7A7AAA7A7A8A8A7A5A5A5A5A7AAA7A7A7A5A5A3A3A5A7ABABABABABAEB1B1B1B1AEAEAEAEAEAEB1B2B2B2B0ACACA8A7A5A5A5A5A7A8AAAEB1B1AEAAACB0ACACACAAACB0B0B1B1B1B0B1B1B1B2B1B1B3B1B1B5B6B6B6B8BBBBB8B9B8B9B5B6B3B3B6B3B3B3B6B6B3B3B3B1B1B2B6B6B5B5B5B5B5B8B8BBB8BBBBB8B8B6B8B8B8B3B3B3B8B8B9BBBBBBBBBBBBBBB6B6B3B6BBBBBCBCBCBCBFBCB9B8B6B6B5B1B5B5B5B1B3B3B2B3B1B1B1AEABABAEAEAEAEABACACAAACAAAAAAAAAAA8A8A8A8A8A7A7AAA7AAAEABABAEAEAA2B010101010101010101010198FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE0C4C5C1BDBDBDBBBBBBBFC9DBBBACACACAEB0B0B0ACACAEB0ACABACB0B0B0B1B0ABAAAAABABABABA7A7ABAAAAABAEAEACAAAAAAAAACB1B1B5B5B3B3B6B3B1B3B3B1B1B3B1ACACACAEACACB0AEACAEABACACB0B2B2B0B1B1B1B2B2B1B1AEB1B1B0B0B1B2B2B2B2B2B2B6B2B3B6B6B6B6B3B3B3B3B1B1AEAEB1B2B6B6B6B6B8BBB6B3B5B5B2B3B8B6B6B9BBB8B8B8B5B5B8BBBBB8B8BBBDBDBCBCBCBBB9B8BBBCBCBBBCBFBFBFBFC1C1C4C4C3C3C0BFBFBDBCBDBBBDBDC0C0BCC0C0C1BDBCBCBCBCBCBFBCBCBFBCBBBBBBBBBBBBBBB8BBBBBBBDBBB8BBBBBBB6BBB9BBBBB8B9B9BBBBBBB9BBBCC0C0BFC1C3C1C3C0BCBBBCBBBBBCB9B6B2B2B6B9B5B5B2B3B2B2B3B3B6B6B5B5B9B9B6B6B6B6B3B3B3B6B9B9B9B9B6B8B9BBBCBBB6B6B6BBBBBCBDC0C0C0C0C3BFBFC3C3C3C4C4C3C3BFBCBCC0C0C0C0BFBDC1C3C4C8C4C8C8C8C9C8C8C8C8C8C6C6C8C8C8C8C9C9C9C9CACBCFD0D3D4D7D9DADCDFDFDFDFDEE1E1E1E1E2E1DCE1DCDCDEDBDADADBDBD9DBDFDFDEDBDBDBDFE1E1DCDFDFDCDCDFDBDADADADADAD9DAD7D7D7D9D9D4D4D4D3D3D4D4D7DADADADBDBDBDBDAD7D4D1D0D0D0D0D0CFD0D0CEC9C9CACACECACAC9C9C5C5C5C5C5C5C6C4C4C3C3C1C1BFBFBFBCBCBCBCBCBCBCBFBFBCBFBFBDC1C0C0C0C0C3C3C3C1C1C3C3C3C1C1C3C3C0C0C1C4C5C5C8C4C4C3C3C0C1C1BFBCBCBCBFC0C0C1C4C4C3C3C3C3C3C3C3C1C1C3C5C8CACECBC9C9C9CACACFD0D1D1D1D0D0D0CECFCFD0CECACACACACACFCACECECECED0D0D0D1D1D1D0D1D0CFCBCBD0D0D0D0D0D3D0D0D0CECECFD0D0D0D0D0D0D0D0D4D7D7D7D7D7DADADCDBDCDCE1DEE1E2E1E3E2E1DEDBDBDBDBDEDBDADADADADBDCDCDCDCDCDCDBDCDFDCDCDCDCDCDEDEDEDEDFDFE1E4E2E2E4E6E9E6E6E2E2E2E6E6E3E4E4E3E2E2E3E1E1E4E1E3E3E4E4E1E1DEDBD9D9D9D9D93A020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF5E3E4E4E4E6EAE4E6E4E4EBF9D5C6C6C4C8C4C5C5C3C5C5C4C4C1C1BFBFBFC1C1C3BFBCBCBCBBBBBBBFBBBBBBB6B9BCBCBBBBB9BBBBB8B5B5B2B2B1AEAEABAAAAAEB0B0B0B1B5B1B1B1B1B5B8B5B5B1B1B1B1B1B1B1B1B1B1B0ACACACACACACABABA8A8A8A5A5A5A5A39F9CA1A1A3A3A3A3A5A5A1A19FA1A3A3A5A5A5A8A7A8A8A8A5A5A19E9EA1A5A19E9E9E9E9E9F9C9A9C9C9C9C9C9C9C9C9C9C9CA1A3A1A1A5A5A5A5A5A5A5A7A8A8A7ABABA7A7A7A7A7A7AAA7A7A8A8A7A5A5A5A5A7AAA7A7A7A5A5A3A3A5A7ABABABABABAEB1B1B1B1AEAEAEAEAEAEB1B2B2B2B0ACACA8A7A5A5A5A5A7A8AAAEB1B1AEAAACB0ACACACAAACB0B0B1B1B1B0B1B1B1B2B1B1B3B1B1B5B6B6B6B8BBBBB8B9B8B9B5B6B3B3B6B3B3B3B6B6B3B3B3B1B1B2B6B6B5B5B5B5B5B8B8BBB8BBBBB8B8B6B8B8B8B3B3B3B8B8B9BBBBBBBBBBBBBBB6B6B3B6BBBBBCBCBCBCBFBCB9B8B6B6B5B1B5B5B5B1B3B3B2B3B1B1B1AEABABAEAEAEAEABACACAAACAAAAAAAAAAA8A8A8A8A8A7A7AAA7AAAEABABAEAEAAAAABAEB1B3B3B3B3B3B3B2B2B1B1B1B1AEAEAAAAAEACABACAAAAAEACACA8A8A7A5A7A7A7A8A8A8ABABB0B0B0ABABAEB1B3B1B3B6BBBBBBB8BBBBBBBCBFBDBDBFBDBDBDBDBDC1BFBFBBBFBBBBBBBBBCBCBCBCBCBCBBB8B3B1B3B3B2B2B2B5B5B2B3B3B3B3B6B8B6B3B3B1B0ACACACB0B1B0B2B3B5B1B5B9B9BBBBBBBBB9BBBBBBBBB9BBBBBFC3C3C4C4C4C3C1BDC1BDBDBBBBBBBBBBBBBCBBB6B3B3B3B6B6B6B9B5B5B3B3B3B8BBBBBDC0C0C3C0C3C3C4C8C9C9C8C8C9C9C9C9CBCFCFCFCBC9CBC9C9C9CAC9C9C9C9C9C8C6C6C9C6C6C5C8C9C9C9C9C6C6C4C3C4C3C1C3C3C3C0C3C4C4C3C3C3C5C5C4C4C3C1C1C1C0BFBFC3C0C3C0C0C0BCBBB8B5B2B2B6B9BCBBBBB9B9BBBCBCBCBCB9B9B9B9B8B8B8B5B5B2B2B2B2B2B1B1B0B0B0B0ABABABAC2C010101020101010101010198FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEDEBFC3C6C5C6C6C1C3C3C3CEE2C1B2B2B2B0ACACA8A7A5A5A5A5A7A8AAAEB1B1AEAAACB0ACACACAAACB0B0B1B1B1B0B1B1B1B2B1B1B3B1B1B5B6B6B6B8BBBBB8B9B8B9B5B6B3B3B6B3B3B3B6B6B3B3B3B1B1B2B6B6B5B5B5B5B5B8B8BBB8BBBBB8B8B6B8B8B8B3B3B3B8B8B9BBBBBBBBBBBBBBB6B6B3B6BBBBBCBCBCBCBFBCB9B8B6B6B5B1B5B5B5B1B3B3B2B3B1B1B1AEABABAEAEAEAEABACACAAACAAAAAAAAAAA8A8A8A8A8A7A7AAA7AAAEABABAEAEAAAAABAEB1B3B3B3B3B3B3B2B2B1B1B1B1AEAEAAAAAEACABACAAAAAEACACA8A8A7A5A7A7A7A8A8A8ABABB0B0B0ABABAEB1B3B1B3B6BBBBBBB8BBBBBBBCBFBDBDBFBDBDBDBDBDC1BFBFBBBFBBBBBBBBBCBCBCBCBCBCBBB8B3B1B3B3B2B2B2B5B5B2B3B3B3B3B6B8B6B3B3B1B0ACACACB0B1B0B2B3B5B1B5B9B9BBBBBBBBB9BBBBBBBBB9BBBBBFC3C3C4C4C4C3C1BDC1BDBDBBBBBBBBBBBBBCBBB6B3B3B3B6B6B6B9B5B5B3B3B3B8BBBBBDC0C0C3C0C3C3C4C8C9C9C8C8C9C9C9C9CBCFCFCFCBC9CBC9C9C9CAC9C9C9C9C9C8C6C6C9C6C6C5C8C9C9C9C9C6C6C4C3C4C3C1C3C3C3C0C3C4C4C3C3C3C5C5C4C4C3C1C1C1C0BFBFC3C0C3C0C0C0BCBBB8B5B2B2B6B9BCBBBBB9B9BBBCBCBCBCB9B9B9B9B8B8B8B5B5B2B2B2B2B2B1B1B0B0B0B0ABABABACB1B3B6B6B9B6B2B2B3B3B5B1B1B5B2B2B1B1B1B0B0ACAAAAAAAAA8ACABABAEAEAEAEAEB1B2B2B1B3B3B3B1B1B0AEABB0B0B0B0B2B1B1B1B1B5B8B8B8B8B6BBBBBBBBBBBBBCB9B9B9B9B8B8B8B8BBBBB8B6B5B3B3B5B9BBBBBBBBBBBCBFBFBCBBBBBBBBB8B9B9B9B9BBB6BBBCBCBDBBBDC0C0BFBFC1C1C3C6C8C5C4C5C5C3C3C0BDBDBBB9B8B8B6B3B3B3B1B1B1B1B1B2B2B2B1B3B1AEAEAEAEB1ACAEAEACA8ACAEB1B1B1B0B0ACACACACB1B2B1B0B1B1B2B2B1ACB1B1B3B5B5B3B1AEAEAEABA7A7A7A7AAACACACAAACACACAC2B010101010101010101010198FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE2C4C5C4C0C1C1C0C1C3C1CADCB9A8A5A5A5A5A39F9CA1A1A3A3A3A3A5A5A1A19FA1A3A3A5A5A5A8A7A8A8A8A5A5A19E9EA1A5A19E9E9E9E9E9F9C9A9C9C9C9C9C9C9C9C9C9C9CA1A3A1A1A5A5A5A5A5A5A5A7A8A8A7ABABA7A7A7A7A7A7AAA7A7A8A8A7A5A5A5A5A7AAA7A7A7A5A5A3A3A5A7ABABABABABAEB1B1B1B1AEAEAEAEAEAEB1B2B2B2B0ACACA8A7A5A5A5A5A7A8AAAEB1B1AEAAACB0ACACACAAACB0B0B1B1B1B0B1B1B1B2B1B1B3B1B1B5B6B6B6B8BBBBB8B9B8B9B5B6B3B3B6B3B3B3B6B6B3B3B3B1B1B2B6B6B5B5B5B5B5B8B8BBB8BBBBB8B8B6B8B8B8B3B3B3B8B8B9BBBBBBBBBBBBBBB6B6B3B6BBBBBCBCBCBCBFBCB9B8B6B6B5B1B5B5B5B1B3B3B2B3B1B1B1AEABABAEAEAEAEABACACAAACAAAAAAAAAAA8A8A8A8A8A7A7AAA7AAAEABABAEAEAAAAABAEB1B3B3B3B3B3B3B2B2B1B1B1B1AEAEAAAAAEACABACAAAAAEACACA8A8A7A5A7A7A7A8A8A8ABABB0B0B0ABABAEB1B3B1B3B6BBBBBBB8BBBBBBBCBFBDBDBFBDBDBDBDBDC1BFBFBBBFBBBBBBBBBCBCBCBCBCBCBBB8B3B1B3B3B2B2B2B5B5B2B3B3B3B3B6B8B6B3B3B1B0ACACACB0B1B0B2B3B5B1B5B9B9BBBBBBBBB9BBBBBBBBB9BBBBBFC3C3C4C4C4C3C1BDC1BDBDBBBBBBBBBBBBBCBBB6B3B3B3B6B6B6B9B5B5B3B3B3B8BBBBBDC0C0C3C0C3C3C4C8C9C9C8C8C9C9C9C9CBCFCFCFCBC9CBC9C9C9CAC9C9C9C9C9C8C6C6C9C6C6C5C8C9C9C9C9C6C6C4C3C4C3C1C3C3C3C0C3C4C4C3C3C3C5C5C4C4C3C1C1C1C0BFBFC3C0C3C0C0C0BCBBB8B5B2B2B6B9BCBBBBB9B9BBBCBCBCBCB9B9B9B9B8B8B8B5B5B2B2B2B2B2B1B1B0B0B0B0ABABABACB1B3B6B6B9B6B2B2B3B3B5B1B1B5B2B2B1B1B1B0B0ACAAAAAAAAA8ACABABAEAEAEAEAEB1B2B2B1B3B3B3B1B1B0AEABB0B0B0B0B2B1B1B1B1B5B8B8B8B8B6BBBBBBBBBBBBBCB9B9B9B9B8B8B8B8BBBBB8B6B5B3B3B5B930020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEECD5D6D6D5D7D9D7DADBDBE7F8D6C8C5C3C3C0BDBDBBB8B8BBBBB9BBBBBBBBBBBCBBBBBBBDBBBBBCBFC3C3BFC0BDBFBFC0C0C0C0BDBDBDBDBDC0BCC0C1C1C0C3C0C0C0C0C1BDC1BFBCBCBCBBBCBCC0C1C1C1BDC1C1BDBDC1C1C3C3C3C3C1BFBFC3C3C0BDBBB8B5B5B5B8B8B8B9B9B9B9B9B8B5B5B5B8B8BBBBBBBCBFBFBFBFC3C3C3C3C4C5C8C8C8C8C6C6C4C4C4C3C3C5C5C8C8C8C8C4C6C6C6C9CBCFCFCACECECBC9C9C9CEC9C9C9CED0D0D1D4D0CFD0D0D0CBCBCBD0D0CECECECAC8C8C5C5C5C6C8C8C9C6C6C9CACACFD0D0CFD0D0D0CEC9C9C9C6C4C8C8C9C9C5C3C5C6C5C3C3C0BDBDBBBDBFBFBCBBB9B9B9B6B8B8B8B8B6B6B5B5B5B5B2B0B2B3B2B5B2B1B1ACACB0ABABB0ABAAA7AAA7A7A5A1A19F9FA1A5A5A7A3A3A3A3A3A5A5A5A7AAAAAAAAA8A8A7A7A7A7A7A7AAA7A7A5A5A5A7A5A5A5A5A8A7A5A7A7A7A7A5A1A5A5A5A3A5A5A3A5A7A7A7A7A5A5A5A5A7A7A7AAABAEAAA7A8A8A8AAA7A7A8A8A5A5A7A5A7A8A8A8A8A8AAAEAEB1AEAEABAEABAEAEAEB0B1AEAEAEABB0B1B1B1AEAEAEAEAAAAACACB1B1B1B3B3B6B6B6B2B2B6B9BBBBBBB6BBBBB8B5B1B1B3B5B8B5B1B5B8B8B8B6B6B6B5B5B2B2B2B2B2B6B6B9BBBBBBB6B6B2B5B5B5B3B1B3B1B1AEACB0B2B0B0B0B0B1B0B2B5B5B3B3B1B1B1B1B2B1B2B3B3B2B1AEB1B1B1B3B3B1B1B1B2B1B1B1B1B1B1AEABAAAAA7A5A5A5A7A7A7A5A5A1A19F9F9C9C9C9E9EA1A19E9EA1A5A5A19E9E9C9E9CA1A3A7A3A1A3A19E9E9E9C9A9A9E9A9E9C9CA1A3A5A5A5A7A7AAA7A7AAA7AAAAAAAAA8A5A5A8A8ABACB0B2B1B1B1B1B3B3B2B6B5B5B1B1B1B3B1B1B1B3B6B6BBB6B6BBBBBBB6BBBCBCBCBCC0BDC1C1C4C4C4C8C9C9CEC9CECECFD0CECECECACACED0D3D0D0CFCFCFCFD1D1D0D3D1D0D1D4D1D1D4D4D4D4D1D0D0CBD0D0D1D0D1D1D1D4D4D4D4D3D1D4D4D3D3D3D1D035020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF4DEDEDBDBDCE1DBDFDCDEE6F6D3C6C4C4C1C1C3C0BCBCBCBBB9B9B9B8B6B6B9BBBDBBBBB9BCBFBFBFC0C0C0C0BCBDBDBDC0C0C0BFBFBCBDBCBCBCBFBDBDBBBDBCBCBCC0C3C3C6C4C4C4C3C3C4C5C3C4C4C4C4C4C3C3C5C5C5C5C3C5C5C9C9CACAC9CACACACACAC9CAC9C9C8C9C9CBC9CBCBCBCBCFCBCFCEC9CECECACAC9C9C8C8C8C9C9C9C6C6C8C8C6C6C3C5C8C6C3C6C5C9C9C8C6C4C4C4C5C5C9C9CACACACACAC9CBCAC9C5C5C5C3C3C3C4C3C3C1C1C1C0C0C0C0C0BCBBBBBBB8B3B3B3B6B6B6B6B5B2B2B5B5B5B5B5B5B9B6B5B8B8B5B6B6B8B6B3B1B1AEB0AEB1B1B1B1B1B1B1B3B6B5B8B5B1B5B8B8B9B6B8B5B6B5B1B3B6B6B8B8B3B3B1B1AEACACAAAAAAA7A7A7A5A3A5A5A7AAACABABACABAAABAEB0B0ACAAAAACAAAAAAABACB1B1B2B2B1B1B1B0ABABAEB1B1ACA8A8A8A7A7A5A8AAA7AAACACACAEB0B0B0ACACAEB0ACABACB0B0B0B1B0ABAAAAABABABABA7A7ABAAAAABAEAEACAAAAAAAAACB1B1B5B5B3B3B6B3B1B3B3B1B1B3B1ACACACAEACACB0AEACAEABACACB0B2B2B0B1B1B1B2B2B1B1AEB1B1B0B0B1B2B2B2B2B2B2B6B2B3B6B6B6B6B3B3B3B3B1B1AEAEB1B2B6B6B6B6B8BBB6B3B5B5B2B3B8B6B6B9BBB8B8B8B5B5B8BBBBB8B8BBBDBDBCBCBCBBB9B8BBBCBCBBBCBFBFBFBFC1C1C4C4C3C3C0BFBFBDBCBDBBBDBDC0C0BCC0C0C1BDBCBCBCBCBCBFBCBCBFBCBBBBBBBBBBBBBBB8BBBBBBBDBBB8BBBBBBB6BBB9BBBBB8B9B9BBBBBBB9BBBCC0C0BFC1C3C1C3C0BCBBBCBBBBBCB9B6B2B2B6B9B5B5B2B3B2B2B3B3B6B6B5B5B9B9B6B6B6B6B3B3B3B6B9B9B9B9B6B8B9BBBCBBB6B6B6BBBBBCBDC0C0C0C0C3BFBFC3C3C3C4C4C3C3BFBCBCC0C0C0C0BFBDC1C3C4C8C4C8C8C8C9C8C8C8C8C8C6C6C8C8C8C8C9C9C9C9CACBCFD0D3D4D7D9DADCDFDFDFDFDEE1E1E1E1E2E1DCE1DCDCDEDBDADADBDBD9DBDFDFDEDBDB3A020202020202020202020299FEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CACBCBCBCBC9C5C6C4C5CEE6C3B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D73902020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0D1D1CED1D1D0D1D0D1DCF4D3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8C9CBCBC9C9C9C9C6C8CAD7EECBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C33002020202020202010101019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD5D5D9D5D9DBD9DAD7DAE7F8DACBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C63302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED9DCDAD9DADCDBDEDEDEEAF8D4C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBF3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBCFCFCECFD3D3CFD3D6D6E1F4D1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B92F01010202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2DCDEE1E3E6E6E1E4E6E4EBF9D9CECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B62F020202020202020201020199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9D1D7D7D5D7D9D7D9D7D3DCF3CEBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C1C5C5C5C4C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C93402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9DADBDBDFDFDEDFDEDEE6F7D5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BB2E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB9B9BCBDBFBDC0C1BDBDC5DBB8A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B12C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E7EAEAEAE9EAE9E9EBE7F2FDDCD0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BC3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBD1D4D4D3D3D5D5D5D4D4DFF3CEBDC0C0C0C1C1BFC1C1BDBDBDBDC1C1C3C4C6C9C9C9C5C5C5C3C3C5C1C1BFBFBFC0C1C4C1C3C5C3C4C6C8C8C8C5C8C8C8C8C6C6C6C6C6C6C8C8C6C6C9C6C8C9C9C9C9C9CED0D0D1D0D0CECBCBCBCECACACECACECECED0CED0D0D0D3D3D1D1D0D0D0D0CED0D0D0D0D0CBCED0D3D0D0D3D3D0CECECBCBC9C6C4C1C1C1C1C1C1C0BDC0C1C1BFBDBBB9B9B9B9B9BDBFBFBDBDBDC1BFBFC0C0C1BFBFBFBFC1BFC0BFBFBCC0C0BDBDBCBDBDBDB9B8B6B9B9B8B9B9B9B9BBBBB9BDBDBDB9B9BCB9B6B9B5B9B9B8B8B5B6B6B9B8B6B6B6B2B6B2B2B2B6B2B2B2B6B9B9B8B5B5B8B9BBBCC0BFBFBFC0C1C1C1C3C6C4C6C9C5C5C3C1C1BFBCBBB9B8B6B9BCBBBBB9B9B9B9B9B9BDBDBFBFC1BFBFC1BFBFBFBBBBBCC0C0C0BFBFBBBBBBBFBFBFBCBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E26010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E4EAEAEAEBECEBF1F1F1F8FFE4DBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B52D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C9C6C4C3C4C4C5C3C4C4CBDEBFB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0AC2C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CFD0D0CFD0CECBCECED1D7ECC9B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D33802020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9ECEBE9E7E9E9E7E9E9E9F3FDDCD0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B92F020101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFD9D9D7D1D1D1D0D4D6D6E3F6D1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C9C9CBCBCBC9C8CBD0D1DCF1C9BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C83402020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C9C6C5C6C6C4C1C1C5CEE3C0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB02C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8ECEEEEECEBE9E7E9E9E9F3FDDED1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBD30020202020101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E7EAE7E6E4E3E1E1E2E3EFFCDBCED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A3A5A5A7A3A5A7A3A7A8A8A8A8A7A7A5A5A7A7A8ABACB0ABA7AAAAAAABA7A7AAAAA7A7A7A5A7AAAAAAAAAAABB0B0B1B0B0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A72B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3C1C3C3BFC3C5C4C6C8C6D0E6C1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B32D010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8EAEBEBEAEAEAEAEBEBEBF6FFDCCECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B92D01010101010101010101019AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C6C6C3C3C3BFC0C0BDC5DBB5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DE3B02020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D9DADADBDCDEDCDEDFDEE7F8D4C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C13002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CBCBCBCBC9CBC9C9C9C9D3E9C9B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBFC1C1C4C6C4C6C6C4C4C3C4C4C8C4C3C1C0C0C0C3C1C3C1C1C4C4C8C8C8C6C6C6C5C5C5C8C8C6C5C8C9C9C8C5C5C5C5C5C1C1C1C4C1C3C3C0BDBFC0C0C0C0BDBDBDC0C0BCBCBBBBB9B9B9B9B8B8B5B5B2B5B5B5B5B5B2B1B1B1B1ACACB1B0B0B0ACACACB0B0ABA8A8A8A8A8ACABA8AAA8A5A5A5A7A8A8A5A5A3A3A3A3A3A3A3A1A19E9E9E9E9F9E9A999997979796979B9B9E9E9E9EA1A2A2A3A5A5A7A8ACA8A8A8A7A3A5A5A7A3A7AAACB1B0B1B1B5B5B5B2B5B3B3B3B1B1B3B3B5B6B5B5B8B9B9B6B5B5B5B5B5B9B9B9B9BCBCBCBDBDBCC0C0BDBDBDBCBFBFC0C1C3C1C3C6C3C4C6C6C8C6C5C8C8C4C4C4C6C6C8C9CECECBCBC9C6C6C6C9C9C9C6C4C1BFBCBCBCBCB9BDBBBBBFBFBFBFBCBFBFBCBCBCBDBDBDBDB9B9B9B6B9B9B5B9B9B9B9B9B5B6B6B6B8B8B9BBBBBBBCBCB9B9B5B8B8B5B5B5B5B2B2B5B8B9BBBCBCB9B6B3B5B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C132020202020202020202010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD1CFCFCECFCECBCECED1DCEEC9B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8AB2A010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDB9BCBFBDBFBFBDC0C4C4D0E3C0ACB0ACB0B0B0B1B1B0B0B0ACB1B2B1B1B0B0B0B0ABABACACB1B2B2B5B5B8B8B8B3B3B8B9BCBCBBB8BBBBB9B6B2B2B5B6B9B6B2B6B9B9B9B8B8B8B6B6B3B3B3B3B3B8B8B9BCBBBBB8B8B3B6B6B6B5B1B5B1B2B0ACB1B3B1B1B1B1B2B1B3B6B6B5B5B2B1B1B1B3B1B3B5B5B3B2B0B1B2B2B5B5B1B2B2B3B1B1B1B1B2B2B0ACABABA7A5A7A7A7A7A7A5A5A3A3A1A19E9E9E9F9FA3A29F9FA2A5A5A29F9F9E9F9EA2A3A7A3A2A3A29F9F9F9C9B9B9F9B9F9E9EA2A3A7A7A7A8A8ABA7A7ABA7ABABABABAAA7A7AAAAACACB1B3B1B2B1B1B5B5B3B8B6B6B2B1B1B5B2B2B2B5B8B8BBB8B8BBBBBBB8BBBDBDBDBDC1BFC1C1C5C5C5C9CACACECACECED0D1CECECECBCBCED0D4D0D1D0D0D0D0D3D3D1D4D3D0D3D6D3D3D6D6D6D4D3D0D0CED0D0D3D0D3D3D3D4D4D4D4D4D3D4D4D4D4D4D3D0CECED0D1D0D0D0D4D1D3D3D6D4D1D1D4D0D3D0CECECED0D0CBCECBCECBCBC9C9C5C4C3C3C0C0C0C1C0BFBDB9BDB9B9B8B6B9B6B2B6B6B6B6B6B9B9BCB9B9BCBCBCC0BDBFBFBBBBBBBBBBB9B9BBBFBFBFC1C1BFBFC1C1C0BCB9B9B9B9BBBBBBBBBCB9B6B6B9BCBCBCBBBCBCB9B6B9B9B9B9B9BBB8B5B8B8BBBBB9B5B3B3B6B8BBB8B8B5B6B3B6B5B8B8B9B6B6B5B6B6B5B6B6B9B9B9B8B6B9BCBCBFBCBBB9BBBBB8B9B9B9B9B9B9BCB9BCBFBCBFBFBFBFBFBDBDBFBCBCB9BCB9B6B6B6B9BCB9B9B9BCBFBFBDB9BDC0C1C1C1C1BFC0C0C0C3C5C3C0C0C0C3C0C3C5C4C4C1C3C6C9CBCBC9C6C6C9C9C9C9CBCECECAC9C9CAC9C8C9C8C9CBCACAC9C9CBC9C9C8C8C4C5C6C4C1C1C4C4C3C3C1C1C1C1C3C3C3C3C3C0C1C1BDC0BDBDC0C0C1C0C1C3C3C3C0C0C1BFBBB9B9B8B6B8B8B8B8B8B8B3B8B5B3B3B3B3B3B8B8B8B8BBB9B8B5B5B5B3B3B2B2B1B2B3B3B3B5B8B6B8B3B3B8B9B9B9BBBFBFC1BDBDBCBDBDBFBCBFBF3002020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9CBCFD3D1D0D0CED0D1CED6EBC5B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B22C010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3C4C3C3C3C5C3C0C3C5C5D0E7C1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C83302020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7B6B9B6B2B2B2B2B2B5B1B9CEAC9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B92E010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAECEBEBEAEAEBEAEAECECF6FFDFD6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B82F01010101010102020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9D1D0CBC9C9C9CBCBCED0D6EBC6B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C130020202020202010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5C9C6C6C9CBCECFD1D1D0D6E9C6B5B5B2B5B3B1B0B0B0B1B1B1B2B2B1B2B5B6B6B6B6B6B6B9B9BDBBBBBBBBBCBDC1C3C6C4C4C4C6C6C8C8C8C9C8C6C9C6C3C3C3C3C3C1BDBCBCBCBFC0C0C1C1C1C5C3C3C5C9C8C8C6C5C5C6C4C6C6C8C5C8C8CAC8C5C8C4C3C3C3C3C3C1BFC0BDBDC0C3C5C5C8C4C8C8C9CACACAC9CAC9C9C9C9CACACBC9C9C6C6C8CAC8C9C6C9C5C5C5C8C5C5C1C1C3C1BDBDBDBCB9B9B9B9B8B8B9BCBFBCBCB9BDC0C0C0C1C1C1C1BDBFBFBFC1C1C1C0C0BDBFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBC30020101010102010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBCECBC9C8CBCFCACAC9CAD3E9C6B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D3D0D1D1D1D1D0D0D0CECACACBCBCECBCBC9C9C6C6C6C6C6C6C8C5C5C3C3C1C1C0C0C0BDBDBDBDBDBDBDC0C0BDC0C0BFC1C1C1C1C1C4C4C3C1C1C4C4C4C1C1C3C3C1C1C1C5C6C6C9C5C5C3C3C1C1C1C0BDBDBDC0C1C1C1C5C5C3C3C3C3C3C3C3C1C1C4C6C9CBCECEC9C9C9CBCBD0D0D3D3D3D0D0D0CED0D0D0CECBCBCBCBCBD0CBCECECECED0D1D1D3D3D3D0D3D1D0CECED0D0D0D1D1D4D1D1D1CECED0D0D0D0D0D0D0D0D1D4D7D7D9D9D7DBDBDEDBDEDEE1DFE1E3E2E4E3E1DFDCDCDCDCDFDCDBDBDBDBDCDEDEDEDEDEDEDBDEE1DEDEDEDEDEDFDFDFDFE1E1E2E4E3E3E4E6EAE6E6E3E3E3E6E6E4E4E4E4E3E3E4E2E2E4E2E4E4E4E4E2E2DFDCDADADADADADCDCDCDBDBDADADADAD7D7D4D1D0CBCBC9C8C8C6C5C5C5C3C1C1C1C1BFC0C3C4C4C1C1BFBCBCBCB9B9B6B5B2B1ACACABABABACACB0B0B0B0ACA8A7A3A3A3A1A19EA1A19E9E9FA2A2A2A29F9F9E9E9E9B9E9E9E9B9C9C9CA19E9FA2A3A7A7A7A7AAAAABA8A7A7A7A3A5A5A7A7A3A3A3A3A3A7A7A7A7A8A8A8A7AAAAAAAAAAABABB0B1ACACACACB1B0B0B2B5B5B9B9B9B6B9BBBDBCBDBDBDBBB9B9B9B9B9BBBDC1C4C1C1C3C3C6C4C1C4C4C3C3C0C3C1C1C0C1C1C1C1C1C4C1C5C5C5C4C1C4C4C4C4C1BFC1C5C1C1C3C3C4C4C4C5C3C1C1C1C1C3C3C3C5C4C8C9C8C8C8C6C9C9C9C6C6C9C9C9C6C6C6C8C8CACAC9CBCBCBCECECA3502020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9D0D5D5D5D4D4CFD0D1D4DFF3CEBCBCBBBDBDBFC1C3C3C6C3C6C4C4C8C6C4C4C5C5C5C6C5C3C4C4C4C4C6C6C6C3C3C3C6C6C6C6C8C5C5C5C4C4C6C6C8C5C5C6C4C5C5C6C9C9CBCECECED1D3D1D3D4D4D1D3D3D1D4D0D0D0D0D0D0D0D0D0D3D1D1D1D4D1D4D3D4D4D6D6D7DBDBD7D4D4D4D3D4D4D4D4D4D4D4D4D6D6D4D6D6DADADADADBDBDBD9D9D9DBDCDFDFDCDCDADAD7DBDBDBDBDCE1E1DFDEDEDEE1E1DFDFDCDCDCDCDFE1DFDCDCDFDFE1E1E1E1E1E4E2E2E2E4E4E3E2E2E4E2E1E1E1E1E1DEDFDEDFDEE1E1E3E3E1DFDBDAD7D4D4D4D7DAD6D4D7D7D7D7D4D1D1D1D1D1D1D1D1D1D1D0D0D1D1D3D0D3D0CECECECECED0D0D4D0D0CECECACAC8C8C8C5C9C5C6C6C3C6C6C5C5C1C1C0C0C0C1C1C3C0BDBDBDBCBCBCC0BCBCBBB8B9BDBDBBBBB9BBBBB9B6B6B3B3B1B0B0ACABABB0B1B1B1B2B6B2B2B2B2B6B9B6B6B2B2B2B2B2B2B1B1B1B1B1ACACACACACACACACAAAAAAA7A7A7A7A3A19EA2A2A3A3A3A3A5A5A3A3A1A3A3A3A7A7A7AAA8AAAAAAA7A5A39F9FA3A5A39F9F9F9F9FA19C9B9C9E9E9C9C9C9E9E9E9E9EA2A3A2A3A5A5A7A5A5A5A5A7AAAAA8ACACA8A8A7A7A7A7ABA7A7AAAAA7A7A7A5A7A7ABA7A7A7A7A7A3A3A7A8ACACACACACB0B2B2B2B2B0B0B0B0B0B0B1B3B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B52E02020201020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0C3C6C6C6C6C4C3C4C4C4CEE6C5B3B3B1ACACAAA8A7A7A5A5A8AAABB0B1B1B0ABACB1ACACACABACB1B1B2B2B1B1B1B1B2B3B1B2B5B2B2B6B8B8B8B9BCBCB9B9B9B9B6B8B5B5B8B5B5B5B8B8B5B5B5B2B2B3B8B8B6B6B6B6B6B9B9BBB9BBBBB9B9B8B9B9B9B5B5B5B9B9B9BCBBBBBBBBBBBBB8B8B5B8BBBBBDBDBDBDC0BDB9B9B8B8B6B2B6B6B6B2B5B5B3B5B1B2B2B0ACACB0B0B0B0ACACACABACABABABABABAAAAAAAAAAA8A8ABA8ABB0ACACB0B0ABABACB0B2B5B5B5B5B5B5B3B3B1B2B1B1B0B0ABABB0ACACACABABB0ACACAAAAA8A7A7A7A7AAAAAAACACB1B1B1ACACB0B1B5B1B5B8BBBBBBB9BCBCBCBDC0BFBFC0BFBFBFBFBFC1C0C0BCC0BCBCBBBBBDBDBDBDBDBDBBB9B5B2B5B5B3B3B3B6B6B3B5B5B5B5B8B9B8B5B5B1B1ACACACB1B1B1B3B5B6B2B6B9B9BCBCBCBCB9BCBCBCBCB9BCBCC0C3C3C5C5C5C4C1BFC1BFBFBCBCBCBCBCBBBDBBB8B5B5B5B8B8B8B9B6B6B5B5B5B9BBBBBFC1C1C3C1C3C3C5C9CACAC9C9CACACACACED0D0D0CECACECACACACBCACACACACAC9C8C8C9C8C8C6C9C9C9C9C9C8C8C5C3C5C3C1C4C4C4C1C3C5C5C3C4C4C6C6C5C5C4C1C1C1C1C0C0C3C1C3C1C1C1BDBBB9B6B3B3B8B9BDBCBCB9B9BBBDBDBDBDB9B9B9B9B9B9B9B6B6B3B3B3B3B3B2B2B1B1B1B1ACACACACB1B5B8B8B9B8B3B3B5B5B6B2B2B6B3B3B1B1B1B1B1ACABABABABAAACACACB0B0B0B0B0B2B3B3B2B5B5B5B2B2B1B0ACB1B1B1B1B3B2B2B2B2B6B9B9B9B9B8BBBCBCBCBCBCBDB9B9B9B9B9B9B9B9BCBCB9B8B6B5B5B6B9BCBCBCBCBCBDC0C0BDBBBBBBBBB9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACAB2B010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD0D1D1D0D3D5D5D3D1D1DBF1C9B9B9B9B9BBB8BBBDBDBFBCBFC1C1C0C0C1C1C4C8C9C6C5C6C6C3C3C1BFBFBCB9B9B9B8B5B5B5B2B2B1B1B1B3B3B3B1B5B1B0B0B0B0B1ACB0B0ACAAACB0B1B1B1B1B1ACACACACB1B3B1B1B1B1B3B3B1ACB1B2B5B6B6B5B2B0B0B0ACA8A8A8A8ABACACACABACACACACABABABABA8A8A8ABA8A8A8A8A8A8A8A8A5A7A7AAACACACB1B3B5B5B6B9BCB9B8B8B5B3B2B5B6B6B3B3B1B1B1B1B1B3B3B5B2B2B5B8B8B9BCB9BBBBBDBBBDBFC1C1C1C1C1C1C3C4C4C4C1C1C3C6C6C3C3C3C3C1C4C4C4C5C8C8C5C6C9C9C9C9CED0D0CECECECECED0D0D3D3D3D0D1D0D0D1D1D0D3D0D1D1D3D0D0CECECBCACACBCED0CECED0D1D4D3D4D3D3D0D3D3D4D4D6D6DADADADADBDBDBDBDBD9D9DBD9D6D3D6D3D1D1D1D0CECECECEC9C8C6C9C9C9C9C9C9C9C6C8C9C8C8C4C4C1C4C4C1C1C1BFBFBFBFBFBCBCB9BBBBBBBBBBB9B9B9B8BBB8B8B8B9B9BCBBBBB9BCBCBFC1C1C1BFC0BDBDC0C1C1C1C1C1C1C4C3C5C5C5C6C9C9C9C6C4C4C1BFBFBBB9B9BCBCB9BCBCBCBBBCBDBBBBBCBFBCBCBDC0C3C3C0C1BFC0C0C1C1C1C1BFBFBFBFBFC1BDC1C1C1C1C4C1C1C1C1C1BFC1C0BDBDBDBBBDBDC1C1C1C1BFC1C1BFBFC1C1C4C4C4C3C1C0C0C3C3C1BFBBB9B6B6B6B9B9B9B9B9B9B9B9B9B6B6B6B9B9BCBCBBBDC0C0C0C0C3C3C3C4C5C6C9C9C9C9C8C8C5C5C5C3C4C6C6C9C9C9C9C5C8C8C8C9CED0D0CBCECECEC9CACACECACACACED0D0D3D4D1D0D1D0D0CECECED0D1CECECECBC9C9C6C6C6C8C9C9CAC8C8C9CBCBD0D1D1D0D0D0D0CECACAC9C8C5C9C9C9C9C6C4C6C8C6C4C4C1BFBFBBBFC0C0BDBBB9B9B9B8B9B9B9B9B8B8B6B6B6B6B3B1B3B5B3B6B3B1B1ACACB1ACACB1ACABA8ABA8A8A5A3A3A1A1A3A5A5A7A3A3A3A3A3A5A5A5A8ABABABABAAAAA7A7A7A7A8A8ABA7A7A5A5A5A7A5A5A5A7AAA7A7A7A7A7A7A5A329010101010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED6D7D3D3D4D4D6D7D7D6E1F3CFBDBDBDC0BFBFBCBFBDBDBDC1C3C4C8C5C5C5C4C4C5C6C3C5C5C5C5C5C3C3C6C6C6C6C4C6C6C9C9CBCBC9CBCBCBCBCBC9CBCAC9C9CAC9CEC9CECECECED0CED0CECACECECBCBCACAC9C9C9CACAC9C8C8C9C9C8C8C4C6C9C8C4C8C6C9CAC9C8C5C5C5C6C6C9C9CBCBCBCBCBC9CECBC9C6C6C6C4C4C4C5C3C3C1C1C1C1C1C1C1C1BDBCBBBBB9B5B5B5B8B8B8B8B6B3B3B6B6B6B6B6B6B9B8B6B9B9B6B8B8B9B8B5B1B1B0B1B0B1B2B2B1B2B2B2B5B8B6B9B6B2B6B9B9B9B8B9B6B8B6B2B5B8B8B9B9B5B5B2B2B0ACACABABABA7A7A7A5A3A7A7A8ABACACACACACABACB0B1B1ACABABACABABABACACB1B1B3B3B2B2B2B1ACACB0B1B1ACAAAAAAA7A7A7AAABA8ABACACACB0B1B1B1ACACB0B1ACACACB1B1B1B2B1ACABABACACACACA8A8ACABABACB0B0ACABABABABACB1B2B6B6B5B5B8B5B1B5B5B1B1B5B1ACACACB0ACACB1B0ACB0ACACACB1B3B3B1B2B2B2B3B3B1B1B0B1B2B1B1B2B3B3B3B3B3B3B8B3B5B8B8B8B8B5B5B5B5B1B1B0B0B1B3B8B8B8B8B9BBB8B5B6B6B3B5B9B8B8B9BCB9B9B9B6B6B9BCBBB9B9BCBFBFBDBDBDBBB9B9BBBDBDBBBDC0C0C0C0C1C1C5C5C3C3C1C0C0BFBDBFBBBFBFC1C1BDC1C1C1BFBDBDBDBDBDC0BDBDC0BDBBBCBCBCBCBCBCB9BCBCBCBFBCB9BBBBBBB8BBB9BCBCB9B9B9BCBCBCB9BBBDC1C1C0C1C3C1C3C1BDBCBDBCBCBDB9B8B3B3B8B9B6B6B3B5B3B3B5B5B8B8B6B6B9B9B8B8B8B8B5B5B5B8B9B9B9B9B8B9B9BBBDBBB8B8B8BBBBBDBFC1C1C1C1C3C0C0C3C3C3C5C5C3C3C0BDBDC1C1C1C1C0BFC1C4C5C9C5C9C9C9C9C9C9C9C9C9C8C8C9C9C9C9C9C9C9C9CBCED0D1D4D6D7DADBDEE1E1E1E1DFE2E2E2E2E3E1DEE1DEDEDFDBDBDBDCDCDADCE1E1DFDCDCDCE1E1E1DEE1E1DEDEE1DCDBDBDBDBDBDADBD9D9D9DADAD6D4D4D4D4D6D4D7DBDBDBDCDBDBDCDBD9D6D33602020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCB6B5B5B6B8BCB6BBBDBBC9E7D3D7D7D9D9D9D9D9D9D9D9D9D9D9D9DAD9DADADBDBDBDEDEDEDEDEDEDEDEDEDFDFE1E1E1E1E1E2E1E1E1E1E1E1E1E1E2E3E3E3E3E3E4E4E4E3E4E6E6E6E6E9E6E9E7E9E7E6E6E6E6E6E6E6E7E7E6E6E7E6E4E4E4E6E6E6E6E3E4E6E6E4E4E3E3E2E2E3E4E4E4E4E4E4E3E3E2E3E4E4E4E6E6E7E6E6E7E7E6E6E6E7E6E6E6E4E4E3E3E3E3E3E3E3E3E4E4E6E4E6E6E4E3E3E3E3E3E3E3E3E2E2E1DFDFDFE1E1E1E2E2E2E2E2E2E3E3E4E6E6E4E3E4E6E4E4E3E3E2E2E3E4E3E3E2E3E3E4E6E6E6E4E6E3E6E6E6E6E6E6E4E4E3E3E3E2E2E2E2E2E2E2E2E2E1E2E2E1E1E1E2E2E1E1DFDFE1E1E1DFE1E1E1E1E1E1DFDFDFE1E1E1E2E1E1E1E1DFDFDFDFE1E1E2E3E3E4E4E4E3E3E3E2E2E3E2E2E1E1E1E1E2E3E1E2E3E2E3E3E4E4E4E3E4E4E4E4E3E3E3E3E3E3E4E4E3E3E6E3E4E4E6E6E6E6E7E9E9E9E9E9E7E6E6E6E7E6E6E7E6E7E7E7E9E7E9E9E9EAEAE9E9E9E9E9E9E7E9E9E9E9E9E6E7E9EAE9E9EAEAE9E7E7E6E6E4E3E3E2E2E2E2E2E1E1DFE1E1E1E1DFDEDEDEDEDEDEDFE1E1DFDFDFE1E1E1E1E1E1E1E1E1E1E1E1E1E1E1DFE1E1DFDFDFDFDFDFDEDEDCDEDEDEDEDEDEDEDEDEDEDFDFDFDEDEDFDEDCDEDBDEDEDEDEDBDCDCDEDEDCDCDCDADCDADADADCDADADADCDEDEDEDBDBDEDEDEDFE1E1E1E1E1E1E1E1E2E3E3E3E4E3E3E2E1E1E1DFDEDEDEDCDEDFDEDEDEDEDEDEDEDEDFDFE1E1E1E1E1E1E1E1E1DEDEDFE1E1E1E1E1DEDEDEE1E1E1DFDFDFDEDFDFE1E2E2E2E3E2E3E3E3E4E3E3E3E3E3E3E3E3E2E3E3E3E3E3E3E3E2E2E2E3E3E3E3E4E3E3E3E3E3E3E3E4E3E3E3E3E3E3E3E6E6E6E7E7E7E9EAE9EAEAEAE9EAEAE9EAE9E9E9E9E9E9E9E9E9EAE9E9E9EAE9EAEAEAEAEBEBEBECECEBEAEAEAEAEAEAEAEAEAEAEAEAEBEBEAEBEBECECECECEEECECEBEBEBECEEEFEFEEEEECECEBECECCF5503020202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB6B3B3B1B1B1B1B2B2BDDBF7F6EFEFEBEFF3F3F7F7F7F7F9FBFBFCFDFDFDFFFFFFFFFFFDFCFDFDFDFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE8D1A0201010101010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6C6C6C9C9C9CBCBDBF1FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFDFDFDFCFCFCFDFDFBF9F9F9F9F9FCFBF9FBF9F8F8F8F8F9F9F8F8F7F7F7F7F7F7F7F4F4F2F2F2F2F3F2ECEBEBE7EAEAE6EAEEEEF2F2F2F2F4F6F6F7F8F8F8F9FCF9F9F9F8F7F8F8F8F7F8FBFCFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE17E1D0202020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0BFC1C4C4C5C3C0CFECFBFDFBF9F9FDFDFFFFFFFFFFFCF8F8FCFDFDF9F6F6F6F3F3F2F6F7F4F7F9F9F9FCFCFCFCF9F9FCFCF9F8F9FCFCFCFFFCF8F7F7F8F8F8F8F4F4F8F7F7F8FCFCF9F7F7F7F7F9FDFFFFFFFFFFFFFFFDFFFFFDFDFFFDF9F9F9FCF9F9FCFCF9FCF8F9F9FCFFFFFCFFFFFFFFFFFDFDFCFDFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE68D2504020202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDBB9BDBFBFC4C6D5ECFCFFFFFBF9F9F7F9FCFCFFFFFDFCFDFDFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFCF8F8FCFCFCFCF8F9F9F7F9F7F7F7F7F7F6F6F6F6F6F4F4F7F4F7FCF8F8FCFCF7F7F8FCFFFFFFFFFFFFFFFFFFFDFFFDFDFCFCF7F7FCF9F8F9F7F7FCF9F9F6F6F4F2F3F3F3F6F6F6F8F8FCFCFCF8F8FCFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCF9F9F9FCFDFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFCF8F8F8F9FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFCFCF9F7F7F7F7F6F9F8F8FCFCFCFCFCFFFFFFFFFFFFFFFFFFFCFCF8FCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFDFFFDFCFCFCFCFDF9FCFCF9F6F9FCFDFDFDFCFCF9F9F9F9FDFFFDFCFDFDFFFFFDF9FDFFFFFFFFFFFFFCFCFCF8F4F4F4F4F7F9F9F9F7F9F9F9F9F7F7F7F7F4F4F4F7F4F4F4F4F4F4F4F4EFF2F2F6F8F8F9FCFFFBD9781C0201010101010199FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDBDBFBFBFBDCAE9FBFBF6F3EFF2F4F4F4F4F4F7FBFBFDFBFBF8FBF8FBFBFBFCFDFBFBFBF8FCFDFDFDFBFBFBFBF7F7F9F9FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFDFBF9FCFFFCFCFCFCFDFCFFFFFFFFFFFDFDFDFDFFFDFFFFFFFFFDFBFDFDFDFFFFFDFDFDFFFDFDFDFDFDFDFBF8F7F7F2EFF1F1F2F2F2EFEFECECEAEAE6E6E6E7E7ECEBE7E7EBEFEFEBE7E7E6E7E6EBEEF2EEEBEEEBE7E7E7E4E3E3E7E3E7E6E6EBEEF1F1F1F3F3F7F2F2F7F2F7F7F7F7F4F1F1F4F4F8F9FCFFFDFDFDFDFFFFFFFFFFFFFDFDFDFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF7A1B0202020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8CECFD1D4E1F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFBFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFCFCFCFCFBF7F7FBF9F9F9F7F8F8F9F9F6F2F2F2F2F2F7F6F2F4F2EEEEEEEFF2F2EEEEEBEBEBECECECEBE9E9E4E4E4E4E7E4E1DFDFDBDEDEDADEE2E2E4E4E4E4E9EAEAEBEEEEEFF2F7F2F2F2EFEBEEEEEFECEFF4F7FBF9FCFCFFFFFFFCFFFFFFFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFCF9F9F9FBFBFCFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE17F1D03020202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEED3D4D7E1F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFBF8F7F7FBFCFCFCFDFFFDFDFDFDFFFFFFFFFDFDFDFDFDFDFDFDFDFDFCF9F9F9F9F9F9F8F8F4F4F4F1F1F1F1EEEAE6EBEBEEEEEEEEEFEFECECEAECEEEEF1F1F1F4F3F4F4F4F1EFECE7E7ECEFECE7E7E7E7E7EAE4E3E4E6E6E4E4E4E6E6E6E6E6EBEEEBECEFEFF1EFEFEFEFF2F4F4F3F8F8F3F3F2F2F2F2F7F2F2F4F4F2F1F1EFF1F2F7F2F2F2F1F1EEEEF1F3F8F8F8F8F8FBFDFDFDFDFBFBFBFBFBFBFDFFFFFFFCF9F9F4F3F1F1EFEFF3F4F7FBFDFDFBF7F9FCF9F9F9F7F9FCFCFDFDFDFCFDFDFDFFFDFDFFFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFDFFFFFFFFFDFDFDFBF8F8FBFBFBFBF8F9F9F7F9F7F7F7F7F7F4F4F4F4F4F3F3F7F3F7FBF8F8FBFBF7F7F8FBFDFFFFFFFFFFFFFFFFFDFDFDFDFBFBF7F7FBF9F8F9F7F7FBF9F9F4F4F3F1F2F2F2F4F4F4F8F8FCFCFCF8F8FBF9D9751A0202020299FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7CFD1DEF2FDFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFDFBF9FCFFFCFCFCFCFDFCFFFFFFFFFFFDFDFDFDFFFDFFFFFFFFFDFBFDFDFDFFFFFDFDFDFFFDFDFDFDFDFDFBF8F7F7F2EFF1F1F2F2F2EFEFECECEAEAE6E6E6E7E7ECEBE7E7EBEFEFEBE7E7E6E7E6EBEEF2EEEBEEEBE7E7E7E4E3E3E7E3E7E6E6EBEEF1F1F1F3F3F7F2F2F7F2F7F7F7F7F4F1F1F4F4F8F9FCFFFDFDFDFDFFFFFFFFFFFFFDFDFDFFFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE17C1C0202029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4C6D6F1FDFFFBF9F8F8F8F8F7F7F4F4F4EFEFEFEFECE9E4EAEAECECECECEEEEEBEBE9EBECECEFEFEFF4F2F4F4F4EFEEEBE7E7EBEEEBE7E7E7E7E7E9E3E2E3E4E4E3E3E3E4E4E4E4E4EAECEAEBEEEEEFEEEEEEEEF1F4F4F2F7F7F2F2F1F1F1F1F6F1F1F4F4F1EFEFEEEFF1F6F1F1F1EFEFECECEFF2F7F7F7F7F7F9FCFCFCFCF9F9F9F9F9F9FCFFFFFFFBF8F8F4F2EFEFEEEEF2F4F6F9FCFCF9F6F8FBF8F8F8F6F8FBFBFCFCFCFBFCFCFCFFFCFCFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFFFFFFFFFCFCFCF9F7F7F9F9F9F9F7F8F8F6F8F6F6F6F6F6F4F4F4F4F4F2F2F6F2F6F9F7F7F9F9F6F6F7F9FCFFFFFFFFFFFFFFFFFCFCFCFCF9F9F6F6F9F8F7F8F6F6F9F8F8F4F4F2EFF1F1F1F4F4F4F7F7FBFBFBF7F7F9FCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFBF8F8F8FBFCFBFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFBFBFBFBF7F7F7F8FCFFFFFFFFFFFFFFFFFFFFFCFCFFFFFFFCFCFCFBFBF8F6F6F6F6F4F8F7F7F9F9F9F9F9FCFFFFFCFFFFFFFCFCFBF9F7FBFBFBFBFFFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDE7C1D03029AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE1F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFBFBF8F7F7FBFCFCFCFDFFFDFDFDFDFFFFFFFFFDFDFDFDFDFDFDFDFDFDFCF9F9F9F9F9F9F8F8F4F4F4F1F1F1F1EEEAE6EBEBEEEEEEEEEFEFECECEAECEEEEF1F1F1F4F3F4F4F4F1EFECE7E7ECEFECE7E7E7E7E7EAE4E3E4E6E6E4E4E4E6E6E6E6E6EBEEEBECEFEFF1EFEFEFEFF2F4F4F3F8F8F3F3F2F2F2F2F7F2F2F4F4F2F1F1EFF1F2F7F2F2F2F1F1EEEEF1F3F8F8F8F8F8FBFDFDFDFDFBFBFBFBFBFBFDFFFFFFFCF9F9F4F3F1F1EFEFF3F4F7FBFDFDFBF7F9FCF9F9F9F7F9FCFCFDFDFDFCFDFDFDFFFDFDFFFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFDFFFFFFFFFDFDFDFBF8F8FBFBFBFBF8F9F9F7F9F7F7F7F7F7F4F4F4F4F4F3F3F7F3F7FBF8F8FBFBF7F7F8FBFDFFFFFFFFFFFFFFFFFDFDFDFDFBFBF7F7FBF9F8F9F7F7FBF9F9F4F4F3F1F2F2F2F4F4F4F8F8FCFCFCF8F8FBFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCF9F9F9FCFDFCFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFCFCF8F8F8F9FDFFFFFFFFFFFFFFFFFFFFFDFDFFFFFFFDFDFDFCFCF9F7F7F7F7F4F9F8F8FBFBFBFBF7D7751B0299FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFBFCFBFDFDFDFDFDFDFDFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFDFDFBF9F9F7F7F7F2F2F2EFEEF1F1F3F7F9F8F8F9F8F7F8FBFCFCF9F7F7F9F7F7F7F8F9FDFDFFFFFDFDFDFCF8F8FBFDFDF9F4F4F4F2F2F1F4F7F3F7F9F9F9FBFCFCFCF9F9FBFCF9F8F9FCFCFCFDFCF8F7F7F8F8F8F8F3F3F8F7F7F8FBFBF9F7F7F7F7F9FDFDFFFFFFFFFFFFFDFFFFFDFDFFFDF9F9F9FBF9F9FCFBF9FBF8F9F9FCFFFFFCFDFDFDFFFFFDFDFBFDFDFCFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFBFBFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE689209AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFBF7F7F6F6F6F7F7F9F9F9F9F7F2EFECECECE9E9E4E9E9E4E4E7EAEAEAEAE7E7E4E4E4E2E4E4E4E2E3E3E3E9E4E7EAECF1F1F1F1F4F4F6F2F1F1F1ECEEEEF1F1ECECEBEBEBEFEFEFEFF2F2F2F1F4F4F4F4F4F6F6F9FCF8F8F7F7FBF9F9FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE17EA7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFAFCFCFCFAFAF9F8F9F9F9FAFAFAFCFCFCFCFCFCFCFCFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFCFCFCFCFDFCFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFCFCFCFCFCFCFDFFFFFFFFFFFFFFFFFFFFFDFDFFFFFFFDFDFDFCFCFCFAFAFAFAFAFCFCFCFCFCFCFCFCFDFFFFFDFFFFFFFDFDFCFCFCFCFCFCFCFFFDFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFDFDFFFFFFFDFFFDFCFCFCFCFDFCFCFCFCFAFCFCFDFDFDFCFCFCFCFCFCFDFFFDFCFDFDFFFFFDFCFDFDFFFFFFFFFDFCFCFCFCF9F9F9F9FAFCFCFCFAFCFCFCFCFAFAFAFAF9F9F9FAF9F9F9F9F9F9F9F9F7F8F8FAFCFCFCFCFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFCFCFDFDFDFFFFFFFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE3D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -%%Trailer - - -%%EndDocument - @endspecial 94 3203 a Fl(Con)m(tract)32 b(for:)1000 -3416 y Fk(Shared-cost)38 b(R)-10 b(TD)39 b(\(FET)f(Programme\))1095 -3822 y(Annex)g(1)h(-)g(\\Description)e(of)h(W)-10 b(ork")94 -4129 y Fl(Pro)5 b(ject)31 b(Acron)m(ym:)41 b(MO)m(W)m(GLI)94 -4242 y(Pro)5 b(ject)31 b(full)d(title:)41 b(Mathematics)31 -b(On)f(the)g(W)-8 b(eb:)42 b(Get)31 b(it)f(b)m(y)g(Logic)h(and)f(In)m -(terfaces)94 4355 y(Prop)s(osal/Con)m(tract)h(no.:)41 -b(IST-2001-33562)34 b(MO)m(W)m(GLI)94 4468 y(Related)d(to)g(other)f -(Con)m(tract)i(no.:)94 4694 y(Date)g(of)e(Preparation)g(of)h(Annex)f -(1:)41 b(17)31 b(o)s(ctob)s(er)g(2001)94 4920 y(Op)s(erativ)m(e)f -(commencemen)m(t)i(date)f(of)f(con)m(tract:)p eop -%%Page: 2 2 -2 1 bop 94 171 a Fj(Con)l(ten)l(ts)94 375 y Fi(1)84 b(Pro)6 -b(ject)36 b(summary)2710 b(4)230 488 y Fl(1.1)94 b(Ob)5 -b(jectiv)m(es)38 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h -(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.) -g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)140 b(4)230 601 y(1.2)94 -b(Description)30 b(of)g(w)m(ork)f(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.) -f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)140 b(4)230 714 y(1.3)94 -b(Milestones)30 b(and)g(exp)s(ected)h(results)40 b(.)46 -b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g -(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)140 b(4)94 918 y Fi(2)84 -b(Pro)6 b(ject)36 b(ob)6 b(jectiv)m(es)2681 b(5)94 1121 -y(3)84 b(P)m(articipan)m(t)36 b(list)2821 b(7)94 1325 -y(4)84 b(Con)m(tribution)35 b(to)g(programme/k)m(ey)f(action)h(ob)6 -b(jectiv)m(es)1225 b(7)94 1529 y(5)84 b(Inno)m(v)-6 b(ation)3024 -b(8)94 1733 y(6)84 b(Comm)m(unit)m(y)33 b(added)i(v)-6 -b(alue)35 b(and)g(con)m(tribution)h(to)f(EC)f(p)s(olicies)865 -b(10)94 1937 y(7)84 b(Con)m(tribution)35 b(to)g(Comm)m(unit)m(y)e(So)s -(cial)i(Ob)6 b(jectiv)m(es)1347 b(11)94 2141 y(8)84 b(Economic)36 -b(dev)m(elopmen)m(t)e(and)h(Scien)m(ti\014c)g(and)230 -2253 y(T)-9 b(ec)m(hnological)37 b(Prosp)s(ects)2365 -b(12)230 2366 y Fl(8.1)94 b(Iden)m(ti\014cation)30 b(of)h(exploitable)e -(results)63 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.) -f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(12)230 -2479 y(8.2)f(T)-8 b(arget)32 b(Mark)m(et)93 b(.)45 b(.)h(.)g(.)f(.)h(.) -g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g -(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(13)230 2592 y(8.3)f(Consortium's)29 b(Dissemination)g(and)h -(Exploitation)f(Strategy)39 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.) -h(.)g(.)g(.)f(.)95 b(13)94 2796 y Fi(9)84 b(W)-9 b(orkplan)3012 -b(14)230 2909 y Fl(9.1)94 b(W)-8 b(orkpac)m(k)j(age)34 -b(list)61 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h -(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.) -g(.)g(.)f(.)95 b(14)230 3022 y(9.2)f(General)31 b(description)h(.)46 -b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g -(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(15)230 3135 y(9.3)f(W)-8 b(ork)32 b(P)m(ac)m(k)-5 b(age)33 -b(descriptions)26 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.) -95 b(17)439 3248 y(9.3.1)106 b(Pro)5 b(ject)32 b(Managemen)m(t)41 -b(.)k(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g -(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(17)439 -3361 y(9.3.2)106 b(Requiremen)m(t)30 b(Analysis)69 b(.)46 -b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h -(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(18)439 3473 -y(9.3.3)106 b(T)-8 b(ransformation)46 b(.)g(.)g(.)g(.)f(.)h(.)g(.)f(.)h -(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.) -g(.)f(.)h(.)g(.)g(.)f(.)95 b(20)439 3586 y(9.3.4)106 -b(Metadata)68 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.) -h(.)g(.)g(.)f(.)95 b(22)439 3699 y(9.3.5)106 b(In)m(terfaces)66 -b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.) -f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f -(.)95 b(23)439 3812 y(9.3.6)106 b(Distribution)31 b(.)46 -b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g -(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(24)439 3925 y(9.3.7)106 b(T)-8 b(esting)31 b(and)e(V)-8 -b(alidation)34 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(25)439 4038 y(9.3.8)106 b(Information)30 b(Dissemination)e(and)i -(Exploitation)e(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g -(.)g(.)f(.)95 b(26)230 4151 y(9.4)f(Deliv)m(erable)30 -b(list)f(b)m(y)h(W)-8 b(orkP)m(ac)m(k)j(age)95 b(.)45 -b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(27)230 4264 y(9.5)f(Pro)5 -b(ject)32 b(Planning)c(and)i(timetable)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)g -(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.) -g(.)f(.)95 b(29)230 4377 y(9.6)f(Graphical)30 b(presen)m(tation)g(of)g -(pro)5 b(ject)31 b(comp)s(onen)m(ts)47 b(.)e(.)h(.)g(.)f(.)h(.)g(.)g(.) -f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(30)230 -4490 y(9.7)f(Pro)5 b(ject)32 b(Managemen)m(t)49 b(.)c(.)h(.)g(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.) -h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(31)439 4603 -y(9.7.1)106 b(Decision)30 b(Pro)s(cess)69 b(.)46 b(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.) -h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(31)439 4715 y(9.7.2)106 -b(Information)30 b(Flo)m(w)36 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.) -h(.)g(.)g(.)f(.)95 b(32)439 4828 y(9.7.3)106 b(Qualit)m(y)30 -b(Pro)s(cedures)i(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.) -h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(32)439 4941 y(9.7.4)106 b(Con\014den)m(tialit)m(y)29 -b(and)h(IPR)g(handling)i(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(32)94 -5145 y Fi(10)32 b(Clustering)2982 b(32)1920 5627 y Fl(2)p -eop -%%Page: 3 3 -3 2 bop 94 171 a Fi(11)32 b(Other)i(con)m(tractual)i(conditions)2141 -b(33)230 284 y Fl(11.1)49 b(Other)30 b(signi\014can)m(t)g(pro)5 -b(ject)31 b(costs)j(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g -(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(33)230 397 y(11.2)49 b(T)-8 b(ra)m(v)m(el)31 b(costs)h(outside)d -(MS/AS)50 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(33)94 601 y Fi(A)57 b(Consortium)35 b(Description)2359 -b(35)230 714 y Fl(A.1)71 b(Univ)m(ersit)m(y)30 b(of)h(Bologna,)g -(Departmen)m(t)h(of)e(Computer)g(Science)47 b(.)f(.)f(.)h(.)g(.)f(.)h -(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(37)230 827 y(A.2)71 b(INRIA)45 -b(.)h(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h -(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.) -g(.)f(.)h(.)g(.)g(.)f(.)95 b(39)439 940 y(A.2.1)83 b(The)30 -b(Lemme)h(pro)5 b(ject)85 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g -(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.) -f(.)95 b(40)439 1053 y(A.2.2)83 b(The)30 b(LogiCal)g(pro)5 -b(ject)65 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(41)230 1165 y(A.3)71 b(German)31 b(Researc)m(h)g(Cen)m(ter)g(for)f -(Arti\014cial)f(In)m(telligence)g(Gm)m(bH,)i(DFKI)67 -b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(41)230 1278 y(A.4)71 -b(Nijmegen)30 b(\(&)h(Eindho)m(v)m(en\))26 b(.)46 b(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.) -h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(43)230 1391 y(A.5)71 -b(MPG)31 b(&)f(TU)g(Berlin)54 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.) -h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 b(45)439 1504 y(A.5.1)83 -b(Max)31 b(Planc)m(k)g(Institute)e(for)i(Gra)m(vitational)f(Ph)m(ysics) -57 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)95 -b(45)439 1617 y(A.5.2)83 b(Cen)m(ter)31 b(for)f(Information)f -(Managemen)m(t)k(in)c(the)h(Max)i(Planc)m(k)e(So)s(ciet)m(y)38 -b(.)46 b(.)g(.)g(.)f(.)95 b(46)439 1730 y(A.5.3)83 b(TU)30 -b(Berlin)40 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.) -h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h -(.)g(.)g(.)f(.)95 b(47)230 1843 y(A.6)71 b(T)-8 b(rusted)30 -b(Logic)47 b(.)f(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.) -f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f -(.)h(.)g(.)g(.)f(.)95 b(48)1920 5627 y(3)p eop -%%Page: 4 4 -4 3 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2578 -b Fl(4)94 171 y Fj(1)135 b(Pro)7 b(ject)46 b(summary)94 -354 y Fg(1.1)112 b(Ob)6 b(jectiv)m(es)94 526 y Fl(The)42 -b(W)-8 b(orld)42 b(Wide)g(W)-8 b(eb)44 b(is)d(already)h(the)h(largest)g -(resource)g(of)f(mathematical)h(kno)m(wledge,)j(and)c(its)94 -638 y(imp)s(ortance)36 b(will)e(b)s(e)j(exp)s(onen)m(tiated)g(b)m(y)f -(emerging)h(displa)m(y)e(tec)m(hnologies)j(lik)m(e)e(MathML.)i(Ho)m(w)m -(ev)m(er,)94 751 y(almost)25 b(all)f(mathematical)h(do)s(cumen)m(ts)g -(a)m(v)-5 b(ailable)24 b(on)h(the)g(W)-8 b(eb)26 b(are)f(mark)m(ed)g -(up)f(only)g(for)h(presen)m(tation,)94 864 y(sev)m(erely)37 -b(crippling)c(the)k(p)s(oten)m(tialities)e(for)h(automation,)j(in)m -(terop)s(erabilit)m(y)-8 b(,)36 b(sophisticated)g(searc)m(hing)94 -977 y(mec)m(hanisms,)24 b(in)m(telligen)m(t)f(applications,)g -(transformation)g(and)g(pro)s(cessing.)37 b(The)24 b(goal)g(of)f(the)h -(pro)5 b(ject)24 b(is)94 1090 y(to)31 b(o)m(v)m(ercome)h(these)f -(limitations,)d(passing)h(form)g(a)i(mac)m(hine-readable)e(to)i(a)g -(mac)m(hine-understandable)94 1203 y(represen)m(tation)j(of)g(the)g -(information,)g(and)f(dev)m(eloping)g(the)h(tec)m(hnological)h -(infrastructure)d(for)h(its)h(ex-)94 1316 y(ploitation.)47 -b(MO)m(W)m(GLI)34 b(builds)c(on)j(previous)e(\\standards")i(for)g(the)g -(managemen)m(t)h(and)f(publishing)28 b(of)94 1429 y(mathematical)41 -b(do)s(cumen)m(ts)f(\(MA)m(thML,)j(Op)s(enMath,)f(OMDo)s(c\),)j(in)m -(tegrating)c(them)f(with)g(di\013eren)m(t)94 1542 y(XML)31 -b(tec)m(hnology)g(\(XSL)-8 b(T,)31 b(RDF,)g(.)15 b(.)h(.)f(\).)94 -1762 y Fg(1.2)112 b(Description)36 b(of)i(w)m(ork)94 -1933 y Fl(The)30 b(goal)h(of)f(the)h(pro)5 b(ject)31 -b(is)e(to)i(pro)m(vide)f(a)h(comprehensiv)m(e)e(description,)g(from)h -(con)m(ten)m(t)i(to)f(metadata,)94 2046 y(of)h(a)h(giv)m(en)g(\014eld)e -(of)h(kno)m(wledge)g(\(in)g(our)g(case)h(mathematics\),)h(in)d(order)h -(to)h(enhance)f(its)g(accessibilit)m(y)-8 b(,)94 2159 -y(exc)m(hange)34 b(and)e(elab)s(oration)f(via)h(the)h(W)-8 -b(orld)32 b(Wide)g(W)-8 b(eb.)47 b(MO)m(W)m(GLI)34 b(will)29 -b(mak)m(e)34 b(an)e(essen)m(tial)g(use)g(of)94 2272 y(standard)25 -b(XML)h(tec)m(hnology)i(and)d(aspires)g(to)h(b)s(ecome)h(an)f(example)f -(of)h(\\b)s(est)g(practice")h(in)e(its)g(use,)i(and)94 -2385 y(a)k(leading)e(pro)5 b(ject)31 b(in)e(the)h(new)g(area)h(of)g -(the)g(Seman)m(tic)f(W)-8 b(eb.)94 2498 y(In)30 b(particular,)f(w)m(e)h -(shall)f(deeply)g(explore)h(the)h(p)s(oten)m(tialities)e(of)h(XML)h(in) -e(the)i(follo)m(wing)d(directions:)94 2611 y Fi(Publishing)p -Fl(.)49 b(XML)33 b(o\013ers)g(sophisticated)f(publishing)c(tec)m -(hnologies)34 b(\(St)m(ylesheets,)g(MathML,)g(SV)m(G,)94 -2724 y(.)15 b(.)h(.)f(\))43 b(whic)m(h)30 b(can)h(b)s(e)f(pro\014tably) -g(used)g(to)i(solv)m(e,)f(in)f(a)h(standard)g(w)m(a)m(y)-8 -b(,)32 b(the)g(anno)m(ying)e(notational)h(prob-)94 2836 -y(lems)42 b(that)h(traditionally)e(a\017ict)i(con)m(ten)m(t)h(based)f -(and)f(mac)m(hine-understandable)f(enco)s(dings)g(of)i(the)94 -2949 y(information.)94 3062 y Fi(Searc)m(hing)37 b(and)f(Retrieving)p -Fl(.)45 b(Metadata)34 b(will)29 b(pla)m(y)i(a)h(ma)5 -b(jor)32 b(role)f(in)f(MO)m(W)m(GLI.)j(New)f(W3C)g(lan-)94 -3175 y(guages)43 b(suc)m(h)e(as)h(the)f(Resource)h(Description)f(F)-8 -b(ramew)m(ork)42 b(or)g(XML)g(Query)e(are)i(lik)m(ely)e(to)j(pro)s -(duce)94 3288 y(ma)5 b(jor)30 b(inno)m(v)-5 b(ativ)m(e)31 -b(solutions)e(in)g(this)g(\014eld.)94 3401 y Fi(In)m(terop)s(erabilit)m -(y)p Fl(.)71 b(Disp)s(osing)39 b(of)h(a)h(common,)j(mac)m(hine)c -(understandable)f(la)m(y)m(er)i(is)e(a)i(ma)5 b(jor)41 -b(and)94 3514 y(essen)m(tial)30 b(step)h(in)e(this)g(direction.)94 -3627 y Fi(Distribution)p Fl(.)69 b(All)38 b(XML)i(tec)m(hnology)h(is)d -(\014nally)g(aimed)h(to)h(the)g(access)h(of)f(the)f(W)-8 -b(eb)41 b(as)e(a)h(single,)94 3740 y(distributed)27 b(resource,)k(with) -e(no)i(cen)m(tral)f(authorit)m(y)h(and)e(few,)i(simple)d(rules.)235 -3853 y(MO)m(W)m(GLI)22 b(builds)c(on)i(the)h(solid)e(ground)g(already)h -(pro)m(vided)g(b)m(y)g(previous)f(Europ)s(ean)h(pro)5 -b(jects)21 b(\(Suc)m(h)94 3966 y(as)42 b(Op)s(enMA)m(th)f(and)g -(Euler\))f(and)h(sev)m(eral)h(XML)g(dialects)f(for)g(the)h(managemen)m -(t)h(of)f(mathematical)94 4078 y(do)s(cumen)m(ts)h(\(MathML,)i(Op)s -(enMA)m(th,)i(OMDo)s(c,)h(.)15 b(.)g(.)h(\).)81 b(All)42 -b(these)i(languages)g(co)m(v)m(er)h(di\013eren)m(t)e(and)94 -4191 y(orthogonal)g(asp)s(ects)g(of)g(the)g(information;)k(our)42 -b(aim)g(is)g(not)h(to)g(prop)s(ose)f(a)h(new)g(standard,)i(but)d(to)94 -4304 y(study)e(and)g(to)h(dev)m(elop)f(the)h(tec)m(hnological)g -(infrastructure)e(required)f(for)j(taking)f(adv)-5 b(an)m(tage)43 -b(of)d(the)94 4417 y(p)s(oten)m(tialities)29 b(of)h(all)g(of)g(them.)94 -4637 y Fg(1.3)112 b(Milestones)37 b(and)h(exp)s(ected)g(results)94 -4809 y Fi(First)i(MO)m(W)m(GLI)g(protot)m(yp)s(e)35 b -Fl(\(mon)m(th)h(18\),)h(supp)s(orting)c(bro)m(wsing,)i(rendering)f(and) -g(on-line)g(con-)94 4922 y(sultation)k(of)h(large)g(rep)s(ositories)f -(of)h(\(con)m(ten)m(t-based\))j(mathematical)d(kno)m(wledge.)67 -b(The)38 b(translation)94 5034 y(from)30 b(con)m(ten)m(t)i(to)f(presen) -m(tation)g(will)c(b)s(e)j(done)g(via)g(suitable)f(notational)i(st)m -(ylesheets.)94 5147 y Fi(Adv)-6 b(anced)35 b(MO)m(W)m(GLI)f(protot)m -(yp)s(e)c Fl(\(mon)m(th)h(24\),)g(supp)s(orting)d(distribution,)e -(indexing,)j(searc)m(hing)94 5260 y(and)h(retriev)-5 -b(al)29 b(\(based)i(on)f(a)h(sophisticated)e(metadata)j(mo)s(del\).)94 -5373 y Fi(Final)j(MO)m(W)m(GLI)f(protot)m(yp)s(e)d Fl(\(mon)m(th)f -(30\).)42 b(Result)30 b(of)g(v)-5 b(alidation.)p eop -%%Page: 5 5 -5 4 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2578 -b Fl(5)94 171 y Fj(2)135 b(Pro)7 b(ject)46 b(ob)7 b(jectiv)l(es)94 -374 y Fl(The)42 b(new)f(fron)m(tier)h(of)g(Con)m(ten)m(t)h(Based)g -(Information)e(Systems)h(is)f(the)h(so)g(called)g(\\Seman)m(tic)g(W)-8 -b(eb")94 487 y(\(see)29 b([3]\).)41 b(Asso)s(ciating)27 -b(meaning)g(with)f(con)m(ten)m(t)j(or)f(establishing)d(a)j(la)m(y)m(er) -h(of)e(mac)m(hine)h(understandable)94 600 y(data)46 b(will)d(allo)m(w)h -(automated)j(agen)m(ts,)j(sophisticated)45 b(searc)m(h)h(engines)e(and) -h(in)m(terop)s(erable)f(services)94 713 y(and)32 b(will)d(enable)j -(higher)f(degree)i(of)g(automation)f(and)g(more)g(in)m(telligen)m(t)g -(applications.)44 b(The)32 b(ultimate)94 826 y(goal)38 -b(of)f(the)h(Seman)m(tic)g(W)-8 b(eb)38 b(is)e(to)i(allo)m(w)f(mac)m -(hines)g(to)h(share)f(and)g(exploit)g(kno)m(wledge)g(in)f(the)i(W)-8 -b(eb)94 939 y(w)m(a)m(y)g(,)36 b(i.e.)52 b(without)33 -b(cen)m(tral)h(authorit)m(y)-8 b(,)36 b(with)c(few)i(basic)f(rules,)h -(in)f(a)h(scalable,)h(adaptable,)g(extensible)94 1052 -y(manner.)k(Ho)m(w)m(ev)m(er,)31 b(the)d(actual)g(dev)m(elopmen)m(t)g -(of)g(the)g(Seman)m(tic)f(W)-8 b(eb)29 b(and)e(its)g(tec)m(hnologies)i -(has)e(b)s(een)94 1165 y(hindered)19 b(so)i(far)f(b)m(y)h(the)g(lac)m -(k)h(of)f(large)g(scale,)i(distributed)18 b(rep)s(ositories)i(of)h -(structured,)h(con)m(ten)m(t)g(orien)m(ted)94 1277 y(information.)42 -b(The)31 b(case)i(of)e(Mathematical)i(kno)m(wledge,)f(the)f(most)h -(rigorous)f(and)f(condensed)h(form)g(of)94 1390 y(kno)m(wledge,)h(is)f -(paradigmatic.)44 b(The)31 b(W)-8 b(orld)31 b(Wide)g(W)-8 -b(eb)33 b(is)d(already)h(no)m(w)h(the)g(largest)g(single)e(resource)94 -1503 y(of)c(mathematical)g(kno)m(wledge,)g(and)f(its)g(imp)s(ortance)g -(will)e(b)s(e)i(exp)s(onen)m(tiated)h(b)m(y)f(the)h(emerging)f(displa)m -(y)94 1616 y(tec)m(hnologies)h(lik)m(e)e(MathML.)i(Ho)m(w)m(ev)m(er,)i -(almost)d(all)f(mathematical)i(do)s(cumen)m(ts)e(a)m(v)-5 -b(ailable)25 b(on)f(the)i(W)-8 b(eb)94 1729 y(are)25 -b(mark)m(ed)g(up)f(only)g(for)h(presen)m(tation)g(\(in)f(this)f(resp)s -(ect,)k(curren)m(t)d(practice)h(in)f(MathML)i(impro)m(v)m(es)e(on,)94 -1842 y(but)33 b(do)s(es)h(not)g(fundamen)m(tally)e(di\013er)h(from)g -(the)h(older)f(pap)s(er-orien)m(ted)h(markup)e(sc)m(hemes)j(lik)m(e)e -(L)3583 1825 y Ff(A)3622 1842 y Fl(T)3673 1862 y(E)3723 -1842 y(X)94 1955 y(or)c(P)m(ostscript\).)41 b(A)30 b(consequence)g(of)f -(this)g(is)f(that)i(the)g(online)e(material)g(is)h(mac)m -(hine-readable,)g(but)g(not)94 2068 y(mac)m(hine-understandable,)f(sev) -m(erely)j(crippling)c(the)k(p)s(ossibilit)m(y)c(to)k(o\013er)f(added-v) --5 b(alue)30 b(services)g(lik)m(e)230 2255 y Fe(\017)46 -b Fl(Preserv)-5 b(ation)31 b(of)h(the)g(real)f(informativ)m(e)g(con)m -(ten)m(t)i(in)d(a)i(highly)e(structured)g(and)h(mac)m(hine)h(under-)321 -2368 y(standable)e(format,)h(suitable)e(for)h(transformation,)g -(automatic)h(elab)s(oration)f(and)f(pro)s(cessing.)230 -2556 y Fe(\017)46 b Fl(Cut)33 b(and)f(paste)h(on)g(the)g(lev)m(el)f(of) -h(computation)g(\(tak)m(e)i(the)e(output)f(from)h(a)g(W)-8 -b(eb)33 b(searc)m(h)h(engine)321 2669 y(and)c(paste)h(it)f(in)m(to)g(a) -h(computer)f(algebra)h(system\).)230 2857 y Fe(\017)46 -b Fl(Automatic)31 b(pro)s(of)f(c)m(hec)m(king)h(of)g(published)26 -b(pro)s(ofs)230 3044 y Fe(\017)46 b Fl(Seman)m(tical)30 -b(searc)m(h)h(for)g(mathematical)f(concepts)h(\(rather)g(than)f(k)m -(eyw)m(ords\).)230 3232 y Fe(\017)46 b Fl(Classi\014cation:)38 -b(giv)m(en)29 b(a)g(concrete)h(mathematical)f(structure,)f(is)g(there)g -(a)h(general)g(theory)g(for)f(it?)235 3419 y(Due)22 b(to)g(its)f(ric)m -(h)f(notational,)j(logical)e(and)g(seman)m(tical)g(structure,)i -(mathematical)f(kno)m(wledge)f(is)g(th)m(us)94 3532 y(a)32 -b(main)e(case)j(study)e(for)g(the)h(dev)m(elopmen)m(t)g(of)f(the)h(new) -f(generation)h(of)g(seman)m(tic)f(W)-8 b(eb)33 b(systems.)44 -b(The)94 3645 y(aim)33 b(of)g(the)h(prop)s(osed)e(pro)5 -b(ject)34 b(is)f(b)s(oth)f(to)j(help)d(in)g(this)g(pro)s(cess,)i(as)g -(w)m(ell)e(as)i(pa)m(v)m(e)h(the)e(w)m(a)m(y)i(to)m(w)m(ards)94 -3758 y(a)42 b(really)f(useful)g(virtual,)i(distributed,)g(h)m(yp)s -(er-textual)e(resource)i(for)f(the)g(w)m(orking)f(mathematician,)94 -3871 y(scien)m(tist)j(or)g(engineer.)81 b(All)43 b(mo)s(dern)g -(sciences)h(ha)m(v)m(e)h(a)g(strongly)e(mathematicised)h(core,)49 -b(and)43 b(will)94 3984 y(b)s(ene\014t.)59 b(The)36 b(real)g(mark)m(et) -i(and)e(application)f(area)i(for)g(the)g(tec)m(hniques)f(dev)m(elop)s -(ed)g(in)f(this)h(pro)5 b(ject,)94 4097 y(apart)35 b(from)e(the)i(ob)m -(vious)f(realm)f(of)i(education,)g(lies)e(with)g(high-tec)m(h)h(and)g -(engineering)f(corp)s(orations)94 4210 y(that)24 b(rely)f(on)g(h)m(uge) -g(form)m(ula)g(databases.)39 b(Curren)m(tly)-8 b(,)24 -b(b)s(oth)f(the)g(con)m(ten)m(t)i(markup)e(as)g(w)m(ell)g(as)g(the)h -(added-)94 4323 y(v)-5 b(alue)34 b(services)h(alluded)e(to)i(ab)s(o)m -(v)m(e)h(are)g(v)m(ery)f(underdev)m(elop)s(ed,)f(limiting)e(the)j -(usefulness)e(of)i(the)g(vital)94 4436 y(kno)m(wledge.)40 -b(The)28 b(infrastructure)e(and)h(kno)m(who)m(w)i(needed)e(for)h -(mining)e(this)h(information)g(treasure)h(and)94 4549 -y(obtaining)g(a)h(comp)s(etitiv)m(e)g(edge)h(in)e(dev)m(elopmen)m(t)h -(is)g(exactly)g(what)g(w)m(e)h(are)f(attempting)h(to)g(dev)m(elop)f(in) -94 4661 y(our)h(pro)5 b(ject.)235 4774 y(Sev)m(eral)38 -b(languages)h(ha)m(v)m(e)h(b)s(een)d(already)h(prop)s(osed)f(for)h(the) -h(managemen)m(t)g(of)g(mathematical)f(in-)94 4887 y(formation)j(on)g -(the)g(W)-8 b(eb,)45 b(b)s(oth)c(for)g(publishing,)f(comm)m(unication)h -(and)f(arc)m(hiving)g(purp)s(oses:)61 b(most)94 5000 -y(notably)-8 b(,)37 b(MathML)f([11)q(],)h(Op)s(enMath)e([15)q(],)i -(OMDo)s(c)f([14)q(].)56 b(Other)35 b(languages)h(m)m(ust)f(b)s(e)g -(also)g(consid-)94 5113 y(ered)f(for)f(de\014nition)f(and)h(sp)s -(eci\014cation)f(of)i(Metadata,)j(suc)m(h)d(as)g(the)g(Dublin-core)e -(System)i([5],)h(or)f(the)94 5226 y(Resource)d(Description)f(F)-8 -b(ramew)m(ork)32 b([16)r(].)42 b(All)30 b(these)h(languages,)h(whic)m -(h)e(tend)g(to)i(co)m(v)m(er)h(di\013eren)m(t)d(and)94 -5339 y(orthogonal)f(asp)s(ects)f(of)h(the)f(managemen)m(t)i(of)f -(mathematical)f(do)s(cumen)m(ts,)h(m)m(ust)f(b)s(e)g(ev)m(en)m(tually)g -(tak)m(en)p eop -%%Page: 6 6 -6 5 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2578 -b Fl(6)94 171 y(in)m(to)25 b(accoun)m(t)i(for)f(the)f(am)m(bitious)f -(goal)i(of)g(our)f(pro)5 b(ject.)40 b(One)25 b(of)g(our)g(aims)g(is)f -(actually)h(the)h(de\014nition)d(of)94 284 y(a)33 b(mo)s(dular)e(arc)m -(hitecture)i(whic)m(h)f(could)g(exploit)f(the)i(distinctiv)m(e)f(p)s -(oten)m(tialities)f(of)i(eac)m(h)h(one)f(of)g(these)94 -397 y(languages,)40 b(in)m(tegrating)d(them)h(in)m(to)f(a)h(single)e -(application.)61 b(The)37 b(in)m(tegration)g(is)g(in)f(this)g(case)j -(facili-)94 510 y(tated)28 b(b)m(y)g(the)f(fact)i(that)f(all)e(the)i -(languages)f(men)m(tioned)g(are)h(particular)e(instances)h(of)h(XML,)f -(pro)m(viding)94 623 y(the)32 b(opp)s(ortunit)m(y)d(to)j(use)f -(standard)g(XML)g(tec)m(hnology)-8 b(,)34 b(and)d(in)f(particular)f -(XSL)i(T)-8 b(ransformations)30 b(or)94 736 y(st)m(ylesheets)h([18)q -(],)g(to)g(pass)f(from)g(one)h(language)f(to)i(the)e(other.)1018 -2387 y @beginspecial 0 @llx 0 @lly 202 @urx 167 @ury -2218 @rwi @setspecial -%%BeginDocument: arch.eps -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: arch.eps -%%Creator: fig2dev Version 3.2 Patchlevel 3a -%%CreationDate: Tue Jan 30 13:45:06 2001 -%%For: asperti@marcello (Andrea Asperti, docente, 2094505) -%%BoundingBox: 0 0 202 167 -%%Magnification: 0.3000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save -newpath 0 167 moveto 0 0 lineto 202 0 lineto 202 167 lineto closepath clip newpath --16.0 175.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def - -$F2psBegin -%%Page: 1 1 -10 setmiterlimit - 0.01890 0.01890 sc -% Polyline -7.500 slw -n 2025 8325 m 4050 8325 l 4050 9000 l 2025 9000 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -2565 8910 m -gs 1 -1 sc (Interface) col0 sh gr -/Times-Roman ff 300.00 scf sf -2610 8640 m -gs 1 -1 sc (Textual) col0 sh gr -% Polyline -n 900 6750 m 2925 6750 l 2925 7425 l 900 7425 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -1575 7020 m -gs 1 -1 sc (Type) col0 sh gr -/Times-Roman ff 300.00 scf sf -1395 7335 m -gs 1 -1 sc (Checker) col0 sh gr -% Polyline -n 4725 8325 m 6750 8325 l 6750 9000 l 4725 9000 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -5175 8595 m -gs 1 -1 sc (Graphical) col0 sh gr -/Times-Roman ff 300.00 scf sf -5265 8910 m -gs 1 -1 sc (Interface) col0 sh gr -% Polyline -n 3600 6750 m 5625 6750 l 5625 7425 l 3600 7425 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -4050 7335 m -gs 1 -1 sc (Extractor) col0 sh gr -/Times-Roman ff 300.00 scf sf -4095 7020 m -gs 1 -1 sc (Program) col0 sh gr -% Polyline -n 6300 6750 m 8325 6750 l 8325 7425 l 6300 7425 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -6480 7200 m -gs 1 -1 sc (Search Engine) col0 sh gr -% Polyline -n 9225 6750 m 11250 6750 l 11250 7425 l 9225 7425 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -9630 7020 m -gs 1 -1 sc (Stylesheet) col0 sh gr -/Times-Roman ff 300.00 scf sf -9675 7335 m -gs 1 -1 sc (Processor) col0 sh gr -% Polyline -n 7425 8325 m 9450 8325 l 9450 9000 l 7425 9000 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -8010 8910 m -gs 1 -1 sc (Browser) col0 sh gr -/Times-Roman ff 300.00 scf sf -8190 8640 m -gs 1 -1 sc (Web) col0 sh gr -% Polyline -n 1035 495 m 2655 495 l 2655 1440 l 1035 1440 l - cp gs col0 s gr -/Times-Roman ff 300.00 scf sf -1305 1215 m -gs 1 -1 sc (Libraries ) col0 sh gr -/Times-Roman ff 300.00 scf sf -1305 900 m -gs 1 -1 sc (Digital) col0 sh gr -% Arc -n 8677.4 3120.9 345.6 -122.0 -41.0 arc -gs col0 s gr - -% Arc -n 4665.2 3785.1 574.1 -165.3 -45.9 arc -gs col0 s gr - -% Arc -n 5330.3 3706.7 409.3 -130.4 -29.4 arc -gs col0 s gr - -% Arc -n 5805.2 3711.8 237.3 -119.9 3.9 arc -gs col0 s gr - -% Arc -n 6247.4 4020.9 345.6 -122.0 -41.0 arc -gs col0 s gr - -% Arc -n 4795.2 4682.2 292.7 32.2 -166.9 arc -gs col0 s gr - -% Arc -n 4229.1 4400.2 354.2 37.5 -164.4 arc -gs col0 s gr - -% Arc -n 3897.6 4027.5 277.7 92.0 -173.1 arc -gs col0 s gr - -% Arc -n 3867.5 3807.4 308.3 142.8 -38.1 arc -gs col0 s gr - -% Arc -n 8445.2 4145.1 574.1 -165.3 -45.9 arc -gs col0 s gr - -% Arc -n 10027.4 4380.9 345.6 -122.0 -41.0 arc -gs col0 s gr - -% Arc -n 10314.7 4542.9 389.0 -90.7 93.9 arc -gs col0 s gr - -% Arc -n 9725.8 4496.7 727.9 36.6 138.8 arc -gs col0 s gr - -% Arc -n 8923.0 4963.1 255.3 2.9 113.1 arc -gs col0 s gr - -% Arc -n 5287.5 4747.5 256.5 164.7 74.7 arcn -gs col0 s gr - -% Arc -n 6695.0 4199.7 432.0 -119.9 16.2 arc -gs col0 s gr - -% Arc -30.000 slw -n 1944.7 3461.5 615.0 138.4 -30.4 arc -gs col0 s gr - -% Arc -n 5917.5 3105.0 334.5 -137.7 -42.3 arc -gs col0 s gr - -% Arc -n 6390.0 2880.0 225.0 180.0 -53.1 arc -gs col0 s gr - -% Arc -n 7738.5 2887.5 492.2 -123.1 -34.3 arc -gs col0 s gr - -% Arc -n 8280.0 2739.4 187.0 -136.2 15.7 arc -gs col0 s gr - -% Arc -n 8683.4 3159.6 394.1 -124.5 -36.5 arc -gs col0 s gr - -% Arc -n 9625.1 4007.9 189.6 -133.3 12.8 arc -gs col0 s gr - -% Arc -n 10025.0 4475.0 436.6 -119.5 -50.1 arc -gs col0 s gr - -% Arc -n 10299.4 4550.6 410.7 -89.2 76.5 arc -gs col0 s gr - -% Arc -n 9709.6 4274.2 931.1 46.5 124.7 arc -gs col0 s gr - -% Arc -n 8910.0 4905.0 301.9 26.6 116.6 arc -gs col0 s gr - -% Arc -n 8366.4 5253.2 371.9 -12.1 89.5 arc -gs col0 s gr - -% Arc -n 2701.7 4693.8 692.9 39.0 -167.6 arc -gs col0 s gr - -% Arc -n 3609.3 3409.0 1163.5 -167.1 -43.4 arc -gs col0 s gr - -% Arc -n 1915.4 4008.9 495.3 82.5 -163.7 arc -gs col0 s gr - -% Arc -n 3788.2 5271.1 566.1 38.7 -165.6 arc -gs col0 s gr - -% Arc -n 4967.0 3174.5 762.2 -132.2 -22.7 arc -gs col0 s gr - -% Arc -n 7048.8 2803.1 533.9 -168.9 -37.9 arc -gs col0 s gr - -% Arc -n 9208.1 4038.8 354.2 -79.9 -20.4 arc -gs col0 s gr - -% Arc -n 6952.5 5719.5 208.5 -13.7 122.7 arc -gs col0 s gr - -% Arc -7.500 slw -n 6420.2 4820.1 574.1 -165.3 -45.9 arc -gs col0 s gr - -% Arc -n 7085.3 4741.7 409.3 -130.4 -29.4 arc -gs col0 s gr - -% Arc -n 8002.4 5055.9 345.6 -122.0 -41.0 arc -gs col0 s gr - -% Arc -n 5984.1 5435.2 354.2 37.5 -164.4 arc -gs col0 s gr - -% Arc -n 5652.6 5062.5 277.7 92.0 -173.1 arc -gs col0 s gr - -% Arc -n 5622.5 4842.4 308.3 142.8 -38.1 arc -gs col0 s gr - -% Arc -30.000 slw -n 4462.5 5617.5 238.4 24.1 167.3 arc -gs col0 s gr - -% Arc -n 5124.5 5730.9 400.6 24.2 175.8 arc -gs col0 s gr - -% Arc -n 5798.9 5528.9 451.3 24.4 125.8 arc -gs col0 s gr - -% Arc -n 7740.0 5040.0 859.7 42.9 132.9 arc -gs col0 s gr - -% Arc -n 6557.9 5690.3 348.5 36.0 -176.7 arc -gs col0 s gr - -% Arc -n 8962.8 3349.6 426.2 -85.0 43.9 arc -gs col0 s gr - -% Arc -7.500 slw -n 9180.0 4725.0 1038.9 -107.7 -85.0 arc -gs col0 s gr - -% Arc -n 8402.1 5123.6 331.9 -111.6 8.9 arc -gs col0 s gr - -% Arc -n 6086.0 3214.8 344.0 -76.7 133.3 arcn -gs col0 s gr - -% Arc -n 7362.8 4473.7 694.2 -42.5 -119.6 arcn -gs col0 s gr - -% Arc -n 7560.0 4786.9 277.0 -119.2 -12.9 arc -gs col0 s gr - -% Arc -n 3672.8 4538.4 270.6 -76.7 159.1 arcn -gs col0 s gr - -% Arc -n 3763.9 5078.6 526.4 -130.8 174.4 arcn -gs col0 s gr - -% Polyline -n 1125 7425 m 1125 7650 l 3150 7650 l 3150 6975 l - 2925 6975 l gs col0 s gr -% Polyline -n 3825 7425 m 3825 7650 l 5850 7650 l 5850 6975 l - 5625 6975 l gs col0 s gr -% Polyline -n 6525 7425 m 6525 7650 l 8550 7650 l 8550 6975 l - 8325 6975 l gs col0 s gr -% Polyline -n 9450 7425 m 9450 7650 l 11475 7650 l 11475 6975 l - 11250 6975 l gs col0 s gr -% Polyline -n 7650 9000 m 7650 9225 l 9675 9225 l 9675 8550 l - 9450 8550 l gs col0 s gr -% Polyline -n 4950 9000 m 4950 9225 l 6975 9225 l 6975 8550 l - 6750 8550 l gs col0 s gr -% Polyline -n 2250 9000 m 2250 9225 l 4275 9225 l 4275 8550 l - 4050 8550 l gs col0 s gr -% Polyline -gs clippath -3272 5362 m 3226 5324 l 3128 5440 l 3229 5368 l 3174 5479 l cp -eoclip -n 2070 6750 m - 3240 5355 l gs col0 s gr gr - -% arrowhead -n 3174 5479 m 3229 5368 l 3128 5440 l col0 s -% Polyline -gs clippath -2068 7706 m 2043 7761 l 2181 7824 l 2085 7747 l 2206 7769 l cp -eoclip -n 3150 8235 m - 2070 7740 l gs col0 s gr gr - -% arrowhead -n 2206 7769 m 2085 7747 l 2181 7824 l col0 s -% Polyline -gs clippath -4748 7764 m 4730 7706 l 4585 7752 l 4709 7745 l 4603 7809 l cp -eoclip -n 3150 8235 m - 4725 7740 l gs col0 s gr gr - -% arrowhead -n 4603 7809 m 4709 7745 l 4585 7752 l col0 s -% Polyline -gs clippath -2374 7707 m 2365 7767 l 2514 7791 l 2401 7743 l 2524 7732 l cp -eoclip -n 5715 8280 m - 2385 7740 l gs col0 s gr gr - -% arrowhead -n 2524 7732 m 2401 7743 l 2514 7791 l col0 s -% Polyline -gs clippath -4862 7706 m 4831 7758 l 4961 7836 l 4874 7749 l 4992 7785 l cp -eoclip -n 5760 8280 m - 4860 7740 l gs col0 s gr gr - -% arrowhead -n 4992 7785 m 4874 7749 l 4961 7836 l col0 s -% Polyline -gs clippath -7493 7764 m 7475 7706 l 7330 7752 l 7454 7745 l 7348 7809 l cp -eoclip -n 5760 8280 m - 7470 7740 l gs col0 s gr gr - -% arrowhead -n 7348 7809 m 7454 7745 l 7330 7752 l col0 s -% Polyline -gs clippath -10368 7722 m 10361 7663 l 10211 7682 l 10334 7697 l 10218 7741 l cp -eoclip -n 5760 8280 m - 10350 7695 l gs col0 s gr gr - -% arrowhead -n 10218 7741 m 10334 7697 l 10211 7682 l col0 s -% Polyline -gs clippath -7561 7706 m 7532 7759 l 7665 7832 l 7575 7748 l 7694 7779 l cp -eoclip -n 8460 8235 m - 7560 7740 l gs col0 s gr gr - -% arrowhead -n 7694 7779 m 7575 7748 l 7665 7832 l col0 s -% Polyline -gs clippath -10192 7810 m 10176 7752 l 10030 7791 l 10154 7789 l 10045 7849 l cp -eoclip -n 8505 8235 m - 10170 7785 l gs col0 s gr gr - -% arrowhead -n 10045 7849 m 10154 7789 l 10030 7791 l col0 s -% Polyline - [60] 0 sd -gs clippath -2823 2461 m 2867 2420 l 2763 2310 l 2824 2418 l 2719 2351 l cp -eoclip -n 1980 1530 m - 2835 2430 l gs col0 s gr gr - [] 0 sd -% arrowhead -n 2719 2351 m 2824 2418 l 2763 2310 l col0 s -% Polyline -gs clippath -9926 5244 m 9867 5255 l 9894 5404 l 9903 5281 l 9953 5393 l cp -eoclip -n 10170 6750 m - 9900 5265 l gs col0 s gr gr - -% arrowhead -n 9953 5393 m 9903 5281 l 9894 5404 l col0 s -% Polyline -gs clippath -8188 5816 m 8163 5871 l 8301 5933 l 8205 5857 l 8326 5879 l cp -eoclip -n 10170 6750 m - 8190 5850 l gs col0 s gr gr - -% arrowhead -n 8326 5879 m 8205 5857 l 8301 5933 l col0 s -% Polyline -gs clippath -7456 5928 m 7396 5921 l 7379 6071 l 7423 5956 l 7439 6078 l cp -eoclip -n 7335 6750 m - 7425 5940 l gs col0 s gr gr - -% arrowhead -n 7439 6078 m 7423 5956 l 7379 6071 l col0 s -% Polyline -gs clippath -5758 5996 m 5733 6051 l 5871 6114 l 5775 6037 l 5896 6059 l cp -eoclip -n 7335 6750 m - 5760 6030 l gs col0 s gr gr - -% arrowhead -n 5896 6059 m 5775 6037 l 5871 6114 l col0 s -% Polyline -gs clippath -4712 5930 m 4652 5920 l 4627 6069 l 4677 5956 l 4686 6079 l cp -eoclip -n 4545 6750 m - 4680 5940 l gs col0 s gr gr - -% arrowhead -n 4686 6079 m 4677 5956 l 4627 6069 l col0 s -% Polyline - [60] 0 sd -gs clippath -7662 2288 m 7709 2325 l 7801 2204 l 7705 2282 l 7754 2168 l cp -eoclip -n 8280 1530 m - 7695 2295 l gs col0 s gr gr - [] 0 sd -% arrowhead -n 7754 2168 m 7705 2282 l 7801 2204 l col0 s -% Polyline - [60] 0 sd -gs clippath -5235 2356 m 5295 2353 l 5287 2201 l 5264 2323 l 5227 2204 l cp -eoclip -n 5220 1485 m - 5265 2340 l gs col0 s gr gr - [] 0 sd -% arrowhead -n 5227 2204 m 5264 2323 l 5287 2201 l col0 s -% Polyline -n 7515 450 m 9855 450 l 9855 1395 l 7515 1395 l - cp gs col0 s gr -% Polyline -n 4185 450 m 6300 450 l 6300 1395 l 4185 1395 l - cp gs col0 s gr -/Times-Roman ff 270.00 scf sf -3870 3285 m -gs 1 -1 sc ( ) col0 sh gr -/Times-Roman ff 360.00 scf sf -2115 3915 m -gs 1 -1 sc (XML) col0 sh gr -/Times-Roman ff 300.00 scf sf -8460 4500 m -gs 1 -1 sc (Stylesheets) col0 sh gr -/Times-Roman ff 270.00 scf sf -4770 4140 m -gs 1 -1 sc (RDF) col0 sh gr -/Times-Roman ff 270.00 scf sf -6390 5175 m -gs 1 -1 sc (OMDoc) col0 sh gr -/Times-Roman ff 270.00 scf sf -4005 5355 m -gs 1 -1 sc (MathML) col0 sh gr -/Times-Roman ff 270.00 scf sf -6840 3240 m -gs 1 -1 sc (OpenMath) col0 sh gr -/Times-Roman ff 300.00 scf sf -4545 855 m -gs 1 -1 sc (Logical) col0 sh gr -/Times-Roman ff 300.00 scf sf -4545 1185 m -gs 1 -1 sc (Frameworks) col0 sh gr -/Times-Roman ff 300.00 scf sf -7740 900 m -gs 1 -1 sc (Computer) col0 sh gr -/Times-Roman ff 300.00 scf sf -7740 1215 m -gs 1 -1 sc (Algebra Systems) col0 sh gr -$F2psEnd -rs - -%%EndDocument - @endspecial 235 2676 a(The)23 b(fact)h(of)f(enco)s(ding)f(also)h(the)g -(microscopic,)h(logical)f(lev)m(el)g(of)g(mathematics)g(op)s(ens)g(the) -g(p)s(ossibilit)m(y)94 2789 y(to)i(ha)m(v)m(e)h(completely)e -(formalised)f(subsystems)h(of)g(the)h(library)-8 b(,)24 -b(whic)m(h)f(could)h(b)s(e)g(c)m(hec)m(k)m(ed)j(automatically)94 -2902 y(b)m(y)37 b(standard)f(to)s(ols)h(for)g(the)h(automation)f(of)h -(formal)e(reasoning)h(and)f(the)i(mec)m(hanisation)e(of)i(mathe-)94 -3015 y(matics)33 b(\(pro)s(of)f(assistan)m(ts)h(and)f(logical)g(framew) -m(orks)h([8)q(,)g(9]\).)48 b(A)m(t)34 b(the)f(same)g(time,)g(an)m(y)g -(of)g(these)h(to)s(ols)94 3128 y(could)29 b(b)s(e)g(used)f(as)i(an)g -(authoring)e(system)i(for)f(do)s(cumen)m(ts)h(of)f(the)h(library)-8 -b(,)28 b(b)m(y)i(simply)d(exp)s(orting)h(their)94 3241 -y(in)m(ternal)35 b(libraries)f(in)m(to)i(XML,)h(and)f(using)f(st)m -(ylesheets)j(to)f(transform)f(the)g(output)h(in)m(to)f(a)h(standard,)94 -3354 y(mac)m(hine-understandable)28 b(represen)m(tation,)j(suc)m(h)f -(as)h(MathML)g(con)m(ten)m(t)h(markup)d(or)h(Op)s(enMath.)94 -3466 y(The)h(precise)g(formal)g(con)m(ten)m(t)i(can)f(still)e(b)s(e)h -(preserv)m(ed)g(b)m(y)g(the)h(mac)m(hinery)f(of)h(Xlinks)d([17)q(].)45 -b(Moreo)m(v)m(er,)94 3579 y(st)m(ylesheets)c(can)g(b)s(e)f(also)h(used) -e(to)j(solv)m(e)f(the)f(anno)m(ying)g(notational)h(problem)e(that)i -(usually)d(a\017icts)94 3692 y(formal)30 b(mathematics,)h(pro)m(viding) -d(a)j(simple)d(w)m(a)m(y)j(for)g(adding)e(user-de\014ned)f(st)m(yles)j -(and)f(notations.)235 3805 y(So,)35 b(our)f(approac)m(h)g(leads)f(to)i -(a)g(natural)e(in)m(tegration)h(of)g(pro)s(of)f(assistan)m(t)h(to)s -(ols)g(and)g(the)g(W)-8 b(eb.)52 b(In)94 3918 y(this)30 -b(in)m(tegration,)g(the)h(emphasis)e(is)h(just)g(on)h(\\con)m(ten)m -(t":)44 b(w)m(e)31 b(do)f(not)h(try)g(to)g(link)d(directly)i(the)h(sp)s -(eci\014c)94 4031 y(applications)d(to)j(the)f(W)-8 b(eb,)31 -b(that)f(w)m(ould)f(b)s(e)g(a)i(ma)5 b(jor)30 b(mistak)m(e,)h(for)e(ob) -m(vious)h(mo)s(dularit)m(y)e(reasons.)40 b(On)94 4144 -y(the)d(con)m(trary)-8 b(,)41 b(w)m(e)d(adopt)f(XML)h(as)f(a)h(neutral) -e(sp)s(eci\014cation)g(language,)k(and)d(then)g(w)m(e)h(merely)e(w)m -(ork)94 4257 y(on)29 b(XML-do)s(cumen)m(ts,)g(forgetting)g(the)g -(underlying)d(application.)38 b(In)28 b(this)g(w)m(a)m(y)-8 -b(,)30 b(similar)c(soft)m(w)m(are)31 b(to)s(ols)94 4370 -y(can)42 b(b)s(e)f(applied)f(to)j(di\013eren)m(t)e(logical)g(dialects,) -k(regardless)c(of)h(their)f(concrete)i(nature.)75 b(Moreo)m(v)m(er,)94 -4483 y(if)35 b(ha)m(ving)g(a)h(common)g(represen)m(tation)g(la)m(y)m -(er)h(is)e(not)h(the)g(ultimate)f(solution)f(to)j(all)e(in)m(ter-op)s -(erabilit)m(y)94 4596 y(problems)20 b(b)s(et)m(w)m(een)j(di\013eren)m -(t)e(applications,)h(it)g(is)f(ho)m(w)m(ev)m(er)i(a)g(\014rst)e(and)g -(essen)m(tial)h(step)g(in)f(this)f(direction.)94 4708 -y(Finally)-8 b(,)40 b(this)e(\\standardisation")g(pro)s(cess)h(should)e -(naturally)h(lead)g(to)i(a)g(substan)m(tial)e(simpli\014cation)94 -4821 y(and)d(re-organisation)h(of)g(the)g(curren)m(t,)i(\\monolithic")c -(arc)m(hitecture)j(of)f(logical)f(framew)m(orks.)58 b(All)34 -b(the)94 4934 y(man)m(y)g(di\013eren)m(t)f(and)g(often)i(lo)s(osely)e -(connected)h(functionalities)e(of)i(these)g(complex)f(programs)h(\(pro) -s(of)94 5047 y(c)m(hec)m(king,)47 b(editing,)f(searc)m(h)e(and)e -(consulting,)j(program)e(extraction,)48 b(and)42 b(so)i(on\))f(could)g -(b)s(e)f(clearly)94 5160 y(split)29 b(in)h(more)h(or)g(less)g -(autonomous)g(tasks,)h(and)f(could)f(b)s(e)g(dev)m(elop)s(ed)h(b)m(y)g -(di\013eren)m(t)f(teams,)j(in)c(totally)94 5273 y(di\013eren)m(t)g -(languages.)41 b(This)28 b(is)h(the)h(new,)g(\\con)m(ten)m(t-based")j -(arc)m(hitectural)d(design)f(of)h(future)f(systems.)p -eop -%%Page: 7 7 -7 6 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2578 -b Fl(7)94 171 y Fj(3)135 b(P)l(articipan)l(t)46 b(list)p -94 386 3746 4 v 92 499 4 113 v 144 465 a Fl(P)m(art.)p -393 499 V 100 w(P)m(art.)p 694 499 V 101 w(P)m(articipan)m(t)p -1711 499 V 571 w(P)m(articipan)m(t)p 2256 499 V 100 w(Coun)m(try)p -2834 499 V 248 w(Date)32 b(en)m(ter)p 3354 499 V 101 -w(Date)g(exit)p 3838 499 V 92 612 V 144 578 a(Role)p -393 612 V 122 w(no.)p 694 612 V 180 w(name)p 1711 612 -V 805 w(short)e(name)p 2256 612 V 2834 612 V 678 w(Pro)5 -b(ject)p 3354 612 V 230 w(Pro)g(ject)p 3838 612 V 94 -615 3746 4 v 92 728 4 113 v 144 694 a(C)p 393 728 V 234 -w(1)p 694 728 V 256 w(Univ)m(ersit\022)-45 b(a)30 b(degli)p -1711 728 V 391 w(UNIBO)p 2256 728 V 242 w(Italy)p 2834 -728 V 390 w(Start)p 3354 728 V 319 w(End)p 3838 728 V -92 841 V 393 841 V 694 841 V 745 807 a(Studi)e(di)i(Bologna)p -1711 841 V 2256 841 V 2834 841 V 1470 w(of)h(pro)5 b(ject)p -3354 841 V 137 w(of)30 b(pro)5 b(ject)p 3838 841 V 94 -844 3746 4 v 92 957 4 113 v 144 923 a(P)p 393 957 V 238 -w(2)p 694 957 V 256 w(Institut)29 b(National)i(de)p 1711 -957 V 223 w(INRIA)p 2256 957 V 277 w(F)-8 b(rance)p 2834 -957 V 314 w(Start)p 3354 957 V 319 w(End)p 3838 957 V -92 1070 V 393 1070 V 694 1070 V 745 1036 a(Rec)m(herc)m(he)32 -b(en)e(Informa-)p 1711 1070 V 2256 1070 V 2834 1070 V -1244 w(of)h(pro)5 b(ject)p 3354 1070 V 137 w(of)30 b(pro)5 -b(ject)p 3838 1070 V 92 1183 V 393 1183 V 694 1183 V -745 1149 a(tique)30 b(et)h(Automatique)p 1711 1183 V -2256 1183 V 2834 1183 V 3354 1183 V 3838 1183 V 94 1186 -3746 4 v 92 1299 4 113 v 144 1265 a(P)p 393 1299 V 238 -w(3)p 694 1299 V 256 w(German)f(Cen)m(ter)h(for)p 1711 -1299 V 263 w(DFKI)p 2256 1299 V 314 w(German)m(y)p 2834 -1299 V 213 w(Start)p 3354 1299 V 319 w(End)p 3838 1299 -V 92 1412 V 393 1412 V 694 1412 V 745 1378 a(Arti\014cial)e(In)m -(telligence)p 1711 1412 V 2256 1412 V 2834 1412 V 1308 -w(of)i(pro)5 b(ject)p 3354 1412 V 137 w(of)30 b(pro)5 -b(ject)p 3838 1412 V 94 1415 3746 4 v 92 1528 4 113 v -144 1494 a(P)p 393 1528 V 238 w(4)p 694 1528 V 256 w(Katholiek)m(e)31 -b(Univ)m(ersiteit)p 1711 1528 V 98 w(KUN)p 2256 1528 -V 339 w(Netherlands)p 2834 1528 V 98 w(Start)p 3354 1528 -V 319 w(End)p 3838 1528 V 92 1641 V 393 1641 V 694 1641 -V 745 1607 a(Nijmegen)p 1711 1641 V 2256 1641 V 2834 -1641 V 1766 w(of)g(pro)5 b(ject)p 3354 1641 V 137 w(of)30 -b(pro)5 b(ject)p 3838 1641 V 94 1644 3746 4 v 92 1757 -4 113 v 144 1723 a(P)p 393 1757 V 238 w(5)p 694 1757 -V 256 w(Max-Plank-Gesellshaft)p 1711 1757 V 115 w(MPG)p -2256 1757 V 330 w(German)m(y)p 2834 1757 V 213 w(Start)p -3354 1757 V 319 w(End)p 3838 1757 V 92 1870 V 393 1870 -V 694 1870 V 745 1836 a(zur)30 b(F)-8 b(o)s(erderung)30 -b(der)p 1711 1870 V 2256 1870 V 2834 1870 V 1377 w(of)h(pro)5 -b(ject)p 3354 1870 V 137 w(of)30 b(pro)5 b(ject)p 3838 -1870 V 92 1983 V 393 1983 V 694 1983 V 745 1949 a(Wissenshaften)30 -b(e.V.)p 1711 1983 V 2256 1983 V 2834 1983 V 3354 1983 -V 3838 1983 V 94 1986 3746 4 v 92 2099 4 113 v 144 2066 -a(P)p 393 2099 V 238 w(6)p 694 2099 V 256 w(T)-8 b(rusted)30 -b(Logic)g(S.A.)p 1711 2099 V 268 w(T)-8 b(rusted)p 2256 -2099 V 239 w(F)g(rance)p 2834 2099 V 314 w(Start)p 3354 -2099 V 319 w(End)p 3838 2099 V 92 2212 V 393 2212 V 694 -2212 V 1711 2212 V 1762 2178 a(Logic)p 2256 2212 V 2834 -2212 V 910 w(of)31 b(pro)5 b(ject)p 3354 2212 V 137 w(of)30 -b(pro)5 b(ject)p 3838 2212 V 94 2216 3746 4 v 94 2451 -a Fj(4)135 b(Con)l(tribution)46 b(to)f(programme/k)l(ey)i(action)e(ob)7 -b(jectiv)l(es)94 2654 y Fl(The)25 b(Pro)5 b(ject)27 b(con)m(tributes)e -(to)i(build)c(a)j(user)f(friendly)e(information)h(so)s(ciet)m(y)-8 -b(,)28 b(and)e(in)e(particular)g(it)i(meets)94 2766 y(the)31 -b(follo)m(wing)d(general)j(ob)5 b(jectiv)m(es)31 b(of)g(this)e -(program:)205 2954 y(1.)46 b(\(m)m(ultimedia)38 b(con)m(ten)m(t\))k -(con\014rming)d(Europ)s(e)f(as)i(a)h(leading)d(force)j(in)d(this)h -(\014eld,)i(realizing)d(the)321 3067 y(p)s(oten)m(tial)30 -b(of)h(its)e(creativit)m(y)i(and)f(culture;)205 3255 -y(2.)46 b(\(essen)m(tial)35 b(tec)m(hnologies)g(and)f(infrastructure\)) -f(enabling)g(tec)m(hnologies)i(whic)m(h)e(are)i(the)g(founda-)321 -3368 y(tions)24 b(of)g(the)g(information)f(so)s(ciet)m(y)-8 -b(,)27 b(driving)21 b(their)j(dev)m(elopmen)m(t,)i(enhancing)d(their)g -(applicabilit)m(y)-8 b(,)321 3480 y(and)30 b(accelerating)h(their)f -(tak)m(e)i(up)d(in)g(Europ)s(e.)94 3668 y(As)35 b(a)h(matter)g(of)f -(fact,)j(the)d(pro)5 b(ject)36 b(is)e(based)h(in)f(an)h(essen)m(tial)g -(w)m(a)m(y)h(on)f(the)g(use)g(of)g(most)h(part)f(of)g(the)94 -3781 y(recen)m(t)24 b(recommendations)f(of)h(the)f(W)-8 -b(orld)23 b(Wide)g(W)-8 b(eb)24 b(Organization)e(for)h(W)-8 -b(eb)24 b(publishing)19 b(and)k(h)m(uman-)94 3894 y(computer)39 -b(in)m(teraction)f(\(XML,)i(XSL,)e(XLL,)h(Namespaces,)j(MathML,)e(RDF,) -f(etc.\).)68 b(In)38 b(particular,)94 4007 y(w)m(e)i(aim)f(to)h(pro)m -(v)m(e)g(ho)m(w)g(all)e(these)i(sp)s(eci\014cations)f(naturally)e -(\014t)j(together,)j(when)c(trying)f(to)j(build)36 b(a)94 -4120 y(full,)42 b(in)m(tegrated)g(description)d(\(comprising)h(con)m -(ten)m(t,)46 b(notation,)f(metadata,)g(etc.\))75 b(of)42 -b(a)f(giv)m(en)h(\014eld)94 4233 y(of)e(kno)m(wledge.)70 -b(A)m(t)41 b(our)e(kno)m(wledge,)k(the)d(pro)5 b(ject)41 -b(is)e(the)h(\014rst)f(of)h(the)g(kind,)h(and)f(could)f(b)s(ecome)h(a) -94 4346 y(paradigmatic)30 b(example)g(in)f(the)h(in)m(tegrated)i(use)e -(of)g(these)h(tec)m(hnologies.)235 4458 y(The)23 b(pro)5 -b(ject)24 b(also)g(addresses)e(most)i(of)g(the)g(issues)e(of)i(the)f(m) -m(ultimedia)f(con)m(ten)m(t)j(k)m(ey)f(action,)i(namely:)94 -4571 y(electronic)44 b(publishing,)f(digital)f(heritage)i(and)g -(cultural)e(con)m(ten)m(t,)49 b(education,)f(information)42 -b(access,)94 4684 y(\014ltering)30 b(and)i(handling.)42 -b(Actually)-8 b(,)33 b(all)e(these)h(asp)s(ects)g(are)g(and)g(m)m(ust)g -(b)s(e)f(co)m(v)m(ered)j(in)c(our)i(pro)5 b(ject,)33 -b(in)94 4797 y(order)i(to)h(reac)m(h)h(our)e(ob)5 b(jectiv)m(es.)57 -b(In)35 b(particular,)h(the)g(educational)f(p)s(oten)m(tial)g(of)g(our) -h(system)f(should)94 4910 y(not)44 b(b)s(e)g(neglected)g(either:)68 -b(it)43 b(could)g(b)s(ecome)i(an)e(essen)m(tial)h(to)s(ol)g(for)g(a)g -(wider)f(and)g(more)h(friendly)94 5023 y(dissemination)22 -b(of)j(mathematical)f(kno)m(wledge.)39 b(F)-8 b(or)25 -b(instance,)h(if)e(supp)s(orted)e(b)m(y)j(a)f(suitable)g(tec)m(hnology) --8 b(,)94 5136 y(pro)m(ving)21 b(theorems)h(in)f(a)h(pro)s(of)f -(assistan)m(t)h(could)f(b)s(e)h(as)g(am)m(using)f(as)h(pla)m(ying)f(a)h -(video)f(game.)39 b(W)-8 b(e)23 b(imagine)94 5249 y(bunc)m(hes)28 -b(of)i(y)m(oung)f(researc)m(hers)h(con)m(tributing)e(to)i(the)f(free)h -(dev)m(elopmen)m(t)f(of)h(the)f(library)e(for)i(the)g(mere)p -eop -%%Page: 8 8 -8 7 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2578 -b Fl(8)94 171 y(grati\014cation)33 b(of)f(seeing)h(their)f(name)g(as)h -(actual)g(editor)f(\(or,)i(wh)m(y)e(not,)i(original)d(author\))i(of)g -(a)g(sp)s(eci\014c)94 284 y(fragmen)m(t.)235 397 y(Finally)-8 -b(,)32 b(the)h(pro)5 b(ject)33 b(is)f(particularly)e(related)j(to)g -(the)g(sp)s(eci\014c)f(k)m(ey-action)i(I)s(I)s(I.2.3)f(\(access)h(to)g -(sci-)94 510 y(en)m(ti\014c)f(and)f(cultural)f(heritage\).)50 -b(In)32 b(fact,)j(the)e(aim)f(of)h(our)g(system)g(is)f(exactly)i(to)f -(impro)m(v)m(e)g(access)h(b)m(y)94 623 y(studen)m(ts)d(and)h -(professionals)e(to)i(the)g(fast-gro)m(wing)g(mathematical)g(kno)m -(wledge)g(base,)h(allo)m(wing)d(math-)94 736 y(ematical)38 -b(do)s(cumen)m(ts)f(to)h(b)s(e)e(retriev)m(ed,)j(serv)m(ed,)h(and)c -(pro)s(cessed)h(directly)f(on)h(the)h(W)-8 b(eb.)62 b(Moreo)m(v)m(er,) -94 849 y(our)34 b(system)h(is)e(mean)m(t)j(to)f(b)s(e)f(compatible)g -(with)f(most)i(of)f(the)h(existing)e(to)s(ols)i(for)f(the)h(mec)m -(hanisation)94 962 y(of)g(mathematics)g(and)f(the)g(automation)h(of)g -(formal)f(reasoning)f(\(pro)s(of)i(assistan)m(ts)f(and)g(logical)g -(frame-)94 1075 y(w)m(orks\).)48 b(The)33 b(p)s(ossibilit)m(y)c(to)k -(build)d(coheren)m(t)k(sub-libraries)29 b(of)k(formal)f(mathematical)h -(dev)m(elopmen)m(ts)94 1187 y(w)m(ould)28 b(pro)m(vide)g(an)h(essen)m -(tial)f(\(and)h(unique\))e(added)i(v)-5 b(alue)28 b(to)i(the)f(library) -e(itself,)h(making)g(of)h(Europ)s(e)f(a)94 1300 y(leader)i(in)f(this)g -(area.)235 1413 y(Ma)m(yb)s(e,)36 b(ha)m(ving)d(the)h(p)s(ossibilit)m -(y)d(to)j(pro)s(cess,)h(analyse)e(and)h(elab)s(orate)g(mathematical)g -(structures)94 1526 y(as)24 b(data,)h(the)f(time)f(will)e(come)j(when)e -(w)m(e)i(shall)e(\014nally)f(b)s(e)i(able)f(to)j(start)e(a)h -(completely)f(new)g(and)g(exciting)94 1639 y(\014eld)29 -b(of)h(researc)m(h)h(on)f(mathematics:)41 b(namely)30 -b(a)g(scien)m(ti\014c,)g(empirical)e(study)h(on)h(the)h -Fd(r)-5 b(e)g(al)31 b Fl(structure)f(of)94 1752 y(mathematical)h(en)m -(tities,)f(and)g(the)g(`w)m(a)m(y)i(of)f(thinking')d(of)i -(mathematicians.)94 2038 y Fj(5)135 b(Inno)l(v)-7 b(ation)94 -2241 y Fl(The)32 b(main)f(tec)m(hnical)h(no)m(v)m(elt)m(y)h(of)g(the)f -(pro)5 b(ject)33 b(is)e(in)g(its)g(synergy)h(of)g(di\013eren)m(t)g -(scien)m(ti\014c)f(comm)m(unities)94 2354 y(and)f(researc)m(h)h -(topics:)40 b(digital)29 b(libraries,)f(W)-8 b(eb)31 -b(publishing,)26 b(logical)k(en)m(vironmen)m(ts.)1018 -3661 y @beginspecial 0 @llx 0 @lly 227 @urx 146 @ury -2218 @rwi @setspecial -%%BeginDocument: logo.eps -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: logo.eps -%%Creator: fig2dev Version 3.2 Patchlevel 3a -%%CreationDate: Tue Nov 7 12:09:01 2000 -%%For: asperti@marcello (Andrea Asperti, docente, 2094505) -%%BoundingBox: 0 0 227 146 -%%Magnification: 0.5000 -%%EndComments -/MyAppDict 100 dict dup begin def -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save -newpath 0 146 moveto 0 0 lineto 227 0 lineto 227 146 lineto closepath clip newpath --17.0 235.0 translate -1 -1 scale - -% This junk string is used by the show operators -/PATsstr 1 string def -/PATawidthshow { % cx cy cchar rx ry string - % Loop over each character in the string - { % cx cy cchar rx ry char - % Show the character - dup % cx cy cchar rx ry char char - PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) - false charpath % cx cy cchar rx ry char - /clip load PATdraw - % Move past the character (charpath modified the - % current point) - currentpoint % cx cy cchar rx ry char x y - newpath - moveto % cx cy cchar rx ry char - % Reposition by cx,cy if the character in the string is cchar - 3 index eq { % cx cy cchar rx ry - 4 index 4 index rmoveto - } if - % Reposition all characters by rx ry - 2 copy rmoveto % cx cy cchar rx ry - } forall - pop pop pop pop pop % - - currentpoint - newpath - moveto -} bind def -/PATcg { - 7 dict dup begin - /lw currentlinewidth def - /lc currentlinecap def - /lj currentlinejoin def - /ml currentmiterlimit def - /ds [ currentdash ] def - /cc [ currentrgbcolor ] def - /cm matrix currentmatrix def - end -} bind def -% PATdraw - calculates the boundaries of the object and -% fills it with the current pattern -/PATdraw { % proc - save exch - PATpcalc % proc nw nh px py - 5 -1 roll exec % nw nh px py - newpath - PATfill % - - restore -} bind def -% PATfill - performs the tiling for the shape -/PATfill { % nw nh px py PATfill - - PATDict /CurrentPattern get dup begin - setfont - % Set the coordinate system to Pattern Space - PatternGState PATsg - % Set the color for uncolored pattezns - PaintType 2 eq { PATDict /PColor get PATsc } if - % Create the string for showing - 3 index string % nw nh px py str - % Loop for each of the pattern sources - 0 1 Multi 1 sub { % nw nh px py str source - % Move to the starting location - 3 index 3 index % nw nh px py str source px py - moveto % nw nh px py str source - % For multiple sources, set the appropriate color - Multi 1 ne { dup PC exch get PATsc } if - % Set the appropriate string for the source - 0 1 7 index 1 sub { 2 index exch 2 index put } for pop - % Loop over the number of vertical cells - 3 index % nw nh px py str nh - { % nw nh px py str - currentpoint % nw nh px py str cx cy - 2 index show % nw nh px py str cx cy - YStep add moveto % nw nh px py str - } repeat % nw nh px py str - } for - 5 { pop } repeat - end -} bind def - -% PATkshow - kshow with the current pattezn -/PATkshow { % proc string - exch bind % string proc - 1 index 0 get % string proc char - % Loop over all but the last character in the string - 0 1 4 index length 2 sub { - % string proc char idx - % Find the n+1th character in the string - 3 index exch 1 add get % string proe char char+1 - exch 2 copy % strinq proc char+1 char char+1 char - % Now show the nth character - PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) - false charpath % string proc char+1 char char+1 - /clip load PATdraw - % Move past the character (charpath modified the current point) - currentpoint newpath moveto - % Execute the user proc (should consume char and char+1) - mark 3 1 roll % string proc char+1 mark char char+1 - 4 index exec % string proc char+1 mark... - cleartomark % string proc char+1 - } for - % Now display the last character - PATsstr dup 0 4 -1 roll put % string proc (char+1) - false charpath % string proc - /clip load PATdraw - neewath - pop pop % - -} bind def -% PATmp - the makepattern equivalent -/PATmp { % patdict patmtx PATmp patinstance - exch dup length 7 add % We will add 6 new entries plus 1 FID - dict copy % Create a new dictionary - begin - % Matrix to install when painting the pattern - TilingType PATtcalc - /PatternGState PATcg def - PatternGState /cm 3 -1 roll put - % Check for multi pattern sources (Level 1 fast color patterns) - currentdict /Multi known not { /Multi 1 def } if - % Font dictionary definitions - /FontType 3 def - % Create a dummy encoding vector - /Encoding 256 array def - 3 string 0 1 255 { - Encoding exch dup 3 index cvs cvn put } for pop - /FontMatrix matrix def - /FontBBox BBox def - /BuildChar { - mark 3 1 roll % mark dict char - exch begin - Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] - PaintType 2 eq Multi 1 ne or - { XStep 0 FontBBox aload pop setcachedevice } - { XStep 0 setcharwidth } ifelse - currentdict % mark [paintdata] dict - /PaintProc load % mark [paintdata] dict paintproc - end - gsave - false PATredef exec true PATredef - grestore - cleartomark % - - } bind def - currentdict - end % newdict - /foo exch % /foo newlict - definefont % newfont -} bind def -% PATpcalc - calculates the starting point and width/height -% of the tile fill for the shape -/PATpcalc { % - PATpcalc nw nh px py - PATDict /CurrentPattern get begin - gsave - % Set up the coordinate system to Pattern Space - % and lock down pattern - PatternGState /cm get setmatrix - BBox aload pop pop pop translate - % Determine the bounding box of the shape - pathbbox % llx lly urx ury - grestore - % Determine (nw, nh) the # of cells to paint width and height - PatHeight div ceiling % llx lly urx qh - 4 1 roll % qh llx lly urx - PatWidth div ceiling % qh llx lly qw - 4 1 roll % qw qh llx lly - PatHeight div floor % qw qh llx ph - 4 1 roll % ph qw qh llx - PatWidth div floor % ph qw qh pw - 4 1 roll % pw ph qw qh - 2 index sub cvi abs % pw ph qs qh-ph - exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph - % Determine the starting point of the pattern fill - %(px, py) - 4 2 roll % nw nh pw ph - PatHeight mul % nw nh pw py - exch % nw nh py pw - PatWidth mul exch % nw nh px py - end -} bind def - -% Save the original routines so that we can use them later on -/oldfill /fill load def -/oldeofill /eofill load def -/oldstroke /stroke load def -/oldshow /show load def -/oldashow /ashow load def -/oldwidthshow /widthshow load def -/oldawidthshow /awidthshow load def -/oldkshow /kshow load def - -% These defs are necessary so that subsequent procs don't bind in -% the originals -/fill { oldfill } bind def -/eofill { oldeofill } bind def -/stroke { oldstroke } bind def -/show { oldshow } bind def -/ashow { oldashow } bind def -/widthshow { oldwidthshow } bind def -/awidthshow { oldawidthshow } bind def -/kshow { oldkshow } bind def -/PATredef { - MyAppDict begin - { - /fill { /clip load PATdraw newpath } bind def - /eofill { /eoclip load PATdraw newpath } bind def - /stroke { PATstroke } bind def - /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def - /ashow { 0 0 null 6 3 roll PATawidthshow } - bind def - /widthshow { 0 0 3 -1 roll PATawidthshow } - bind def - /awidthshow { PATawidthshow } bind def - /kshow { PATkshow } bind def - } { - /fill { oldfill } bind def - /eofill { oldeofill } bind def - /stroke { oldstroke } bind def - /show { oldshow } bind def - /ashow { oldashow } bind def - /widthshow { oldwidthshow } bind def - /awidthshow { oldawidthshow } bind def - /kshow { oldkshow } bind def - } ifelse - end -} bind def -false PATredef -% Conditionally define setcmykcolor if not available -/setcmykcolor where { pop } { - /setcmykcolor { - 1 sub 4 1 roll - 3 { - 3 index add neg dup 0 lt { pop 0 } if 3 1 roll - } repeat - setrgbcolor - pop - } bind def -} ifelse -/PATsc { % colorarray - aload length % c1 ... cn length - dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor - } ifelse } ifelse -} bind def -/PATsg { % dict - begin - lw setlinewidth - lc setlinecap - lj setlinejoin - ml setmiterlimit - ds aload pop setdash - cc aload pop setrgbcolor - cm setmatrix - end -} bind def - -/PATDict 3 dict def -/PATsp { - true PATredef - PATDict begin - /CurrentPattern exch def - % If it's an uncolored pattern, save the color - CurrentPattern /PaintType get 2 eq { - /PColor exch def - } if - /CColor [ currentrgbcolor ] def - end -} bind def -% PATstroke - stroke with the current pattern -/PATstroke { - countdictstack - save - mark - { - currentpoint strokepath moveto - PATpcalc % proc nw nh px py - clip newpath PATfill - } stopped { - (*** PATstroke Warning: Path is too complex, stroking - with gray) = - cleartomark - restore - countdictstack exch sub dup 0 gt - { { end } repeat } { pop } ifelse - gsave 0.5 setgray oldstroke grestore - } { pop restore pop } ifelse - newpath -} bind def -/PATtcalc { % modmtx tilingtype PATtcalc tilematrix - % Note: tiling types 2 and 3 are not supported - gsave - exch concat % tilingtype - matrix currentmatrix exch % cmtx tilingtype - % Tiling type 1 and 3: constant spacing - 2 ne { - % Distort the pattern so that it occupies - % an integral number of device pixels - dup 4 get exch dup 5 get exch % tx ty cmtx - XStep 0 dtransform - round exch round exch % tx ty cmtx dx.x dx.y - XStep div exch XStep div exch % tx ty cmtx a b - 0 YStep dtransform - round exch round exch % tx ty cmtx a b dy.x dy.y - YStep div exch YStep div exch % tx ty cmtx a b c d - 7 -3 roll astore % { a b c d tx ty } - } if - grestore -} bind def -/PATusp { - false PATredef - PATDict begin - CColor PATsc - end -} bind def - -% this is the pattern fill program from the Second edition Reference Manual -% with changes to call the above pattern fill -% left30 -11 dict begin -/PaintType 1 def -/PatternType 1 def -/TilingType 1 def -/BBox [0 0 1 1] def -/XStep 1 def -/YStep 1 def -/PatWidth 1 def -/PatHeight 1 def -/Multi 2 def -/PaintData [ - { clippath } bind - { 32 16 true [ 32 0 0 -16 0 16 ] - {} - imagemask } bind -] def -/PaintProc { - pop - exec fill -} def -currentdict -end -/P1 exch def - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/reencdict 12 dict def /ReEncode { reencdict begin -/newcodesandnames exch def /newfontname exch def /basefontname exch def -/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def -basefontdict { exch dup /FID ne { dup /Encoding eq -{ exch dup length array copy newfont 3 1 roll put } -{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall -newfont /FontName newfontname put newcodesandnames aload pop -128 1 255 { newfont /Encoding get exch /.notdef put } for -newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat -newfontname newfont definefont pop end } def -/isovec [ -8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde -8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis -8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron -8#220 /dotlessi 8#230 /oe 8#231 /OE -8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling -8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis -8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot -8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus -8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph -8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine -8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf -8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute -8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring -8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute -8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute -8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve -8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply -8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex -8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave -8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring -8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute -8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute -8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve -8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide -8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex -8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def -/Times-Roman /Times-Roman-iso isovec ReEncode - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def - -$F2psBegin -%%Page: 1 1 -10 setmiterlimit - 0.03000 0.03000 sc -7.500 slw -% Ellipse -n 5325 5625 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P1 [16 0 0 -8 350.00 370.00] PATmp PATsp ef gr PATusp gs col0 s gr - -% Ellipse -n 3525 4800 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P1 [16 0 0 -8 230.00 315.00] PATmp PATsp ef gr PATusp gs col0 s gr - -% Ellipse -n 4650 4800 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P1 [16 0 0 -8 305.00 315.00] PATmp PATsp ef gr PATusp gs col0 s gr - -% Ellipse -n 3300 5850 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P1 [16 0 0 -8 215.00 385.00] PATmp PATsp ef gr PATusp gs col0 s gr - -% Ellipse -n 4350 4425 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P1 [16 0 0 -8 285.00 290.00] PATmp PATsp ef gr PATusp gs col0 s gr - -% Ellipse -n 3150 6900 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P1 [16 0 0 -8 205.00 455.00] PATmp PATsp ef gr PATusp gs col0 s gr - -% Ellipse -n 2250 6975 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P1 [16 0 0 -8 145.00 460.00] PATmp PATsp ef gr PATusp gs col0 s gr - -% Polyline -n 5400 5550 m 5925 5025 l - 7575 5025 l gs col0 s gr -% Polyline -n 3450 4725 m 2550 4425 l - 1275 4425 l gs col0 s gr -% Polyline -n 4725 4725 m 5625 4425 l - 6900 4425 l gs col0 s gr -% Polyline -n 3300 5850 m 2775 5325 l - 1125 5325 l gs col0 s gr -% Polyline -n 4425 4425 m 6225 3750 l - 8100 3750 l gs col0 s gr -% Polyline -n 3150 6975 m 3675 7800 l - 4575 7800 l gs col0 s gr -% Polyline -n 2250 7050 m 1950 7725 l - 600 7725 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf -5850 4950 m -gs 1 -1 sc (MathML Presentation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -1500 4350 m -gs 1 -1 sc (OpenMath) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -5550 4350 m -gs 1 -1 sc (MathML-Content) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -1275 5250 m -gs 1 -1 sc (OMDoc) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -6225 3675 m -gs 1 -1 sc (Specific XML-Dialects) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -3900 7725 m -gs 1 -1 sc (RDF) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -825 7650 m -gs 1 -1 sc (Dublin-Core) col0 sh gr -% Rotated Ellipse -gs -3225 6000 tr --120.000 rot -n 0 0 1050 1650 0 360 DrawEllipse 120.000 rot -gs col0 s gr -gr - -% Rotated Ellipse -gs -4800 6000 tr --240.001 rot -n 0 0 1050 1650 0 360 DrawEllipse 240.001 rot -gs col0 s gr -gr - -% Ellipse -n 4050 4650 1050 1650 0 360 DrawEllipse gs col0 s gr - -/Times-Roman-iso ff 270.00 scf sf -2175 6150 m -gs 1 -1 sc (Digital) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -4800 6525 m -gs 1 -1 sc (Publishing) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -4800 6150 m -gs 1 -1 sc (Electronic) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -2100 6525 m -gs 1 -1 sc (Libraries) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -3450 5625 m -gs 1 -1 sc (MOWGLI) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -3600 3750 m -gs 1 -1 sc (Logical) col0 sh gr -/Times-Roman-iso ff 270.00 scf sf -3225 4125 m -gs 1 -1 sc (Environments) col0 sh gr -$F2psEnd -rs -end - -%%EndDocument - @endspecial 235 3856 a(F)-8 b(rom)37 b(the)g(p)s(oin)m(t)e(of)i(view)e -(of)i(W)-8 b(eb)37 b(publishing,)c(our)j(pro)5 b(ject)37 -b(is)f(the)g(\014rst)g(attempt)h(to)g(pro)m(vide)f(a)94 -3968 y(comprehensiv)m(e)22 b(description,)h(from)g(con)m(ten)m(t)i(to)e -(metadata,)k(of)c(a)g(giv)m(en)g(\014eld)f(of)h(kno)m(wledge)g(\(in)f -(our)g(case)94 4081 y(mathematics\),)38 b(in)33 b(order)i(to)h(enhance) -f(its)g(accessibilit)m(y)-8 b(,)36 b(exc)m(hange)h(and)d(elab)s -(oration)h(via)f(the)i(W)-8 b(orld)94 4194 y(Wide)32 -b(W)-8 b(eb.)47 b(T)-8 b(o)33 b(this)e(aim,)h(w)m(e)h(shall)e(put)g(to) -i(use)f(most)h(of)g(the)f(tec)m(hnologies)h(recen)m(tly)g(in)m(tro)s -(duced)d(b)m(y)94 4307 y(the)h(W3C:)h(XML,)g(DOM,)g(XSL,)f(XLL,)g -(Namespaces,)i(MathML,)f(RDF,)g(etc.)45 b(F)-8 b(rom)31 -b(this)g(resp)s(ect,)g(the)94 4420 y(pro)5 b(ject)28 -b(is)e(\014rst)h(of)h(all)e(a)i(complex)f(test)h(for)g(all)e(these)i -(tec)m(hnologies,)h(and)e(should)e(hop)s(efully)g(b)s(ecome)i(an)94 -4533 y(example)22 b(of)h(`b)s(est)g(practice')g(in)e(their)h(use.)38 -b(Note)24 b(that)f(the)g(\014nal)e(arc)m(hitecture)j(is)d(lik)m(ely)g -(to)j(b)s(e)e(extendible)94 4646 y(to)36 b(other)f(\014elds)e(of)j -(structured)e(information:)48 b(the)35 b(emphasis)f(on)g(mathematics)i -(is)e(motiv)-5 b(ated)35 b(b)m(y)g(the)94 4759 y(fact)c(that,)g(due)f -(to)h(its)e(complex)h(in)m(terpla)m(y)g(b)s(et)m(w)m(een)h(con)m(ten)m -(t,)h(structure)e(and)f(notation,)i(it)f(pro)m(vides)f(a)94 -4872 y(ma)5 b(jor)29 b(case)i(study)d(for)h(W)-8 b(eb-based)30 -b(information)e(systems)h(\(it)g(is)g(not)g(a)h(case)g(that)g(MathML)g -(has)f(b)s(een)94 4985 y(one)35 b(of)g(few)f(instances)h(of)g(XML)g -(completely)f(dev)m(elop)s(ed)g(under)f(the)i(aegis)g(of)g(the)g(W)-8 -b(orld)34 b(Wide)h(W)-8 b(eb)94 5098 y(Consortium\).)235 -5210 y(F)g(rom)27 b(the)g(p)s(oin)m(t)e(of)h(view)g(of)h(digital)d -(libraries,)h(our)h(w)m(ork)g(is)g(aimed)f(at)i(exploiting)e(all)g(the) -i(p)s(oten)m(tial)94 5323 y(functionalities)36 b(o\013ered)k(b)m(y)e -(the)h(W)-8 b(eb,)42 b(and)c(in)g(particular)f(a)i(more)g(in)m -(tegrated)h(use)e(of)h(its)g(bro)m(wsing)p eop -%%Page: 9 9 -9 8 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2578 -b Fl(9)94 171 y(and)29 b(searc)m(hing)h(facilities.)39 -b(The)29 b(library)f(is)h(not)h(merely)g(seen)g(as)g(a)g(more)g(or)g -(less)g(structured)f(collection)94 284 y(of)j(texts,)i(but)e(as)g(a)h -(virtual)e(structure)g(inside)f(whic)m(h)h(w)m(e)i(can)g(freely)e(na)m -(vigate,)k(jumping)30 b(for)i(instance)94 397 y(from)41 -b(an)h(en)m(tit)m(y)h(to)g(its)e(de\014nition,)i(or)e(p)s(eeping)g -(inside)e(some)k(information)d(at)j(deep)s(er)e(and)g(deep)s(er)94 -510 y(lev)m(els)g(of)h(details)f(\(suc)m(h)h(as)g(di\013eren)m(t)g(lev) -m(els)f(of)h(detail)f(of)h(a)g(pro)s(of)7 b(\).)75 b(This)40 -b(is)h(similar)f(to)i(what)g(w)m(e)94 623 y(curren)m(tly)30 -b(do)h(with)f(HTML)g(texts,)j(but)d(in)g(order)g(to)i(enhance)f(the)g -(e\013ectiv)m(eness)h(of)g(the)f(consultation,)94 736 -y(w)m(e)i(clearly)f(need)g(a)h(go)s(o)s(d)g(metadata)h(mo)s(del)e(of)g -(the)h(information.)46 b(Moreo)m(v)m(er,)36 b(in)31 b(suc)m(h)h(an)h -(in)m(tegrated)94 849 y(view,)g(it)g(is)f(hardly)g(conceiv)-5 -b(able)33 b(to)h(just)f(apply)e(some)j(`general)g(purp)s(ose')d -(metadata)k(mo)s(del)d(\(lik)m(e)h(the)94 962 y(Dublin)e(Core)j -(system,)i(sa)m(y\):)49 b(the)34 b(metadata)i(mo)s(del)c(m)m(ust)i(b)s -(e)g(ev)m(en)m(tually)g(sp)s(ecialised)d(to)k(the)f(actual)94 -1075 y(structure)41 b(of)i(the)f(information)e(it)h(is)g(supp)s(osed)f -(to)j(mo)s(del)e(\(and)g(more)h(structure)g(w)m(e)g(ha)m(v)m(e)h(on)f -(the)94 1187 y(information,)c(more)f(relev)-5 b(an)m(t)37 -b(metadata)i(w)m(e)f(can)g(usually)d(infer)g(on)i(the)h(do)s(cumen)m -(t\).)61 b(F)-8 b(or)38 b(instance,)94 1300 y(metadata)g(could)e(con)m -(tain)h(the)g(whole)f(signature)g(of)h(a)g(giv)m(en)f(mo)s(dule)f(of)i -(mathematical)g(kno)m(wledge.)94 1413 y(The)28 b(usual)f(motiv)-5 -b(ation)29 b(for)f(k)m(eeping)h(metadata)h(simple)d(and)h(general)h(is) -e(that)j(it)e(is)g(usually)e(di\016cult)h(to)94 1526 -y(add)j(this)f(information)f(b)m(y)i(hand;)g(but)f(in)g(our)h(case)h(a) -g(large)f(part)g(of)g(the)h(metadata)h(is)d(supp)s(osed)f(to)j(b)s(e)94 -1639 y(extracted)g(automatically)f(b)m(y)g(the)g(\(structured\))g(text) -h(itself,)e(allo)m(wing)g(for)g(prett)m(y)i(complex)f(metadata)94 -1752 y(mo)s(dels.)235 1865 y(Finally)-8 b(,)45 b(a)e(main)f(asp)s(ect)i -(of)f(our)g(pro)5 b(ject)43 b(is)f(the)i(in)m(tegration)f(with)e -(curren)m(t)i(to)s(ols)g(for)g(the)g(au-)94 1978 y(tomation)30 -b(of)g(formal)f(reasoning)h(and)f(mec)m(hanisation)g(of)h(mathematics)g -(\(pro)s(of)g(assistan)m(ts)g(and)f(logical)94 2091 y(framew)m(orks\).) -59 b(This)34 b(in)m(tegration)i(has)g(a)h(m)m(utual)e(b)s(ene\014t.)58 -b(F)-8 b(rom)36 b(the)h(p)s(oin)m(t)e(of)h(view)g(of)g(the)h(mathe-)94 -2204 y(matical)e(library)-8 b(,)34 b(the)h(\014rst)f(and)g(fundamen)m -(tal)g(role)h(of)g(these)g(systems)g(is)f(that)h(of)g(pro)m(viding)e -(friendly)94 2317 y(authoring)e(to)s(ols)g(\(for)h(instance,)g(our)g -(`core')h(library)c(will)g(b)s(e)i(automatically)h(extracted)h(from)e -(existing)94 2429 y(libraries)i(of)k(these)f(systems\).)59 -b(The)35 b(relev)-5 b(ance)37 b(of)f(this)f(p)s(oin)m(t)g(should)g(not) -h(b)s(e)f(underestimated:)52 b(as)36 b(a)94 2542 y(matter)g(of)f(fact,) -i(the)e(main)f(reason)i(for)e(the)i(failure)d(of)i(complex)g(markup)e -(mo)s(dellings)f(is)i(usually)f(the)94 2655 y(lac)m(k)i(of)g(suitable)e -(authoring)g(to)s(ols)h(\(it)h(is)e(often)i(painful)d(to)j(add)f(the)g -(markup)g(b)m(y)g(hand\).)52 b(Of)34 b(course,)94 2768 -y(they)39 b(can)h(also)f(pro)m(vide)f(other)h(functionalities)e(\(lik)m -(e)h(automatic)i(pro)s(of)e(c)m(hec)m(king\))j(on)e(fragmen)m(ts)g(of) -94 2881 y(the)28 b(library)d(\(t)m(ypically)-8 b(,)28 -b(the)g(fragmen)m(ts)g(generated)h(b)m(y)e(the)h(to)s(ol)f(itself,)h -(in)e(its)h(sp)s(eci\014c)f(logical)h(dialect\).)94 2994 -y(These)k(additional)e(functionalities)g(ma)m(y)i(b)s(e)g(esp)s -(ecially)e(relev)-5 b(an)m(t)31 b(for)g(industrial)d(applications,)i -(e.g.)44 b(in)94 3107 y(the)34 b(con)m(text)h(of)f(IT)f(securit)m(y)g -(ev)-5 b(aluation)33 b(standards)g(lik)m(e)g(the)g(Common)g(Criteria)g -(standard)f(\([4)q(]\).)51 b(In)94 3220 y(its)28 b(highest)g(assurance) -h(lev)m(el,)g(this)f(standard)f(requires)h(the)h(dev)m(elopmen)m(t)g -(of)g(formal)f(mo)s(dels)f(of)i(the)g(IT)94 3333 y(pro)s(duct)j(under)g -(ev)-5 b(aluation,)34 b(as)f(w)m(ell)f(as)i(mec)m(hanized)f(pro)s(ofs)g -(that)h(it)e(meets)i(its)f(securit)m(y)g(ob)5 b(jectiv)m(es.)94 -3446 y(Suc)m(h)26 b(mo)s(dels)g(and)h(pro)s(ofs)f(m)m(ust)h(b)s(e)g -(published)c(in)j(a)i(format)f(that)h(can)f(b)s(e)g(easily)f(readable)h -(and)g(under-)94 3559 y(sto)s(o)s(d)j(b)m(y)g(securit)m(y)g(ev)-5 -b(aluators.)41 b(Hence,)32 b(there)e(is)g(a)h(strong)f(need)g(from)g -(soft)m(w)m(are)i(industry)c(to)j(b)s(e)f(able)94 3671 -y(to)38 b(pro)s(duce)e(suc)m(h)h(do)s(cumen)m(tation)g(directly)f(from) -h(the)g(mo)s(dels)f(in)m(tro)s(duced)g(in)g(the)h(pro)s(of)g(assistan)m -(t,)94 3784 y(and)30 b(to)h(link)d(it)i(with)f(do)s(cumen)m(ts)h -(describing)e(the)j(IT)f(pro)s(duct,)f(etc.)235 3897 -y(On)40 b(the)i(other)f(side,)j(there)d(is)f(a)i(comp)s(elling)d(need)i -(of)g(in)m(tegration)g(b)s(et)m(w)m(een)h(the)g(curren)m(t)f(to)s(ols) -94 4010 y(for)36 b(automation)h(of)g(formal)f(reasoning)f(and)h(mec)m -(hanisation)g(of)h(mathematics)g(and)f(the)g(most)h(recen)m(t)94 -4123 y(tec)m(hnologies)23 b(for)e(the)h(dev)m(elopmen)m(t)g(of)g(W)-8 -b(eb)23 b(applications)d(and)h(electronic)h(publishing.)33 -b(XML,)23 b(whic)m(h)d(is)94 4236 y(rapidly)h(imp)s(osing)h(as)i(a)g -(piv)m(otal)f(tec)m(hnology)i(in)e(the)h(future)f(dev)m(elopmen)m(t)h -(of)g(all)f(In)m(ternet)h(applications,)94 4349 y(and)g(the)h(main)f -(to)s(ol)g(for)h(represen)m(tation,)h(manipulation,)e(and)g(exc)m -(hange)i(of)f(structured)f(information)f(in)94 4462 y(the)g(net)m(w)m -(ork)m(ed)i(age,)h(lo)s(oks)d(as)g(a)h(natural,)g(almost)f(mandatory)-8 -b(,)26 b(c)m(hoice)e(for)f(mo)s(delling)d(the)k(information.)235 -4575 y(In)39 b(this)f(w)m(a)m(y)-8 b(,)43 b(w)m(e)d(just)f(ob)s(ey)g -(to)h(the)f(v)m(ery)h(primitiv)m(e)d(commandmen)m(t)j(of)f(the)h(W)-8 -b(eb:)59 b(mak)m(e)40 b(y)m(our)94 4688 y(information)j(a)m(v)-5 -b(ailable.)82 b(Curren)m(tly)-8 b(,)47 b(libraries)41 -b(in)i(logical)h(framew)m(orks)h(are)f(usually)e(sa)m(v)m(ed)k(in)d(t)m -(w)m(o)94 4801 y(formats:)d(a)28 b(textual)h(one,)g(in)e(the)h(sp)s -(eci\014c)f(tactical)j(language)e(of)h(the)f(pro)s(of)f(assistan)m(t,)j -(and)d(a)i(compiled)94 4913 y(\(pro)s(of)h(c)m(hec)m(k)m(ed\))j(one)d -(in)g(some)g(in)m(ternal,)g(concrete)i(represen)m(tation)e(language.)41 -b(Both)31 b(represen)m(tations)94 5026 y(are)45 b(ob)m(viously)e -(unsatisfactory)-8 b(,)48 b(since)c(they)h(are)g(to)s(o)g(orien)m(ted)f -(to)h(the)g(sp)s(eci\014c)e(application:)67 b(they)94 -5139 y(restrict)31 b(the)g(access)h(of)f(the)h(libraries)c(to)j(the)h -(users)e(of)h(the)g(giv)m(en)g(application,)f(and)g(at)i(the)f(same)h -(time)94 5252 y(they)i(are)h(to)s(o)f(sensible)e(to)j(the)f(ev)m -(olution)g(and)f(the)h(main)m(tenance)h(of)f(the)g(application)f -(itself.)50 b(On)33 b(the)94 5365 y(other)i(side,)h(as)g(so)s(on)e(as)i -(the)f(information)f(is)g(put)h(in)f(a)h(standard)g(format)g(on)g(the)h -(W)-8 b(eb,)37 b Fd(any)f Fl(kind)d(of)p eop -%%Page: 10 10 -10 9 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(10)94 171 y(researc)m(h)40 b(b)s(ecomes)g(virtually)d(p)s -(ossible,)i(and)g Fd(anyb)-5 b(o)g(dy)42 b Fl(could)c(start)i(dev)m -(eloping)f(his)f(o)m(wn)h Fd(spider)i Fl(for)94 284 y(implemen)m(ting) -25 b(his)h(o)m(wn)i(searc)m(hing)f(requiremen)m(ts.)39 -b(This)25 b(is)i(clearly)f(a)i(ma)5 b(jor)28 b(impro)m(v)m(emen)m(t)f -(w.r.t.)40 b(the)94 397 y(presen)m(t)31 b(situation.)42 -b(Curren)m(tly)-8 b(,)30 b(y)m(ou)i(m)m(ust)f(not)g(only)f(rely)g(on)h -(the)h(searc)m(hing)f(facilities)e(o\013ered)i(b)m(y)g(the)94 -510 y(sp)s(eci\014c)d(applications,)g(but)h(ev)m(en)h(if)e(y)m(ou)i(w)m -(ould)e(wish)g(to)i(implemen)m(t)e(y)m(our)h(o)m(wn)h(searc)m(hing)f -(algorithm,)94 623 y(y)m(ou)36 b(w)m(ould)e(b)s(e)h(prev)m(en)m(ted)h -(b)m(y)g(the)g(simple)d(reason)j(that)g(the)g(information)e(is)g(not)i -(accessible)f(\(in)g(an)m(y)94 736 y(reasonable)30 b(sense)h(of)f(the)h -(w)m(ord\).)235 849 y(The)d(pro)5 b(ject)29 b(builds)c(on)j(the)h -(solid)d(ground)h(pro)m(vided)g(b)m(y)i(sev)m(eral)f(existing)f -(XML-based)i(languages)94 962 y(for)34 b(the)g(managemen)m(t)h(of)f -(mathematical)h(do)s(cumen)m(ts)e(suc)m(h)h(as)g(MathML,)h(Op)s(enMath) -e(and)g(OMDo)s(c.)94 1075 y(Eac)m(h)25 b(of)g(these)g(markup)f -(languages)g(co)m(v)m(ers)j(a)e(di\013eren)m(t)f(asp)s(ect)h(of)g(the)g -(information.)37 b(Our)23 b(aim)h(is)g(not)h(to)94 1187 -y(prop)s(ose)h(a)g(new)g(language,)i(but)e(to)h(study)f(and)g(to)h(dev) -m(elop)f(the)h(tec)m(hnological)g(infrastructure)d(required)94 -1300 y(to)29 b(in)m(tegrate)h(all)e(these)h(languages)g(together,)h(in) -e(order)g(to)h(tak)m(e)i(adv)-5 b(an)m(tage)30 b(of)f(the)g(sp)s -(eci\014c)e(features)i(of)94 1413 y(eac)m(h)j(of)e(them.)94 -1700 y Fj(6)135 b(Comm)l(unit)l(y)46 b(added)e(v)-7 b(alue)46 -b(and)e(con)l(tribution)i(to)f(EC)g(p)t(olicies)94 1903 -y Fl(The)31 b(Pro)5 b(ject)32 b(relies)f(in)f(an)h(essen)m(tial)h(w)m -(a)m(y)g(on)g(the)f(con)m(v)m(ergence)j(of)e(information)e(pro)s -(cessing,)h(comm)m(u-)94 2016 y(nication)i(and)h(new)f(media,)i -(meeting)f(the)g(main)f(p)s(olicy)f(issue)h(of)i(the)f(IST)f -(programme.)52 b(In)33 b(fact,)j(due)94 2128 y(to)f(its)f(v)m(ery)h -(nature,)g(mathematical)g(information)e(is)g(particularly)f(suited)h -(to)i(an)g(in)m(tegrated)g(analysis)94 2241 y(under)29 -b(the)h(di\013eren)m(t)f(p)s(ersp)s(ectiv)m(es)h(of)g(elab)s(oration,)f -(comm)m(unication)h(and)f(\(h)m(yp)s(er\)media)h(publishing,)94 -2354 y(pro)m(viding)24 b(a)i(main)f(arena)h(for)f(inno)m(v)-5 -b(ativ)m(e)26 b(exp)s(erimen)m(ts)f(and)g(solutions,)g(esp)s(ecially)f -(in)h(view)g(of)h(the)g(new)94 2467 y(tec)m(hnological)31 -b(fron)m(tier)f(of)g(the)h(Seman)m(tic)f(W)-8 b(eb.)235 -2580 y(The)26 b(Pro)5 b(ject)27 b(also)f(tries)g(to)h(answ)m(er)f(to)h -(a)f(clear)h(need)f(for)g(wider)e(in)m(terop)s(erabilit)m(y)g(and)h -(coherence)j(in)94 2693 y(the)j(realm)g(of)g(mathematics)g(o)m(v)m(er)i -(the)e(W)-8 b(eb,)32 b(esp)s(ecially)d(for)i(educational,)g(scien)m -(ti\014c)f(and)h(commercial)94 2806 y(purp)s(oses.)235 -2919 y(Electronic)i(textb)s(o)s(oks)h(are)g(rapidly)d(b)s(ecoming)i(a)h -(main)e(to)s(ol)h(for)h(education)f(and)g(kno)m(wledge)h(dis-)94 -3032 y(semination.)50 b(Electronic)33 b(textb)s(o)s(oks)h(m)m(ust)g(b)s -(e)f(in)m(teractiv)m(e,)i(allo)m(wing)e(in)m(tercomm)m(unication)g(b)s -(et)m(w)m(een)94 3145 y(the)39 b(text)g(and)f(scien)m(ti\014c)g(soft)m -(w)m(are)i(and)d(graphics.)64 b(This)37 b(is)h(v)m(ery)g(hard)g(to)h -(ac)m(hiev)m(e)h(starting)e(form)g(a)94 3258 y(mere)31 -b(presen)m(tational)g(description)e(of)i(the)g(information,)f(clearly)g -(requiring)f(a)i(sophisticated)f(seman)m(ti-)94 3370 -y(cal)g(description)f(of)h(the)h(con)m(ten)m(t.)235 3483 -y(Similarly)-8 b(,)39 b(the)g(academic)h(and)f(commercial)g(researc)m -(h)h(comm)m(unities)e(generate)j(large)e(v)m(olume)g(of)94 -3596 y(dense)g(scien)m(ti\014c)g(material.)67 b(Increasingly)-8 -b(,)41 b(researc)m(h)f(publications)d(are)j(b)s(eing)e(stored)h(in)f -(databases,)94 3709 y(esp)s(ecially)i(for)i(those)h(areas)g(of)f(ph)m -(ysics)f(and)h(mathematics)h(where)e(academic)i(journal)e(prices)g(ha)m -(v)m(e)94 3822 y(b)s(een)33 b(gro)m(wing)h(at)g(an)g(unsustainable)d -(rate.)52 b(Still,)33 b(ho)m(w)m(ev)m(er,)j(the)e(information)e(is)h -(stored)h(in)f(a)h(format)94 3935 y(whic)m(h)26 b(is)h(mac)m(hine)g -(readable)g(but)g(not)h(mac)m(hine)f(understandable;)g(in)f(particular) -g(it)h(is)g(not)h(suitable)e(for)94 4048 y(an)m(y)h(form)f(of)g(elab)s -(oration)f(other)i(than)f(its)g(rendering.)37 b(MO)m(W)m(GLI's)28 -b(con)m(ten)m(t)g(and)e(metadata)i(lev)m(els)e(are)94 -4161 y(exactly)h(mean)m(t)g(to)g(address)e(complex)h(elab)s(oration)g -(requiremen)m(ts,)g(and)g(to)g(facilitate)h(the)f(main)m(tenance)94 -4274 y(and)h(op)s(erabilit)m(y)e(of)i(large)g(do)s(cumen)m(t)h -(collections,)f(for)g(whic)m(h)f(automatic)i(searc)m(hing)f(and)g -(indexing)e(are)94 4387 y(crucial.)235 4500 y(Corp)s(orate)d(and)g -(academic)h(scien)m(tists)f(and)f(engineers)h(also)g(use)g(tec)m -(hnical)g(do)s(cumen)m(ts)g(in)f(their)g(w)m(ork)94 4612 -y(to)27 b(collab)s(orate,)g(to)g(record)f(results)f(of)h(exp)s(erimen)m -(ts)f(and)g(computer)h(sim)m(ulations,)f(and)h(to)h(v)m(erify)e(calcu-) -94 4725 y(lations.)40 b(The)29 b(W)-8 b(eb)30 b(is,)f(p)s(oten)m -(tially)-8 b(,)30 b(the)g(natural)e(media)h(for)h(sharing)e(this)h -(information;)f(MO)m(W)m(GLI)j(is)94 4838 y(mean)m(t)c(to)h(pro)m(vide) -d(the)i(basic)f(tec)m(hnology)h(to)g(transform)f(this)g(p)s(oten)m -(tialit)m(y)g(in)m(to)g(an)g(actual)h(p)s(ossibilit)m(y)-8 -b(.)235 4951 y(Commercial)32 b(publishers)d(are)k(also)g(in)m(v)m(olv)m -(ed)g(with)e(mathematics)j(on)e(the)h(W)-8 b(eb)34 b(at)g(all)d(lev)m -(els)i(from)94 5064 y(electronic)i(v)m(ersions)g(of)h(prin)m(ted)e(b)s -(o)s(oks)h(to)h(in)m(teractiv)m(e)g(textb)s(o)s(oks)g(and)f(academic)h -(journals.)55 b(In)34 b(this)94 5177 y(case,)g(MO)m(W)m(GLI)f(o\013ers) -f(supp)s(ort)e(for)i(adv)-5 b(anced)32 b(capabilities,)f(suc)m(h)g(as)h -(bro)m(wsing,)g(in)m(teractivit)m(y)-8 b(,)33 b(pre-)94 -5290 y(sen)m(tational)e(and)e(st)m(ylistic)h(customisation,)g(and)g -(adv)-5 b(anced)30 b(searc)m(hing)g(and)g(retrieving)f(features.)p -eop -%%Page: 11 11 -11 10 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(11)235 171 y(The)23 b(pro)5 b(ject)25 b(deals)e(with)g(problems)f -(traditionally)f(b)s(elonging)h(to)j(di\013eren)m(t)e(scien)m(ti\014c)g -(comm)m(unities:)94 284 y(digital)31 b(libraries,)f(W)-8 -b(eb)33 b(publishing,)28 b(automation)33 b(of)g(mathematics)f(and)g -(computer)g(aided)g(reasoning.)94 397 y(An)m(y)41 b(serious)g(solution) -f(needs)g(a)i(co)s(ordinated)f(e\013ort)h(of)g(all)e(these)i(groups)e -(and)h(a)h(synergy)f(of)g(their)94 510 y(di\013eren)m(t)31 -b(exp)s(ertise.)45 b(The)32 b(mem)m(b)s(ers)f(of)h(the)g(consortium)f -(ha)m(v)m(e)i(b)s(een)f(also)g(carefully)e(c)m(hosen)j(for)e(their)94 -623 y(exp)s(erience)37 b(in)f(the)h(ab)s(o)m(v)m(e)i(men)m(tioned)d -(areas.)63 b(F)-8 b(rom)38 b(this)e(in)m(teraction,)j(w)m(e)f(exp)s -(ect)g(to)g(dev)m(elop)f(new)94 736 y(tec)m(hnologies)23 -b(and)e(solutions,)i Fd(fostering)i(innovation)f Fl(to)m(w)m(ards)f -(the)f(construction)g(of)g(the)g(Seman)m(tic)g(W)-8 b(eb.)235 -849 y(MO)m(W)m(GLI)33 b(con)m(tributes)e(in)f(the)h Fd(spr)-5 -b(e)g(ad)36 b(of)d(information)j(and)e(know-how)p Fl(,)g(since)c(new)h -(information)94 962 y(tec)m(hnologies)23 b(will)d(b)s(e)i(applied)e(to) -j(realms)f(suc)m(h)g(as)h(education)f(and)g(publishing,)e(whic)m(h)h -(are)i(traditionally)94 1075 y(not)31 b(v)m(ery)g(inclined)c(to)32 -b(inno)m(v)-5 b(ation.)40 b(More)31 b Fd(c)-5 b(omp)g(etitiveness)33 -b Fl(will)28 b(b)s(e)i(acquired)f(b)s(oth)h(b)m(y)g(the)h(end)f(users) -94 1187 y(of)k(the)g(system)g(and)g(b)m(y)f(the)h(tec)m(hnology)i(pro)m -(viders,)d(whic)m(h)g(will)e(ev)m(en)m(tually)j(pro\014t)f(b)m(y)h(the) -g(exp)s(ertise)94 1300 y(gained)26 b(b)m(y)h(applying)e(new)h(and)h -(emerging)f(tec)m(hnologies)i(to)g(the)f(h)m(uge)g(and)f(comp)s(elling) -f(problem)g(of)i(the)94 1413 y(managemen)m(t)32 b(of)e(mathematical)h -(do)s(cumen)m(ts)f(o)m(v)m(er)i(the)e(W)-8 b(eb.)235 -1526 y(By)47 b(op)s(ening)e(new)h(p)s(ersp)s(ectiv)m(es)f(in)g(the)i -(domains)e(of)h(in)m(teractiv)m(e)i(publishing)42 b(and)j(education,)94 -1639 y(MO)m(W)m(GLI)36 b(suggests)f Fd(new)i(job-pr)-5 -b(o\014les)36 b Fl(in)e(these)h(domains,)f(and)g Fd(incr)-5 -b(e)g(ases)38 b(job)f(opp)-5 b(ortunities)37 b Fl(in)c(the)94 -1752 y(Information)c(So)s(ciet)m(y)i(sector.)235 1865 -y(Finally)-8 b(,)32 b(the)i Fd(so)-5 b(cial)36 b(and)g(cultur)-5 -b(al)36 b(c)-5 b(ohesion)35 b Fl(of)e(Europ)s(e)f(is)g(ev)m(en)m -(tually)h(strengthened)g(b)m(y)g(the)g(cre-)94 1978 y(ation)d(of)h(a)g -(large)f(distributed)d(rep)s(ositories)i(of)i(scien)m(ti\014c)f(kno)m -(wledge.)94 2264 y Fj(7)135 b(Con)l(tribution)46 b(to)f(Comm)l(unit)l -(y)h(So)t(cial)f(Ob)7 b(jectiv)l(es)94 2467 y Fl(The)34 -b(qualit)m(y)f(of)h(life,)g(in)f(a)h(civilised)d(coun)m(try)-8 -b(,)36 b(strictly)d(dep)s(ends)g(on)h(the)g(qualit)m(y)f(of)i(its)e -(services,)i(and)94 2580 y(in)28 b(particular)g(on)i(the)g(atten)m -(tion)h(dev)m(oted)g(to)f(those)g(services)g(aimed)f(to)h(preserv)m(e,) -h(increase)e(and)g(mak)m(e)94 2693 y(accessible)h(to)h(a)f(wider)f -(audience)h(its)f(cultural)g(and)g(scien)m(ti\014c)h(heritage.)41 -b(Building)27 b(a)k(user)e(friendly)f(In-)94 2806 y(formation)23 -b(So)s(ciet)m(y)-8 b(,)26 b(with)21 b(particular)h(emphasis)g(on)h -(digital)f(heritage,)j(cultural)d(con)m(ten)m(t)j(and)e(education)94 -2919 y(is)29 b(indeed)g(a)i(main)e(so)s(cial)h(ob)5 b(jectiv)m(e)31 -b(of)g(the)f(Europ)s(ean)f(Comm)m(unit)m(y)-8 b(.)235 -3032 y(The)29 b(new)g(Information)f(So)s(ciet)m(y)i(is)e(essen)m -(tially)g(based)h(on)h(the)f(con)m(v)m(ergence)j(of)d(information,)g -(com-)94 3145 y(m)m(unication)e(and)g(net)m(w)m(orking)h(tec)m -(hnologies)h(and)f(tak)m(es)h(adv)-5 b(an)m(tage)30 b(of)e -(infrastructures)e(lik)m(e)i(the)g(In)m(ter-)94 3258 -y(net)j(and)e(the)i(W)-8 b(eb.)235 3370 y(Our)37 b(pro)5 -b(ject)38 b(builds)c(on)k(these)g(grounds,)h(to)f(create)h(the)f(tec)m -(hnological)g(infrastructure)e(required)94 3483 y(for)45 -b(the)g(creation)h(and)e(main)m(tenance)i(of)f(a)h(digital)d(kno)m -(wledge)j(base)f(of)g Fd(structur)-5 b(e)g(d)47 b Fl(mathematical)94 -3596 y(information,)29 b(univ)m(ersally)f(and)i(seamlessly)g -(accessible)g(to)i(all)d(p)s(eople,)h(and)g(in)f(particular)g(to)j -(studen)m(ts)94 3709 y(and)e(professionals,)f(through)g(in)m(terop)s -(erable,)h(dep)s(endable)e(and)i(a\013ordable)g(pro)s(ducts)f(and)g -(services.)235 3822 y(F)-8 b(rom)25 b(the)f(educational)f(p)s(oin)m(t)g -(of)h(view,)h(our)e(system)h(could)f(easily)h(b)s(ecome)g(a)g(main)f -(to)s(ol)h(for)g(a)g(wider)94 3935 y(and)35 b(more)g(friendly)e -(dissemination)g(of)i(mathematical)h(kno)m(wledge.)55 -b(Indeed,)36 b(its)f(in)m(teractiv)m(e)h(nature,)94 4048 -y(and)f(the)h(p)s(ossibilit)m(y)d(to)j(access)h(single)e(information)f -(units,)i(and)f(p)s(ossibly)e(applying)h(them,)j(pro)m(vides)94 -4161 y(a)32 b(more)f(op)s(erational)g(and)f(far)h(less)g(abstract)h -(comprehension)e(of)h(mathematical)h(en)m(tities,)g(and)e(should)94 -4274 y(naturally)39 b(induce)g(the)j(user)e(to)h(pla)m(y)g(with)e(the)i -(kno)m(wledge)g(base,)j(assem)m(bling)c(comp)s(onen)m(ts)h(in)e(the)94 -4387 y(dev)m(elopmen)m(t)31 b(of)f(new)g(theorems)h(and)f(results.)235 -4500 y(F)-8 b(rom)43 b(the)f(p)s(oin)m(t)f(of)h(view)f(of)h(emplo)m -(ymen)m(t)h(and)e(dev)m(elopmen)m(t)i(of)f(individual)37 -b(skills,)43 b(there)f(are)94 4612 y(t)m(w)m(o)31 b(di\013eren)m(t)e -(asp)s(ects)h(to)h(b)s(e)e(considered,)g(according)h(to)g(the)g -Fd(obje)-5 b(ctives)30 b Fl(and)f(the)h Fd(metho)-5 b(dolo)g(gy)33 -b Fl(of)d(the)94 4725 y(pro)5 b(ject.)235 4838 y(F)-8 -b(orm)30 b(the)g(metho)s(dological)f(p)s(oin)m(t)f(of)i(view,)f(the)h -(pro)5 b(ject)30 b(mak)m(es)g(an)g(essen)m(tial)f(use)g(of)h(tec)m -(hnologies)94 4951 y(whic)m(h)19 b(are)i(the)g(v)m(ery)f(foundations)f -(of)i(the)g(information)d(so)s(ciet)m(y)-8 b(,)24 b(driving)18 -b(their)h(dev)m(elopmen)m(t,)k(enhancing)94 5064 y(their)39 -b(applicabilit)m(y)-8 b(,)41 b(and)e(accelerating)i(their)f(tak)m(e)i -(up)d(in)g(Europ)s(e.)69 b(In)40 b(particular,)h(w)m(e)g(shall)d(build) -94 5177 y(on)k(most)g(of)h(the)f(recen)m(t)h(recommendations)f(of)g -(the)g(W)-8 b(orld)42 b(Wide)f(W)-8 b(eb)43 b(Consortium)e(\(W3C\),)i -(lik)m(e)94 5290 y(XML,)30 b(DOM,)g(XSL,)f(XLL,)g(MathML,)h(RDF,)h -(etc.)41 b(testing)29 b(their)g(applicabilit)m(y)d(to)k(the)g -(de\014nition)d(of)i(a)p eop -%%Page: 12 12 -12 11 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(12)94 171 y(comprehensiv)m(e,)30 b(in)m(tegrated)h(description)e -(of)h(a)h(giv)m(en)f(\014eld)f(of)i(kno)m(wledge.)235 -284 y(This)e(kind)g(of)i(to)s(ols)g(and)f(tec)m(hniques)g(is)g(of)h -(crucial)e(imp)s(ortance)h(in)g(the)h(dev)m(elopmen)m(t)g(of)g(the)g(W) --8 b(eb)94 397 y(and)29 b(of)g(the)h(Information)e(T)-8 -b(ec)m(hnology)30 b(of)g(the)f(next)h(y)m(ears,)g(and)f(our)g(pro)5 -b(ject)29 b(could)g(pla)m(y)g(a)g(ma)5 b(jor)30 b(role)94 -510 y(in)f(their)g(dissemination)f(in)h(Europ)s(e,)h(and)f(in)h -(training)e(p)s(eople)i(in)f(their)g(use.)235 623 y(On)39 -b(the)h(other)h(side,)g(MO)m(W)m(GLI)h(itself)c(could)h(b)s(ecome)i(a)f -(ma)5 b(jor)40 b(source)g(of)h(inspiration)36 b(for)k(the)94 -736 y(re-in)m(v)m(en)m(tion)28 b(of)g(existing)f(activities,)h(and)f -(in)g(particular)f(for)i(the)g(exploitation)f(of)h(new)g(business)e(in) -g(the)94 849 y(publishing)32 b(mark)m(et.)60 b(Curren)m(tly)-8 -b(,)37 b(digital)e(journals)g(just)h(o\013er)h(purely)d(textual)j(ob)5 -b(jects:)54 b(our)36 b(pro)5 b(ject)94 962 y(could)27 -b(help)f(to)i(de\014ne)f(new)g(mark)m(et)i(p)s(ossibilit)m(y)24 -b(for)j(con)m(ten)m(t-based)j(publishing)23 b(\()p Fd(i.e.)39 -b Fl(structured,)28 b(p)s(os-)94 1075 y(sibly)e(formal)i(mathematical)h -(dev)m(elopmen)m(ts\),)h(with)d(all)g(the)i(p)s(oten)m(tialities)e -(o\013ered)i(b)m(y)f(this)g(approac)m(h,)94 1187 y(from)f(bro)m(wsing)g -(facilities,)g(to)h(the)g(p)s(ersonalisation)e(of)i(the)g(st)m(yle,)g -(from)g(enhanced)f(forms)g(of)h(searc)m(hing,)94 1300 -y(to)j(more)g(or)f(less)g(arbitrarily)d(complex)j(forms)g(of)h(elab)s -(oration.)235 1413 y(Our)39 b(system)g(also)h(op)s(ens)f(new)g(p)s -(ersp)s(ectiv)m(es)g(on)h(the)g(mec)m(hanisation)f(of)h(mathematics)g -(and)f(the)94 1526 y(automation)34 b(of)f(formal)f(reasoning.)49 -b(The)33 b(gro)m(wing)g(complexit)m(y)g(of)g(adv)-5 b(anced)33 -b(tec)m(hnological)h(pro)5 b(jects)94 1639 y(\(in)29 -b(the)i(areas)f(of)h(electronic)f(and)f(a)m(vionic)h(engineering,)f -(for)h(example\))h(has)f(recen)m(tly)g(arose)h(a)f(renew)m(ed)94 -1752 y(in)m(terest)36 b(in)e(formal)g(metho)s(ds.)56 -b(F)-8 b(rom)36 b(this)e(resp)s(ect,)j(our)e(pro)5 b(ject)36 -b(con)m(tributes)f(to)h(build)c(an)k(essen)m(tial)94 -1865 y(infrastructure)28 b(for)h(the)h(exploitation)e(of)i(these)g -(metho)s(ds,)f(pro)m(viding)f(a)i(ma)5 b(jor)29 b(help)g(for)g -(professionals,)94 1978 y(and)h(fostering)g(their)f(skills.)235 -2091 y(Let)f(us)f(\014nally)e(remark)i(that)h(the)f(pro)5 -b(ject)28 b(has)f(no)g(negativ)m(e)i(impact)e(on)g(the)g(natural)g(en)m -(vironmen)m(t.)94 2204 y(W)-8 b(e)32 b(could)f(ev)m(en)h(claim)e(a)i -(few)f(b)s(ene\014ts,)f(related)i(to)g(the)f(electronic)g(distribution) -d(of)j(do)s(cumen)m(ts,)h(suc)m(h)94 2317 y(as)f(the)f(minimisation)d -(in)i(the)i(use)f(of)g(means)h(of)f(con)m(v)m(ey)m(ance)j(and)d(the)h -(sa)m(ving)f(of)h(pap)s(er.)235 2429 y(The)43 b(p)s(ossible)f -(customisation)h(via)g(suitable)g(st)m(yle-sheets)i(of)f -Fd(structur)-5 b(e)g(d)45 b Fl(electronic)f(do)s(cumen)m(ts)94 -2542 y(could)37 b(also)g(meet)i(the)f(needs)f(of)h(particular)e(users,) -j(suc)m(h)e(as)h(disabled)d(\(in)i(particular,)h(disabled)d(stu-)94 -2655 y(den)m(ts\))26 b(or)g(elderly)e(\(as)i(retired)f(researc)m(hers)h -(who)g(w)m(ould)e(lik)m(e)h(to)i(con)m(tin)m(ue)f(their)e(professional) -g(activit)m(y\),)94 2768 y(pro)m(viding)38 b(at)i(the)g(same)h(time)e -(comfortable)i(w)m(orking)e(conditions)f(\()p Fd(e.g.)69 -b Fl(at)40 b(home\).)70 b(Another)40 b(gen-)94 2881 y(eral)29 -b(design)f(requiremen)m(t)g(is)h(the)g(abilit)m(y)f(to)i(render)e -(mathematical)i(material)e(in)g(other)i(media)e(suc)m(h)h(as)94 -2994 y(sp)s(eec)m(h)h(or)h(braille,)d(whic)m(h)h(is)h(extremely)g(imp)s -(ortan)m(t)g(for)g(the)g(visually)e(impaired.)235 3107 -y(In)j(conclusion,)g(the)h(aim)f(of)h(our)f(w)m(ork)h(is)e(to)j(con)m -(tribute)e(to)i(the)e(creation)h(of)g(the)g(next)g(generation)94 -3220 y(of)26 b(user-friendly)-8 b(,)25 b(dep)s(endable)f(and)h(in)m -(terop)s(erable)g(general-in)m(terest)h(services,)h(meeting)f(user)f -(demands)94 3333 y(for)30 b(\015exible)f(access,)j(for)e(ev)m(eryb)s(o) -s(dy)-8 b(,)30 b(from)g(an)m(ywhere,)h(at)g(an)m(y)f(time.)94 -3619 y Fj(8)135 b(Economic)45 b(dev)l(elopmen)l(t)i(and)d(Scien)l -(ti\014c)h(and)296 3769 y(T)-11 b(ec)l(hnological)46 -b(Prosp)t(ects)94 3975 y Fg(8.1)112 b(Iden)m(ti\014cation)36 -b(of)i(exploitable)e(results)94 4147 y Fl(MO)m(W)m(GLI)23 -b(is)e(mean)m(t)h(to)g(dev)m(elop,)i(ev)-5 b(aluate,)24 -b(\014ne-tune)d(and)g(deliv)m(er)g(a)h(complete)g(protot)m(yp)s(e)g -(supp)s(orting)94 4259 y(friendly)h(and)h(in)m(teractiv)m(e)i(access)h -(to)f(h)m(uge,)h(distributed)22 b(rep)s(ositories)i(of)i(con)m(ten)m -(t-based)h(mathematical)94 4372 y(kno)m(wledge.)38 b(The)20 -b(purp)s(ose)g(of)h(the)g(pro)5 b(ject)22 b(is)e(to)i(o)m(v)m(ercome)i -(some)d(of)h(the)f(main)f(obstacles)i(that)f(curren)m(tly)94 -4485 y(hinder)33 b(a)i(wider)f(dissemination)e(of)k(Information)e(T)-8 -b(ec)m(hnologies)35 b(in)f(the)i(mathematical)f(and)g(researc)m(h)94 -4598 y(comm)m(unit)m(y)28 b(\(comprising)f(b)s(oth)h(professionals)f -(and)h(studen)m(ts\).)40 b(This)27 b(is)g(in)m(tended)h(as)h(a)g -(public)d(service)94 4711 y(for)k(the)h(whole)e(comm)m(unit)m(y)h(of)h -(users,)f(and)g(w)m(e)g(exp)s(ect)h(no)g(direct)e(commercial)h -(pro\014t)g(b)m(y)g(our)g(w)m(ork.)235 4824 y(Of)j(course,)h(the)f -(core)h(tec)m(hnologies)f(and)g(languages)g(dev)m(elop)s(ed)f(in)g(MO)m -(W)m(GLI)i(ma)m(y)g(b)s(e)e(exploited)94 4937 y(in)d(a)i(lot)f(of)h -(di\013eren)m(t)f(w)m(a)m(ys,)h(according)f(to)h(the)g(nature)f(and)g -(exploitation)f(plan)g(of)i(eac)m(h)h(partner.)235 5050 -y(In)h(particular,)g(it)g(should)f(b)s(e)h(clear)h(that)g(ha)m(ving)g -(a)g(coheren)m(t,)h(distributed)c(library)g(of)j(structured)94 -5163 y(mathematical)j(kno)m(wledge,)h(sa)m(v)m(ed)f(in)e(a)i(clearly)e -(de\014ned,)i(w)m(ell)e(do)s(cumen)m(ted)h(and)g(application)e(inde-)94 -5276 y(p)s(enden)m(t)c(format,)j(is)d(just)h(the)g(starting)g(p)s(oin)m -(t)g(of)g(a)h(wider,)e(p)s(oten)m(tially)g(enormous)h(pro)s(cess.)43 -b(Building)p eop -%%Page: 13 13 -13 12 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(13)94 171 y(on)32 b(the)g(grounds)f(pro)m(vided)g(b)m(y)h(MO)m(W)m -(GLI,)i(a)e(lot)g(of)g(di\013eren)m(t)g(services)g(can)g(b)s(e)g -(imagined,)f(and)g(inde-)94 284 y(p)s(enden)m(tly)k(dev)m(elop)s(ed)i -(b)m(y)g(di\013eren)m(t)f(organisations.)60 b(Inside)35 -b(the)i(pro)5 b(ject,)40 b(w)m(e)d(shall)e(just)i(giv)m(e)g(a)h(few)94 -397 y(hin)m(ts)24 b(in)g(this)g(direction,)h(supp)s(orting)e(adv)-5 -b(anced)25 b(and)g(in)m(teractiv)m(e)h(forms)e(of)h(searc)m(hing)g(and) -g(na)m(vigation,)94 510 y(as)31 b(w)m(ell)e(as)i(automatic)g(v)-5 -b(alidation)29 b(facilities,)f(for)j(suitable)d(fragmen)m(ts)j(of)g -(the)f(library)-8 b(.)94 753 y Fg(8.2)112 b(T)-9 b(arget)37 -b(Mark)m(et)94 925 y Fl(The)22 b(main)g(target)i(mark)m(et)f(of)g(MO)m -(W)m(GLI)h(is)e(education.)38 b(Here,)25 b(the)d(p)s(oten)m(tialit)m(y) -h(o\013ered)f(b)m(y)h(a)g(seman)m(tic)94 1038 y(description)40 -b(of)i(the)g(information)e(for)i(the)g(dev)m(elopmen)m(t)g(of)g(in)m -(teractiv)m(e,)k(electronic)c(textb)s(o)s(oks)g(are)94 -1151 y(enormous.)h(In)30 b(particular,)g(the)i(MO)m(W)m(GLI)g(protot)m -(yp)s(e)g(could)e(b)s(ecome)i(an)f(essen)m(tial)g(to)s(ol)g(for)g(a)h -(wider)94 1264 y(and)e(more)g(friendly)e(dissemination)g(of)i -(mathematical)h(kno)m(wledge.)235 1377 y(A)42 b(second,)i(p)s(oten)m -(tial)d(mark)m(et)h(is)e(Publishing.)70 b(Digital)40 -b(libraries)f(curren)m(tly)h(su\013ers)g(from)h(clear)94 -1490 y(limitations)h(due)h(to)i(the)f(mac)m(hine-readable)g(but)f(not)h -(mac)m(hine)g(understandable)e(enco)s(ding)h(of)h(the)94 -1603 y(information.)74 b(No)43 b(other)f(kind)e(of)i(elab)s(oration)g -(than)f(displa)m(ying)f(or)i(prin)m(ting)e(is)h(usually)f(p)s(ossible.) -94 1715 y(There)28 b(is)f(no)g(p)s(ossibilit)m(y)e(of)j(cut-and)g -(paste,)h(formal)f(c)m(hec)m(king,)h(complex)f(searc)m(hing.)40 -b(F)-8 b(or)28 b(instance,)h(w)m(e)94 1828 y(cannot)f(write)f(a)h -(spider)e(going)h(around)g(searc)m(hing)g(for)h(a)g(pro)s(of)f(with)f -(a)i(giv)m(en)g(template,)h(b)s(ecause)e(there)94 1941 -y(is)i(not)i(structure,)f(and)g(in)f(particular)g(no)h(seman)m(tics)h -(inside)d(the)i(text.)235 2054 y(A)40 b(third)e(mark)m(et)j(are)f -(industries)d(sp)s(ecialised)g(in)i(formal)g(v)m(eri\014cation)g(and)h -(securit)m(y)-8 b(.)69 b(These)39 b(in-)94 2167 y(dustries)d(are)i -(usually)d(ask)m(ed)k(to)f(c)m(hec)m(k)h(a)f(giv)m(en)g(system)g(or)g -(proto)s(col)f(for)h(securit)m(y)f(issues)f(or)i(formal)94 -2280 y(v)-5 b(alidation)27 b(of)j(functional/temp)s(oral)d(b)s(eha)m -(viour.)39 b(The)28 b(result)g(of)h(the)h(formalisation)d(w)m(ork)i -(and)g(its)f(au-)94 2393 y(tomatic)c(v)-5 b(alidation)22 -b(is)g(t)m(ypically)h(in)f(an)h(in)m(ternal)f(format)i(whic)m(h)e(is)g -(obscure)h(ev)m(en)h(to)g(exp)s(erts.)38 b(Studying)94 -2506 y(the)32 b(p)s(ossibilit)m(y)d(to)k(automatically)f(generate)i(a)e -(more)h(friendly)c(presen)m(tation)j(in)f(usual)g(mathematical)94 -2619 y(notation)g(is)e(th)m(us)h(a)h(ma)5 b(jor)30 b(topic.)94 -2862 y Fg(8.3)112 b(Consortium's)37 b(Dissemination)e(and)j -(Exploitation)d(Strategy)94 3034 y Fl(According)h(to)i(the)f(Pro)5 -b(ject)38 b(W)-8 b(orkplan,)38 b(a)f(considerable)e(e\013ort)j(will)c -(b)s(e)i(dev)m(oted)i(to)f(the)g(dissemina-)94 3147 y -(tion/exploitation)23 b(of)h(the)g(results.)38 b(During)22 -b(the)i(\014rst)g(six)e(mon)m(ths,)k(the)e(consortium)f(will)e -(undertak)m(e)j(the)94 3260 y(dev)m(elopmen)m(t)36 b(and)f(execution)g -(of)h(a)g(w)m(orkplan)e(to)i(ac)m(hiev)m(e)h(successful)d -(dissemination)f(of)i(the)h(pro)5 b(ject)94 3373 y(results.)38 -b(In)25 b(particular,)g(the)g(v)m(ery)h(nature)f(of)h(the)f(pro)5 -b(ject)26 b(suggests)g(to)h(in)m(v)m(olv)m(e)e(the)h(largest)g(comm)m -(unit)m(y)94 3485 y(of)j(professionals)e(during)g(the)i(mo)s(delling)d -(phase.)40 b(Here,)30 b(w)m(e)g(shall)d(b)s(e)h(op)s(en)h(to)g(an)m(y)h -(con)m(tribution,)e(ev)m(en)94 3598 y(soliciting)g(them,)j(still)d(k)m -(eeping)i(\014nal)f(tec)m(hnical)i(decisions)e(inside)f(the)i(Pro)5 -b(ject.)94 3711 y(The)30 b(foreseen)h(dissemination)c(steps)k(include:) -205 3899 y(1.)46 b(Preparation)30 b(of)h(an)f(\\information)f(pac)m -(k",)j(including)27 b(a)j(folder)g(and)g(CDR)m(OM)g(with)f(demos.)205 -4087 y(2.)46 b(Presen)m(tation)25 b(of)f(MO)m(W)m(GLI)i(to)f(national)e -(and)h(in)m(ternational)f(conferences)i(on)f(I.T.T)-8 -b(ec)m(hnologies.)205 4274 y(3.)46 b(Presen)m(tation)29 -b(of)f(MO)m(W)m(GLI)h(to)g(thematic)f(conferences)h(on)f(Education,)g -(Digital)f(Libraries,)f(F)-8 b(or-)321 4387 y(mal)30 -b(V)-8 b(eri\014cation)30 b(and)g(so)h(on.)205 4575 y(4.)46 -b(Adv)m(ertising)32 b(to)h(actors/institutions)f(whic)m(h)g(ma)m(y)h(b) -s(e)f(direct)g(users)g(or)h(ma)m(y)g(c)m(hannel)g(the)g(infor-)321 -4688 y(mation)d(to)h(\014nal)e(users)h(\(suc)m(h)g(as)h(the)g(W)-8 -b(orld)30 b(Wide)f(W)-8 b(eb)32 b(Consortium\).)205 4875 -y(5.)46 b(T)-8 b(ec)m(hnical)30 b(pap)s(ers)f(and)h(articles)g(to)h(b)s -(e)f(sen)m(t)h(to)g(sp)s(ecialised)d(reviews.)205 5063 -y(6.)46 b(Managemen)m(t)33 b(of)d(the)h(MO)m(W)m(GLI)g(W)-8 -b(eb)32 b(site.)205 5250 y(7.)46 b(Dissemination)23 b(of)h(tec)m -(hnical)h(ac)m(hiev)m(emen)m(ts)h(in)d(sp)s(eci\014c)g(scien)m(ti\014c) -g(comm)m(unities,)i(suc)m(h)f(as)h(XML-)321 5363 y(related)31 -b(in)m(terests)f(groups.)p eop -%%Page: 14 14 -14 13 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(14)235 171 y(Managemen)m(t)37 b(of)d(the)h(Exploitation)e(and)h -(Dissemination)f(activities)h(is)f(a)i(sp)s(eci\014c)e(W)-8 -b(ork-pac)m(k)j(age)94 284 y(that)44 b(will)c(b)s(e)j(lead)g(b)m(y)g -(the)h(Pro)5 b(ject)44 b(Exploitation)e(Board.)79 b(It)44 -b(is)e(planned)f(that)j(all)f(partners)f(will)94 397 -y(nominate)j(quali\014ed)e(p)s(ersons)h(as)h(exploitation)g(managers)g -(to)h(co)s(ordinate)g(their)e(o)m(wn)h(exploitation)94 -510 y(activities.)39 b(The)26 b(Exploitation)f(Board)h(will)e(b)s(e)i -(in)f(c)m(harge)i(of)g(the)f(preparation)g(of)g(the)h(exploitation)e -(and)94 623 y(dissemination)j(plan.)94 909 y Fj(9)135 -b(W)-11 b(orkplan)94 1115 y Fg(9.1)112 b(W)-9 b(orkpac)m(k)j(age)38 -b(list)94 1286 y Fl(The)30 b(w)m(ork)g(plan)f(is)h(structured)f(in)g -(the)i(follo)m(wing)e(w)m(ork)h(pac)m(k)-5 b(ages)32 -b(and)e(T)-8 b(asks.)94 1494 y Fi(WP0)36 b(Pro)6 b(ject)35 -b(Managemen)m(t)94 1680 y(WP1)h(State)e(of)h(the)f(art)h(and)f -(Requiremen)m(ts)h(Analysis)321 1866 y(T1.1)46 b Fl(Mathematics)31 -b(and)f(the)h(W)-8 b(eb;)321 2011 y Fi(T1.2)46 b Fl(Structured)29 -b(and)h(F)-8 b(ormal)30 b(Mathematics;)321 2155 y Fi(T1.3)46 -b Fl(Metadata;)321 2300 y Fi(T1.4)g Fl(Searc)m(hing)30 -b(and)g(Retrieving;)321 2444 y Fi(T1.5)46 b Fl(Distribution;)321 -2589 y Fi(T1.6)g Fl(Do)s(cumen)m(t)31 b(Authoring)94 -2775 y Fi(WP2)36 b(T)-9 b(ransformation)321 2961 y(T2.1)46 -b Fl(XML)31 b(Exp)s(ortation;)321 3106 y Fi(T2.2)46 b -Fl(St)m(ylesheets)31 b(to)g(In)m(termediate)f(Represen)m(tation;)321 -3250 y Fi(T2.3)46 b Fl(Pro)s(of)30 b(T)-8 b(ransformations;)321 -3395 y Fi(T2.4)46 b Fl(Automatic)31 b(extraction)g(of)g(metadata;)321 -3539 y Fi(T2.5)46 b Fl(Presen)m(tational)31 b(St)m(ylesheets)f -(\(HTML/MathML\);)321 3684 y Fi(T2.6)46 b Fl(Automatic)31 -b(Generation)g(of)f(Pro)s(ofs)g(in)f(Natural)h(Language;)94 -3870 y Fi(WP3)36 b(Metadata)321 4056 y(T3.1)46 b Fl(Use,)31 -b(meaning)f(and)f(classi\014cation;)321 4200 y Fi(T3.2)46 -b Fl(Mo)s(delling;)94 4386 y Fi(WP4)36 b(In)m(terfaces)321 -4572 y(T4.1)46 b Fl(MathML)31 b(rendering/bro)m(wsing)d(engines;)321 -4717 y Fi(T4.2)46 b Fl(Consultation)29 b(Engine)g(\(arc)m(hiving,)h -(searc)m(hing)g(and)g(retrieving\);)321 4861 y Fi(T4.3)46 -b Fl(Assisted)30 b(Annotation;)321 5006 y Fi(T4.4)46 -b Fl(L)597 4989 y Ff(A)636 5006 y Fl(T)687 5025 y(E)737 -5006 y(X-based)31 b(authoring)e(to)s(ol;)94 5192 y Fi(WP5)36 -b(Distribution)321 5378 y(T5.1)46 b Fl(Arc)m(hitectural)30 -b(Design)g(of)h(the)f(Distribution)e(Mo)s(del;)p eop -%%Page: 15 15 -15 14 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(15)321 171 y Fi(T5.2)46 b Fl(Protot)m(yp)s(e)31 -b(implemen)m(tation;)321 317 y Fi(T5.3)46 b Fl(In)m(tegration)31 -b(with)e(the)i(Consultation)e(Engine;)94 505 y Fi(WP6)36 -b(T)-9 b(esting)35 b(and)g(V)-9 b(alidation)321 693 y(T6.1)46 -b Fl(Pilot)30 b(Application:)38 b(education;)321 839 -y Fi(T6.2)46 b Fl(Pilot)30 b(Application:)38 b(certi\014ed)30 -b(co)s(de)h(for)f(Ja)m(v)-5 b(a)31 b(cards;)321 985 y -Fi(T6.3)46 b Fl(Pilot)30 b(Application:)38 b(electronic)31 -b(publishing)94 1173 y Fi(WP7)36 b(Information)d(Dissemination)i(and)g -(Exploitation)94 1416 y Fg(9.2)112 b(General)38 b(description)94 -1588 y Fl(The)30 b(previous)f(w)m(ork)h(pac)m(k)-5 b(ages)32 -b(are)f(not)g(strictly)e(sequen)m(tial.)235 1700 y(WP1)23 -b(should)d(b)s(e)i(reasonably)f(short;)k(apart)e(from)e(a)i(few)f -(topics)g(requiring)d(a)k(deep)s(er)e(analysis)g(\(T)-8 -b(asks)94 1813 y(1.3-5\),)31 b(this)d(phase)g(is)g(essen)m(tially)g -(mean)m(t)h(to)h(rapidly)c(reac)m(h)j(a)h(go)s(o)s(d)e(lev)m(el)g(of)h -(in)m(ter-op)s(erabilit)m(y)e(among)94 1926 y(the)k(di\013eren)m(t)e -(sites.)235 2039 y(Most)34 b(part)e(of)h(the)g(w)m(ork)f(is)g(based)g -(on)h(the)f(p)s(ossibilit)m(y)d(to)34 b(ha)m(v)m(e)g(at)f(our)f(disp)s -(osal,)f(and)h(as)h(so)s(on)f(as)94 2152 y(p)s(ossible,)g(large)h -(collections)g(of)g(do)s(cumen)m(ts)g(enco)s(ded)g(with)f(seman)m(tic)i -(markup.)48 b(One)33 b(strategy)i(is)d(the)94 2265 y(imp)s(ort)k(of)i -(material)f(\(e.g.)64 b(journal)37 b(articles\))g(written)g(in)g(LaT)-8 -b(eX.)38 b(The)g(dev)m(elopmen)m(t)g(of)g(a)g(suitable)94 -2378 y(LaT)-8 b(eX)42 b(based)e(authoring)g(to)s(ol)h(\(T)-8 -b(ask)41 b(4.4\))h(will)d(need)h(to)i(b)s(egin)d(immediately)-8 -b(,)43 b(as)e(an)f(appropriate)94 2491 y(seman)m(tic)32 -b(enco)s(ding)f(in)g(LaT)-8 b(eX)33 b(has)e(to)i(b)s(e)e(dev)m(elop)s -(ed)h(\014rst.)44 b(The)32 b(deliv)m(ery)e(of)i(the)h(\014rst)e(protot) -m(yp)s(e)h(of)94 2604 y(the)f(authoring)e(to)s(ol)h(is)g(sc)m(heduled)f -(for)h(mon)m(th)g(18.)235 2717 y(A)h(more)h(rapid)d(w)m(a)m(y)k(to)f -(get)g(meaningful)d(rep)s(ositories)h(of)h(fully)e(structured)h -(mathematical)i(kno)m(wl-)94 2830 y(edge)j(is)e(b)m(y)h(exp)s(orting)f -(them)h(from)f(the)h(a)m(v)-5 b(ailable)34 b(libraries)d(of)j(Logical)g -(F)-8 b(ramew)m(orks)35 b(and)e(Pro)s(of)h(As-)94 2943 -y(sistan)m(ts)i(\(T)-8 b(ask)36 b(2.1\).)58 b(The)35 -b(in)m(telligence)f(con)m(tained)i(in)f(the)g(exp)s(orted)h(XML)g -(\014les)e(should)g(re\015ect)i(the)94 3055 y(requiremen)m(ts)d -(de\014ned)g(in)g(the)h(previous)f(w)m(ork)h(pac)m(k)-5 -b(age,)37 b(requiring)32 b(a)i(deep)g(analysis)f(of)h(the)h(markup)94 -3168 y(mo)s(del.)44 b(After)32 b(six)f(mon)m(ths)h(from)g(the)g(b)s -(eginning)d(of)j(the)g(pro)5 b(ject)33 b(w)m(e)f(plan)f(to)h(ha)m(v)m -(e)h(a)g(\014rst)e(protot)m(yp)s(e)94 3281 y(of)37 b(the)g(Exp)s -(ortation)g(Mo)s(dule)f(and)g(a)i(\014rst)e(draft)h(of)g(the)g(Do)s -(cumen)m(t)h(T)m(yp)s(e)e(Descriptor)h(for)g(the)g(lo)m(w,)94 -3394 y(logical)30 b(lev)m(el.)40 b(This)29 b(is)g(our)h(\014rst)g -(Milestone.)235 3507 y(A)m(t)k(this)f(p)s(oin)m(t)f(w)m(e)i(ma)m(y)g -(start)g(the)g(study)e(of)i(the)f(in)m(termediate)g(format)h(of)g(the)f -(information,)g(and)94 3620 y(the)25 b(implemen)m(tation)e(of)i(the)f -(st)m(ylesheets)i(p)s(erforming)c(the)j(transformation)f(\(tasks)h -(T2.2-3\).)41 b(This)23 b(part)94 3733 y(of)33 b(the)g(w)m(ork)h(is)e -(exp)s(ected)h(to)h(b)s(e)e(essen)m(tially)g(completed)h(after)h(one)f -(y)m(ear)h(\(second)g(Milestone\).)48 b(Since)94 3846 -y(a)29 b(strong)g(feedbac)m(k)g(is)f(exp)s(ected)h(with)f(presen)m -(tational)g(issues,)g(w)m(e)h(plan)f(to)h(b)s(egin)e(the)i(dev)m -(elopmen)m(t)g(of)94 3959 y(presen)m(tational)j(st)m(ylesheets)h -(around)e(mon)m(th)h(9.)46 b(In)32 b(turn,)g(the)g(need)g(of)g(rapidly) -e(ha)m(v)m(e)j(at)g(our)f(disp)s(osal)94 4072 y(go)s(o)s(d)25 -b(presen)m(tational)f(engines)h(suggests)g(to)h(b)s(egin)d(their)h(dev) -m(elopmen)m(t)i(as)f(so)s(on)f(as)h(p)s(ossible)e(\(task)j(4.1\).)235 -4185 y(In)32 b(parallel)e(with)i(these)g(transformation)g(issues,)g(w)m -(e)h(shall)e(start)i(the)f(study)g(and)g(classi\014cation)f(of)94 -4297 y(metadata,)h(and)e(their)f(concrete)j(mo)s(delling.)235 -4410 y(Summing)c(up,)i(at)h(the)f(end)g(of)h(\014rst)e(y)m(ear)j(w)m(e) -e(plan)f(to)i(ha)m(v)m(e:)230 4598 y Fe(\017)46 b Fl(a)31 -b(formal)f(Do)s(cumen)m(t)h(T)m(yp)s(e)f(Descriptor)g(of)g(the)h(in)m -(termediate)f(lev)m(el;)230 4786 y Fe(\017)46 b Fl(a)23 -b(bunc)m(h)e(of)i(st)m(ylesheet)g(p)s(erforming)d(the)i(transformation) -g(to)h(in)m(termediate)f(represen)m(tation,)i(b)s(oth)321 -4899 y(for)30 b(form)m(ulae)g(and)g(pro)s(ofs;)230 5086 -y Fe(\017)46 b Fl(a)31 b(detailed)e(rep)s(ort)h(on)g(metadata;)230 -5274 y Fe(\017)46 b Fl(a)31 b(\014rst)f(protot)m(yp)s(e)h(mo)s(del)e -(of)h(metadata)i(\(in)e(RDF)h(format\);)p eop -%%Page: 16 16 -16 15 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(16)230 171 y Fe(\017)46 b Fl(a)31 b(protot)m(yp)s(e)g(MathML-view) -m(er.)235 359 y(During)e(the)i(\014rst)e(half)h(of)g(second)h(y)m(ear)g -(w)m(e)g(shall)d(p)s(erform,)i(in)f(parallel,)f(four)i(ma)5 -b(jor)30 b(activities:)205 547 y(1.)46 b(study)37 b(and)g(dev)m -(elopmen)m(t)h(of)f(presen)m(tational)h(st)m(ylesheets,)i(b)s(oth)d -(for)g(expressions)f(and)h(pro)s(ofs,)321 659 y(and)30 -b(automatic)h(extraction)g(of)g(metadata)h(\(tasks)f(T2.4-6\).)205 -847 y(2.)46 b(arc)m(hitectural)25 b(design)g(and)f(implemen)m(tation)g -(of)i(the)f(consultation)g(engine)f(\(task)j(T4.2,)g(requiring)321 -960 y(the)34 b(metadata)i(mo)s(del\),)e(and)g(of)g(the)g -(functionalities)d(for)j(assisted)f(annotation)h(in)f(natural)g(lan-) -321 1073 y(guage)g(of)e(the)h(do)s(cumen)m(ts)f(\(task)h(T4.3,)h -(requiring)c(b)s(oth)h(the)i(MathML-view)m(er,)h(and)e(a)g(detailed)321 -1186 y(description)e(of)h(the)h(in)m(termediate)f(lev)m(el\).)205 -1373 y(3.)46 b(o)m(v)m(erall)25 b(arc)m(hitectural)g(design)e(and)h -(\014rst)g(protot)m(yp)s(e)h(implemen)m(tation)e(of)i(the)g -(distribution)c(mo)s(del)321 1486 y(\(task)32 b(T5.1-T5.2\).)205 -1674 y(4.)46 b(\014nalize)29 b(the)i(\014rst)f(protot)m(yp)s(e)g(of)h -(a)g(LaT)-8 b(eX)31 b(based)f(authoring)f(to)s(ol)i(\(T)-8 -b(ask)31 b(4.4\))235 1862 y(The)c(second)h(half)f(of)h(the)g(second)g -(y)m(ear)g(is)f(dev)m(oted)i(to)g(the)f(completion)f(of)h(the)g -(previous)e(tasks,)j(and)94 1975 y(to)40 b(their)e(in)m(tegration)h -(inside)e(a)j(single,)g(comp)s(ound)d(application.)66 -b(Around)38 b(this)g(time)g(w)m(e)i(shall)d(also)94 2087 -y(start)31 b(a)g(detailed)e(v)-5 b(alidation)29 b(of)h(the)h -(application,)e(according)h(to)h(three)g(pilot)e(applications:)205 -2275 y(1.)46 b(F)-8 b(ormalisation)36 b(of)h(a)g(full)e(undergraduate)h -(course)g(in)g(algebra)h(or)f(analysis)g(for)g(didactical)g(pur-)321 -2388 y(p)s(oses.)205 2576 y(2.)46 b(F)-8 b(ormalization)44 -b(of)f(\(part)h(of)7 b(\))44 b(the)f(pro)s(cess)g(of)h(loading,)h(v)m -(erifying)d(and)h(executing)h(an)f(applet)321 2689 y(in)m(to)32 -b(a)g(smart)f(card.)44 b(This)29 b(application)h(will)f(pro)m(vide)i(a) -g(case)i(study)d(close)i(to)g(b)s(oth)f(information)321 -2801 y(tec)m(hnology)38 b(\(IT\))g(industry)c(and)j(Computer)f(Science) -h(researc)m(h,)i(where)e(the)g(presen)m(tation)g(and)321 -2914 y(la)m(y)m(out)h(needs)f(are)g(not)h(exactly)g(the)f(same)g(as)h -(in)e(Mathematics.)62 b(The)36 b(example)h(concerns)g(the)321 -3027 y(represen)m(tation)c(of)f(di\013eren)m(t)g(abstract)i(state)g -(mac)m(hines,)e(transition)f(systems,)j(t)m(yping)e(calculus,)321 -3140 y(and)h(program)g(co)s(de.)51 b(Suc)m(h)33 b(concepts)h(are)g -(pragmatic)g(use)f(cases)h(of)g(the)g(formal)e(concepts)j(that)321 -3253 y(usually)28 b(app)s(ears)i(in)f(securit)m(y)h(ev)-5 -b(aluations)30 b(of)g(IT)g(pro)s(ducts)f(and)h(Computer)g(Science)g -(articles.)205 3441 y(3.)46 b(Mak)m(e)33 b(maximal)c(use)i(of)f(con)m -(ten)m(t)j(mark)m(ed-up)d(articles)g(in)g(a)h(solely)f(electronic)h -(scien)m(ti\014c)f(ph)m(ysics)321 3554 y(journal.)52 -b(This)33 b(will)f(allo)m(w)j(us)f(to)h(demonstrate)g(the)g(b)s -(ene\014ts)f(of)h(con)m(ten)m(t)h(mark-up)e(for)g(searc)m(h,)321 -3667 y(retriev)-5 b(al,)34 b(and)f(re-use)h(of)g(mathematical)g(con)m -(ten)m(t,)i(and)d(user)g(customisable)g(con)m(ten)m(t)j(presen)m(ta-) -321 3779 y(tion.)k(Sev)m(eral)30 b(articles)g(will)d(b)s(e)i(pro)s -(cessed)h(to)g(test)h(scop)s(e,)g(functionalit)m(y)-8 -b(,)29 b(and)g(user)g(friendliness)321 3892 y(of)e(the)h(authoring)e -(to)s(ol)h(dev)m(elop)s(ed)f(in)g(T)-8 b(ask)27 b(4.4.)41 -b(The)26 b(to)s(ol)h(will)d(b)s(e)j(re\014ned)f(and)g(the)h(mathemat-) -321 4005 y(ical)34 b(seman)m(tics)i(co)m(v)m(ered)g(extended.)54 -b(The)35 b(suite)f(of)h(articles)f(will)f(b)s(e)h(used)g(to)i(sho)m(w)e -(b)s(ene\014ts)g(of)321 4118 y(automated)e(annotation)e(and)g -(cross-linking)e(b)s(et)m(w)m(een)j(related)f(mathematical)h(concepts.) -235 4306 y(The)26 b(last)h(six)f(mon)m(ths)h(are)g(mainly)e(dev)m(oted) -j(to)f(testing,)h(debugging,)f(v)-5 b(alidation,)26 b(dissemination)e -(of)94 4419 y(results)29 b(and)h(exploitation)f(plans.)p -eop -%%Page: 17 17 -17 16 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(17)94 171 y Fg(9.3)112 b(W)-9 b(ork)37 b(P)m(ac)m(k)-6 -b(age)38 b(descriptions)94 343 y Fi(9.3.1)105 b(Pro)6 -b(ject)36 b(Managemen)m(t)94 633 y(w)m(ork)f(pac)m(k)-6 -b(age)36 b(n)m(um)m(b)s(er:)k Fl(0)30 b(-)h(Pro)5 b(ject)31 -b(Managemen)m(t)94 746 y Fi(Start)j(date)g(or)i(starting)e(ev)m(en)m -(t:)41 b Fl(mon)m(th)30 b(0)h(-)f(mon)m(th)h(30)94 1035 -y Fi(P)m(articipan)m(t)k(Num)m(b)s(er:)479 b Fl(1)236 -b(2)f(3)g(4)g(5)h(6)94 1148 y Fi(P)m(erson-mon)m(th)35 -b(p)s(er)g(participan)m(t:)40 b Fl(8)236 b(0)f(0)g(0)g(0)h(0)94 -1507 y Fi(Ob)6 b(jectiv)m(es:)49 b Fl(General)35 b(pro)5 -b(ject)35 b(managemen)m(t)i(and)d(co)s(ordination.)53 -b(Kno)m(wledge)34 b(and)h(skills)d(transfer)94 1620 y(b)s(et)m(w)m(een) -f(consortium)e(mem)m(b)s(ers.)40 b(Relation)30 b(to)h(the)g(Europ)s -(ean)e(Commission.)94 1851 y Fi(Description)43 b(of)f(w)m(ork:)53 -b Fl(The)36 b(Pro)5 b(ject)38 b(managemen)m(t)g(will)c(b)s(e)i(assured) -g(b)m(y)g(the)h(follo)m(wing)e(relev)-5 b(an)m(t)94 1964 -y(roles:)57 b(a\))39 b(Pro)5 b(ject)40 b(Manager,)i(b\))c(Exploitation) -f(manager,)42 b(c\))d(W)-8 b(ork-pac)m(k)j(age)42 b(Leaders)d(d\)T)-8 -b(ec)m(hnical)94 2077 y(Con)m(tributors,)22 b(and)g(b)m(y)g(the)g -(follo)m(wing)f(Pro)5 b(ject)22 b(Bo)s(dies:)36 b(a\)Pro)5 -b(ject)24 b(Co)s(ordination)c(Committee)i(\(PCC\),)94 -2190 y(b\))30 b(Pro)5 b(ject)31 b(Exploitation)e(Board)i(\(PEB\))g(and) -f(e\))h(W)-8 b(ork-pac)m(k)j(age)34 b(T)-8 b(eams.)94 -2303 y(The)25 b Fi(Pro)6 b(ject)30 b(Manager)25 b Fl(c)m(hairs)g(the)h -(PCC.)e(The)h(mandate)h(of)g(the)f(PCC)g(is)f(to)i(represen)m(t)g(the)f -(Pro)5 b(ject,)94 2416 y(rep)s(ort)25 b(to)h(the)g(Commission,)e -(monitor)h(o)m(v)m(erall)h(p)s(erformance)f(of)g(the)h(pro)5 -b(ject,)27 b(ensure)e(accomplishmen)m(t)94 2529 y(of)g(the)h(tec)m -(hnical)f(ob)5 b(jectiv)m(es,)27 b(promote)f(pro)5 b(ject)26 -b(visibilit)m(y)-8 b(,)23 b(promote)j(dissemination)c(of)k(pro)5 -b(ject)26 b(results)94 2642 y(in)e(the)i(relev)-5 b(an)m(t)26 -b(in)m(ternational)e(forums,)i(promote)g(acceptance)h(of)f(pro)5 -b(ject)26 b(results,)f(administer)f(pro)5 b(ject)94 2755 -y(resources)27 b(and)g(monitor)g(pro)5 b(ject)27 b(sp)s(ending.)38 -b(The)26 b Fi(Exploitation)31 b(Manager)d Fl(will)d(b)s(e)h(resp)s -(onsible)f(for)94 2868 y(co)s(ordinating)f(dissemination)f(and)i -(exploitation)g(activities)g(undertak)m(en)h(b)m(y)f(the)h(Pro)5 -b(ject)27 b(Exploitation)94 2981 y(Board)k(\(PEB\))g(in)e(close)i(co)s -(op)s(eration)f(with)f(the)h(Pro)5 b(ject)32 b(Co)s(ordination)c -(Committee)j(\(PCC\).)94 3093 y(Information)e(\015o)m(w)h(within)d(the) -j(Pro)5 b(ject)31 b(will)c(b)s(e)j(ensured)e(b)m(y)i(exc)m(hange)i(of)e -(in)m(ternal)e(tec)m(hnical)i(pap)s(ers,)94 3206 y(noti\014cation)f(of) -g(relev)-5 b(an)m(t)30 b(new)f(publications)d(tec)m(hnologies)k(or)g -(standards,)e(and)h(rep)s(orts)g(from)f(external)94 3319 -y(meetings.)40 b(All)29 b(tec)m(hnical)h(do)s(cumen)m(tation)g -(generated)g(b)m(y)g(the)g(pro)5 b(ject)31 b(will)c(b)s(e)i(exc)m -(hangeable)i(in)e(elec-)94 3432 y(tronic)k(format,)i(according)f(to)g -(a)g(set)g(of)g(guidelines)d(to)j(b)s(e)f(agreed)h(at)h(pro)5 -b(ject)34 b(start-up.)50 b(The)33 b(pro)5 b(ject)94 3545 -y(Manager)33 b(will)c(enforce)j(adherence)g(to)g(these)g(guidelines.)42 -b(Only)30 b(strictly)h(formal)g(corresp)s(ondence)g(will)94 -3658 y(b)s(e)h(exc)m(hanged)i(b)m(y)e(ordinary)f(mail)g(and)h(telefax.) -48 b(Urgen)m(t)34 b(corresp)s(ondence)e(o)m(v)m(er)i(e-email)e(will)e -(b)s(e)i(sen)m(t)94 3771 y(with)d(a)i(request)f(for)g(explicit)f(ac)m -(kno)m(wledgemen)m(t.)94 3884 y(The)40 b(Co)s(ordinating)e(P)m(artner)i -(will)e(b)s(e)h(resp)s(onsible)f(to)j(prepare)e(and)h(main)m(tain)f(a)i -(W)-8 b(eb)41 b(page)g(of)f(the)94 3997 y(pro)5 b(ject)31 -b(and)f(a)g(CVS)g(rep)s(ository)f(\(also)i(a)m(v)-5 b(ailable)30 -b(via)g(W)-8 b(eb\).)94 4228 y Fi(Deliv)m(erables:)41 -b Fl(Cost)31 b(Statemen)m(ts)g(and)f(Pro)5 b(ject)31 -b(Rep)s(orts)f(\(mon)m(th)h(12,)g(20,)h(30\).)94 4404 -y Fi(D0.a)46 b Fl(Self)29 b(Assesmen)m(t)i(parameters)g(and)e -(criteria.)94 4587 y Fi(D0.b)46 b Fl(First)30 b(Self-assesmen)m(t)g -(Rep)s(ort.)94 4770 y Fi(D0.c)46 b Fl(Second)30 b(Self-assesmen)m(t)h -(Rep)s(ort.)94 4953 y Fi(D0.d)46 b Fl(Final)29 b(Self-assesmen)m(t)i -(Rep)s(ort.)94 5247 y Fi(Milestones)41 b(and)f(exp)s(ected)h(results:) -50 b Fl(Main)34 b(milestones)h(are)g(the)h(p)s(erio)s(dic)c(meetings,) -37 b(at)e(mon)m(th)94 5360 y(6,)c(12,)g(20,)h(24,)f(30.)p -eop -%%Page: 18 18 -18 17 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(18)94 171 y Fi(9.3.2)105 b(Requiremen)m(t)35 b(Analysis)94 -461 y(w)m(ork)g(pac)m(k)-6 b(age)36 b(n)m(um)m(b)s(er:)k -Fl(1)30 b(-)h(Requiremen)m(t)f(Analysis)94 574 y Fi(Start)k(date)g(or)i -(starting)e(ev)m(en)m(t:)41 b Fl(mon)m(th)30 b(0)h(-)f(mon)m(th)h(6)94 -874 y Fi(P)m(articipan)m(t)k(Num)m(b)s(er:)479 b Fl(1)236 -b(2)f(3)g(4)g(5)h(6)94 987 y Fi(P)m(erson-mon)m(th)35 -b(p)s(er)g(participan)m(t:)40 b Fl(3)236 b(4)f(3)g(6)g(3)h(1)94 -1335 y Fi(Ob)6 b(jectiv)m(es:)45 b Fl(De\014nition)31 -b(of)i(the)g(application)e(scenarios.)47 b(Precise)33 -b(articulation)e(of)i(all)f(the)g(function-)94 1448 y(alities)26 -b(required)g(b)m(y)h(the)g(system,)h(and)f(all)f(p)s(ossible)f(exp)s -(ected)j(in)m(teractions)f(with)f(do)s(cumen)m(ts.)39 -b(Ov)m(erall)94 1561 y(requiremen)m(ts)29 b(of)i(the)g(distribution)26 -b(mo)s(del)j(of)i(the)g(library)-8 b(.)94 1792 y Fi(Description)44 -b(of)g(w)m(ork:)55 b Fl(The)37 b(w)m(ork)h(plan)f(is)f(naturally)g -(organised)i(in)e(subtasks)h(according)h(to)g(the)94 -1905 y(di\013eren)m(t)30 b(basic)g(kind)e(of)j(in)m(teractions)f(and)g -(manipulation)d(to)k(b)s(e)f(considered,)f(namely:)94 -2093 y Fi(T1.1)46 b Fl(Mathematics)31 b(and)f(the)h(W)-8 -b(eb.)41 b(State)31 b(of)g(the)f(art,)h(standards)f(and)g(to)s(ols.)94 -2280 y Fi(T1.2)46 b Fl(Structured)39 b(and)h(F)-8 b(ormal)41 -b(Mathematics.)73 b(Delineation)40 b(and)g(la)m(y)m(ering)g(of)h(Seman) -m(tic)g(Comp)s(o-)321 2393 y(nen)m(ts.)g(Requiremen)m(ts)28 -b(for)h(the)h(in)m(teraction)f(with)f(to)s(ols)h(for)g(the)h -(automation)g(of)f(formal)g(reason-)321 2506 y(ing.)94 -2694 y Fi(T1.3)46 b Fl(Metadata.)i(Classi\014cation)31 -b(and)h(data)h(mining)d(for)i(con)m(ten)m(t-based)i(mathematical)e(do)s -(cumen)m(ts,)321 2807 y(and)e(k)m(ey)h(arc)m(hitectural)g(guidelines)c -(for)j(the)h(metadata)h(mo)s(del.)94 2994 y Fi(T1.4)46 -b Fl(Searc)m(hing)30 b(and)f(Retrieving.)40 b(State)32 -b(of)e(the)h(art,)g(use)f(cases)h(and)f(application)e(scenarios.)94 -3182 y Fi(T1.5)46 b Fl(Distribution.)38 b(Distributed)28 -b(do)s(cumen)m(t)i(rep)s(ositories)f(and)h(p)s(eer-to-p)s(eer)h(in)m -(terop)s(erabilit)m(y)-8 b(.)94 3369 y Fi(T1.6)46 b Fl(Do)s(cumen)m(t) -31 b(Authoring.)39 b(State)32 b(of)e(the)h(art,)g(use)f(cases)h(and)f -(application)f(scenarios.)94 3557 y(P)m(art)24 b(of)f(the)g(activit)m -(y)-8 b(,)25 b(co)m(v)m(ering)f(T)-8 b(asks)23 b(T1.1-2-6)i(should)c(b) -s(e)i(concluded)e(within)g(the)i(\014rst)f(three)h(mon)m(ths,)94 -3670 y(with)k(the)h(preliminary)d(rep)s(ort)j(D1.a.)41 -b(The)28 b(main)f(aim)h(of)h(this)e(phase)h(is)f(to)i(rapidly)d(reac)m -(h)j(a)g(go)s(o)s(d)f(lev)m(el)94 3783 y(of)h(in)m(ter-op)s(erabilit)m -(y)e(among)i(the)g(di\013eren)m(t)g(sites,)g(b)m(y)g(implemen)m(ting)e -(a)i(suitable)e(p)s(olitic)g(of)i(kno)m(wledge)94 3896 -y(and)c(skills)e(transfer)j(b)s(et)m(w)m(een)g(the)g(mem)m(b)s(ers)g -(of)g(the)g(consortium)f(\(short)g(visits)g(and/or)h(small)e(thematic) -94 4009 y(w)m(orkshops,)30 b(according)g(to)h(the)g(case\).)235 -4122 y(Ho)m(w)m(ev)m(er,)i(some)e(delicate)g(issues,)f(suc)m(h)g(as)h -(Metadata,)i(Searc)m(hing)d(and)h(Retrieving)e(and)h(Distribu-)94 -4235 y(tion)g(\(T)-8 b(ask)31 b(T1.3-4-5\))i(will)28 -b(ev)m(en)m(tually)i(require)f(a)i(deep)s(er)e(analysis)g(\(deliv)m -(erables)g(D1.b)i(and)f(D1.c\).)235 4347 y(WP1)k(will)d(b)s(e)h(ev)m -(en)m(tually)i(closed)f(during)e(the)i(\014rst)g(meeting)g(of)h(the)f -(Pro)5 b(ject)34 b(\(mon)m(th)g(six\),)f(when)94 4460 -y(all)c(the)i(rep)s(orts)e(will)f(b)s(e)i(discussed)e(and)i(appro)m(v)m -(ed.)94 4691 y Fi(Deliv)m(erables:)94 4879 y(D1.a)46 -b Fl(Preliminary)27 b(Rep)s(ort)j(on)g(Application)f(Scenarios)h(and)f -(Requiremen)m(t)h(Analysis.)94 5067 y Fi(D1.b)46 b Fl(Structure)30 -b(and)f(Meta-Structure)j(of)e(Mathematical)i(Do)s(cumen)m(ts.)94 -5254 y Fi(D1.c)46 b Fl(Distributed)29 b(Electronic)h(Libraries:)38 -b(dev)m(elopmen)m(t,)31 b(arc)m(hiving,)e(retrieving.)p -eop -%%Page: 19 19 -19 18 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(19)94 385 y Fi(Milestones)35 b(and)f(exp)s(ected)g(results:)40 -b Fl(The)29 b(preliminary)d(rep)s(ort)j(D1.a)i(is)e(not)h(a)g(real)f -(milestone:)40 b(it)94 498 y(should)24 b(b)s(e)i(considered)f(as)i(a)f -(\014rst)g(in)m(ternal)f(draft)h(summarising)d(the)k(main)e -(functionalities)f(required)g(b)m(y)94 610 y(the)35 b(system)g(and)f -(the)i(basic)e(in)m(telligence)g(to)h(add)f(to)i(do)s(cumen)m(ts,)g(as) -f(markup)f(and/or)h(metadata,)j(to)94 723 y(meet)30 b(these)g -(requiremen)m(ts.)39 b(All)28 b(these)i(issues)e(will)f(b)s(e)i(ev)m -(en)m(tually)g(detailed)g(in)f(D1.b)i(and)e(D1.c,)k(whic)m(h)94 -836 y(are)f(real)f(Milestones,)g(since)g(the)g(rest)h(of)f(the)h(w)m -(ork)f(will)e(b)s(e)i(largely)g(driv)m(en)f(b)m(y)h(them.)p -eop -%%Page: 20 20 -20 19 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(20)94 171 y Fi(9.3.3)105 b(T)-9 b(ransformation)94 -414 y(w)m(ork)35 b(pac)m(k)-6 b(age)36 b(n)m(um)m(b)s(er:)k -Fl(2)30 b(-)h(T)-8 b(ransformation)94 527 y Fi(Start)34 -b(date)g(or)i(starting)e(ev)m(en)m(t:)41 b Fl(mon)m(th)30 -b(3)h(-)f(mon)m(th)h(21)94 827 y Fi(P)m(articipan)m(t)k(Num)m(b)s(er:) -479 b Fl(1)236 b(2)f(3)g(4)g(5)h(6)94 940 y Fi(P)m(erson-mon)m(th)35 -b(p)s(er)g(participan)m(t:)40 b Fl(13)191 b(4)235 b(3)g(11)190 -b(3)236 b(0)94 1241 y Fi(Ob)6 b(jectiv)m(es:)43 b Fl(This)31 -b(w)m(ork)h(pac)m(k)-5 b(age)34 b(is)d(dev)m(oted)i(to)f(the)g(complex) -g(issue)f(of)h(transforming)e(a)j(lo)m(w)e(lev)m(el,)94 -1354 y(con)m(ten)m(t)i(description)c(of)i(mathematics)g -(\(understandable)e(b)m(y)i(automatic)h(applications)d(for)h(the)i(mec) -m(h-)94 1466 y(anization)c(of)g(mathematics\))h(in)m(to)f(a)h(h)m -(uman-readable)e(presen)m(tational)h(format.)40 b(It)29 -b(co)m(v)m(ers)g(b)s(oth)f(state-)94 1579 y(men)m(ts)43 -b(and)g(pro)s(ofs.)77 b(The)43 b(transformation)f(will)e(b)s(e)j -(decomp)s(osed)f(in)g(a)h(sequence)h(of)f(in)m(termediate)94 -1692 y(steps,)37 b(for)e(mo)s(dularit)m(y)f(reasons.)56 -b(All)34 b(transformations)h(will)d(b)s(e)j(implemen)m(ted)f(b)m(y)i -(means)f(of)h(XSL)-8 b(T-)94 1805 y(st)m(ylesheets.)38 -b(St)m(ylesheets)21 b(will)d(b)s(e)i(simple,)h(mo)s(dular,)f(and)g -(easily)g(comp)s(osable.)37 b(All)19 b(the)i(transformation)94 -1918 y(pro)s(cess)30 b(should)e(b)s(e)i(indep)s(enden)m(t)e(from)i(an)m -(y)h(sp)s(eci\014c)e(application.)94 2149 y Fi(Description)36 -b(of)f(w)m(ork:)40 b Fl(The)30 b(w)m(ork)h(pac)m(k)-5 -b(age)32 b(is)e(articulated)f(in)h(the)g(follo)m(wing)f(tasks.)94 -2337 y Fi(T2.1)46 b Fl(XML)29 b(exp)s(ortation.)40 b(The)28 -b(task)h(is)e(dev)m(oted)j(to)f(the)g(translation)f(of)h(the)f -(standard)g(library)e(of)j(the)321 2450 y(COQ)36 b(Pro)s(of)g(assistan) -m(t)h(in)m(to)f(a)h(suitable)e(XML)i(dialect,)g(and)f(to)h(the)g -(de\014nition)d(of)j(a)g(lo)m(w-lev)m(el)321 2563 y(DTD)e(for)f(the)h -(terms)f(of)h(the)f(Calculus)f(of)h(Inductiv)m(e)g(Construction)f -(\(the)i(logical)f(system)g(used)321 2676 y(b)m(y)d(COQ\).)94 -2863 y Fi(T2.2)46 b Fl(St)m(ylesheets)38 b(to)g(in)m(termediate)g -(represen)m(tation.)62 b(Implemen)m(tation)37 b(of)h(a)g(bunc)m(h)f(of) -h(st)m(ylesheets)321 2976 y(transforming)30 b(the)g(lo)m(w-lev)m(el)h -(logical)f(description)f(of)i(COQ-expressions)e(in)m(to)h(a)i -(\\standard")e(in-)321 3089 y(termediate,)h(con)m(ten)m(t-lev)m(el)i -(represen)m(tation)d(suc)m(h)g(as)h(MathML)g(con)m(ten)m(t.)94 -3277 y Fi(T2.3)46 b Fl(Pro)s(of)30 b(transformation.)43 -b(Similar)28 b(to)j(the)h(previous)d(task,)j(but)f(for)g(pro)s(ofs.)42 -b(The)30 b(delicate)h(p)s(oin)m(t,)321 3389 y(here,)41 -b(is)c(the)i(fact)g(that)g(no)f(\\standard")h(in)m(termediate)f -(represen)m(tation)g(curren)m(tly)g(exists,)i(and)321 -3502 y(th)m(us)30 b(it)g(has)g(to)h(b)s(e)f(de\014ned.)94 -3690 y Fi(T2.4)46 b Fl(Automatic)27 b(extraction)f(of)h(metadata.)41 -b(Relev)-5 b(an)m(t)26 b(metadata)i(suc)m(h)e(as)g(list)f(of)h(iden)m -(ti\014ers)e(in)h(criti-)321 3803 y(cal)k(p)s(ositions)d(inside)g -(statemen)m(ts)k(can)e(b)s(e)g(automatically)g(extracted)h(from)f(the)g -(fully)e(structured)321 3916 y(represen)m(tation)44 b(of)f -(mathematical)h(ob)5 b(jects.)81 b(This)42 b(information)f(can)j(then)f -(b)s(e)g(exploited)g(for)321 4029 y(searc)m(hing)32 b(and)g -(retrieving.)45 b(The)31 b(precise)h(list)f(of)h(metadata)i(will)29 -b(b)s(e)j(de\014ned)f(in)g(W)-8 b(ork)33 b(P)m(ac)m(k)-5 -b(age)321 4142 y(3.)94 4329 y Fi(T2.5)46 b Fl(Presen)m(tational)32 -b(St)m(ylesheets.)46 b(Implemen)m(tation)31 b(of)h(a)h(bunc)m(h)e(of)h -(st)m(ylesheets)h(transforming)d(the)321 4442 y(in)m(termediate)j(con)m -(ten)m(t)h(represen)m(tation)f(in)m(to)g(a)g(suitable)e(rendering)g -(format)i(\(MathML)h(presen-)321 4555 y(tation,)d(HTML,)g(etc.\))94 -4743 y Fi(T2.6)46 b Fl(Automatic)39 b(Pro)s(of)g(Generation)g(in)f -(Natural)h(Language.)67 b(Similar)36 b(to)k(the)f(previous)f(task)h -(but)321 4856 y(for)33 b(pro)s(ofs.)46 b(In)32 b(this)g(case,)i(a)f -(fully)d(automated)k(approac)m(h)f(is)f(unlik)m(ely)e(to)j(pro)s(duce)f -(really)f(satis-)321 4969 y(factory)g(results,)e(and)g(the)h(pro)s -(cess)f(should)f(b)s(e)h(p)s(ossibly)e(in)m(tegrated)j(with)e(some)j -(mec)m(hanism)e(for)321 5081 y(in)m(teractiv)m(e)i(annotation)g(\(see)g -(T)-8 b(ask)31 b(4.3\).)94 5340 y Fi(Deliv)m(erables:)p -eop -%%Page: 21 21 -21 20 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(21)94 171 y Fi(D2.a)46 b Fl(Exp)s(ortation)29 b(mo)s(dule.)94 -359 y Fi(D2.b)46 b Fl(Do)s(cumen)m(t)31 b(T)m(yp)s(e)f(Descriptors.)94 -547 y Fi(D2.c-d)46 b Fl(St)m(ylesheets)31 b(to)g(in)m(termediate)f -(represen)m(tation)h(\(form)m(ulae)f(and)g(pro)s(ofs\).)94 -734 y Fi(D2.e-f)46 b Fl(Presen)m(tational)30 b(St)m(ylesheets)h(\(form) -m(ulae)f(and)g(pro)s(ofs\).)94 922 y Fi(D2.g)46 b Fl(T)-8 -b(o)s(ols)30 b(for)g(automatic)i(extraction)f(of)f(Metadata.)94 -1180 y Fi(Milestones)41 b(and)g(exp)s(ected)g(results:)51 -b Fl(The)35 b(exp)s(ortation)g(mo)s(dule)f(D2.a.)58 b(is)34 -b(our)h(\014rst)g(milestone:)94 1293 y(without)27 b(a)h(large)h(amoun)m -(t)f(of)g(a)m(v)-5 b(ailable)27 b(do)s(cumen)m(ts)h(it)g(w)m(ould)f(b)s -(e)g(imp)s(ossible)d(to)29 b(test)g(the)f(transforma-)94 -1406 y(tions.)39 b(Similarly)-8 b(,)26 b(without)i(a)h(precise)f -(de\014nition)e(of)i(the)h(in)m(termediate)f(language,)i(and)e(a)h -(large)f(sample)94 1519 y(of)34 b(do)s(cumen)m(ts)g(in)f(this)g(format) -i(\(D2c-d\))h(w)m(e)e(cannot)h(start)g(to)g(seriously)d(address)h(the)i -(presen)m(tational)94 1632 y(issue.)40 b(Note)31 b(that)g(the)g(in)m -(termediate)f(language)h(is)e(the)i(real)f(core)h(of)f(the)h(whole)e -(pro)5 b(ject.)235 1745 y(The)29 b(dev)m(elopmen)m(t)g(of)g(presen)m -(tational)g(st)m(ylesheets)g(also)g(dep)s(ends)e(in)h(an)h(essen)m -(tial)f(w)m(a)m(y)i(on)f(the)g(de-)94 1858 y(v)m(elopmen)m(t)23 -b(of)h(rendering/bro)m(wsing)c(engines)i(for)h(the)g(c)m(hosen)h -(presen)m(tational)e(language)i(\(in)e(particular,)94 -1971 y(for)30 b(MathML\).)235 2084 y(F)-8 b(or)32 b(the)g(end)f(of)g -(mon)m(th)h(18,)g(w)m(e)g(exp)s(ect)g(to)g(ha)m(v)m(e)h(a)f(\014rst)f -(w)m(orking)f(protot)m(yp)s(e)i(of)g(the)g(whole)e(appli-)94 -2196 y(cation.)p eop -%%Page: 22 22 -22 21 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(22)94 171 y Fi(9.3.4)105 b(Metadata)94 579 y(w)m(ork)35 -b(pac)m(k)-6 b(age)36 b(n)m(um)m(b)s(er:)k Fl(3)30 b(-)h(Metadata)94 -692 y Fi(Start)j(date)g(or)i(starting)e(ev)m(en)m(t:)41 -b Fl(mon)m(th)30 b(6)h(-)f(mon)m(th)h(21)94 993 y Fi(P)m(articipan)m(t) -k(Num)m(b)s(er:)479 b Fl(1)236 b(2)f(3)g(4)g(5)h(6)94 -1105 y Fi(P)m(erson-mon)m(th)35 b(p)s(er)g(participan)m(t:)40 -b Fl(3)236 b(3)f(8)g(3)g(3)h(0)94 1524 y Fi(Ob)6 b(jectiv)m(es:)39 -b Fl(Delineation)28 b(of)h(the)g(basic)f(in)m(telligence)g(to)h(b)s(e)f -(considered)g(for)g(encapsulation)g(in)f(meta-)94 1637 -y(data,)34 b(in)d(order)h(to)h(meet)g(the)g(needs)f(delineated)g -(during)e(Requiremen)m(t)i(Analysis)e(\(WP1\).)49 b(De\014nition)94 -1750 y(and)30 b(Dev)m(elopmen)m(t)h(of)g(a)g(sp)s(eci\014c)e(Markup)h -(Mo)s(del)f(in)g(RDF.)94 1981 y Fi(Description)42 b(of)f(w)m(ork:)51 -b Fl(The)35 b(precise)g(de\014nition)e(of)j(metadata)h(and)e(their)g -(actual)h(Markup)f(Mo)s(del)94 2094 y(are)24 b(essen)m(tial)g(asp)s -(ects)g(for)g(implemen)m(ting)e(the)i(main)f(functionalities)e(of)j -(the)h(library)-8 b(,)23 b(and)g(esp)s(ecially)g(for)94 -2207 y(arc)m(hiving,)33 b(searc)m(hing)g(and)g(retrieving)f(issues.)48 -b(The)32 b(w)m(ork)i(will)c(b)s(e)j(articulated)g(in)f(t)m(w)m(o)i -(main,)f(almost)94 2320 y(sequen)m(tial,)d(tasks:)94 -2507 y Fi(T3.1)46 b Fl(Use,)36 b(meaning)f(and)f(classi\014cation.)53 -b(This)34 b(task,)j(based)d(on)h(the)g(previous)f(do)s(cumen)m(ts)g(D1) -i(and)321 2620 y(D2,)h(is)d(aimed)g(to)i(pro)m(vide)e(a)h(precise)f -(de\014nition)f(and)h(classi\014cation)g(of)h(all)f(metadata)i -(required)321 2733 y(for)30 b(an)h(e\013ectiv)m(e)h(and)d(e\016cien)m -(t)i(managemen)m(t)h(of)f(the)f(library)-8 b(.)94 2921 -y Fi(T3.2)46 b Fl(Mo)s(delling.)51 b(This)32 b(is)i(dev)m(oted)i(to)f -(the)g(de\014nition)d(of)i(a)h(precise)f(markup)f(mo)s(del.)52 -b(T)-8 b(o)35 b(this)f(aim,)321 3034 y(w)m(e)d(plan)e(to)i(use)f(the)h -(Resource)g(Description)e(F)-8 b(ramew)m(ork)32 b(of)e(W3C.)94 -3339 y Fi(Deliv)m(erables:)94 3527 y(D3.a)46 b Fl(Metadata)32 -b(for)f(Mathematics;)94 3715 y Fi(D3.b)46 b Fl(Metadata)33 -b(Mo)s(del;)94 4020 y Fi(Milestones)39 b(and)f(exp)s(ected)g(results:) -46 b Fl(The)32 b(de\014nition)f(of)i(the)h(Metadata)h(mo)s(del)d(is)g -(a)h(main)f(mile-)94 4133 y(stone,)c(since)e(the)h(arc)m(hitectural)f -(design)g(and)f(implemen)m(tation)h(of)g(the)h(consultation)f(engine)g -(\(T)-8 b(ask)27 b(4.2\))94 4246 y(will)j(b)s(e)j(essen)m(tially)f -(based)g(on)h(it.)48 b(Similarly)-8 b(,)31 b(it)h(is)g(required)f(for)i -(T)-8 b(ask)33 b(2.4)h(\(automatic)h(extraction)e(of)94 -4359 y(metadata\).)p eop -%%Page: 23 23 -23 22 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(23)94 171 y Fi(9.3.5)105 b(In)m(terfaces)94 461 -y(w)m(ork)35 b(pac)m(k)-6 b(age)36 b(n)m(um)m(b)s(er:)k -Fl(4)30 b(-)h(In)m(terfaces)94 574 y Fi(Start)j(date)g(or)i(starting)e -(ev)m(en)m(t:)41 b Fl(mon)m(th)30 b(3)h(-)f(mon)m(th)h(24)94 -869 y Fi(P)m(articipan)m(t)k(Num)m(b)s(er:)479 b Fl(1)236 -b(2)f(3)g(4)g(5)h(6)94 982 y Fi(P)m(erson-mon)m(th)35 -b(p)s(er)g(participan)m(t:)40 b Fl(16)191 b(16)f(5)235 -b(4)g(14)191 b(0)94 1396 y Fi(Ob)6 b(jectiv)m(es:)65 -b Fl(This)41 b(W)-8 b(ork-P)m(ac)m(k)j(age)47 b(is)41 -b(dev)m(oted)j(to)g(the)e(design)g(and)g(the)h(implemen)m(tation)e(of)i -(the)94 1509 y(in)m(terfaces)25 b(to)h(the)f(library)-8 -b(,)24 b(co)m(v)m(ering)i(rendering,)e(bro)m(wsing,)h(searc)m(hing)g -(and)f(retrieving)g(functionalities.)94 1622 y(Some)29 -b(additional)e(functionalities)f(for)j(authoring)f(purp)s(oses)f(\(suc) -m(h)i(as)g(computer)g(assisted)f(annotation)94 1735 y(of)j(pro)s(ofs\)) -e(will)f(b)s(e)i(also)g(tak)m(en)i(in)m(to)e(accoun)m(t.)235 -1847 y(Our)g(privileged)e(rendering)i(language)h(will)d(b)s(e)j -(MathML,)h(whic)m(h)d(is)h(lik)m(ely)g(to)h(b)s(e)g(rapidly)d(adopted) -94 1960 y(as)j(the)f(main)f(language)i(for)f(represen)m(ting)g -(mathematical)h(notation)f(on)h(the)f(W)-8 b(eb.)94 2191 -y Fi(Description)36 b(of)f(w)m(ork:)40 b Fl(The)30 b(w)m(ork)h(is)e -(organised)h(in)f(the)i(follo)m(wing)d(tasks:)94 2374 -y Fi(T4.1)46 b Fl(MathML)21 b(rendering/bro)m(wsing)c(engines.)37 -b(Our)19 b(privileged)f(rendering)g(language)j(will)d(b)s(e)h(MathML.) -321 2487 y(In)28 b(order)g(to)h(b)s(e)f(able)f(to)j(test)f(the)f -(presen)m(tational)h(st)m(ylesheets,)g(\(T)-8 b(ask)29 -b(2.5\))h(w)m(e)f(need)f(a)h(MathML)321 2600 y(complian)m(t)43 -b(bro)m(wser,)j(that)e(will)c(b)s(e)j(dev)m(elop)s(ed)f(as)h(a)h(part)f -(of)g(the)g(pro)5 b(ject)44 b(\(starting)f(from)g(a)321 -2713 y(previous)29 b(protot)m(yp)s(e\).)94 2898 y Fi(T4.2)46 -b Fl(Consultation)32 b(Engine)g(\(arc)m(hiving,)i(searc)m(hing)f(and)g -(retrieving\).)48 b(The)33 b(task)h(is)f(dev)m(oted)h(to)g(the)321 -3011 y(arc)m(hitectural)f(design)f(an)h(implemen)m(tation)f(of)h(the)g -(main)f(functionalities)e(for)j(the)g(consultation)321 -3124 y(and)d(the)h(managemen)m(t)g(of)g(the)g(library)-8 -b(.)94 3310 y Fi(T4.3)46 b Fl(Assisted)32 b(Annotation.)49 -b(This)31 b(co)m(v)m(er)k(an)e(additional)e(functionalit)m(y)h(of)h -(the)h(in)m(terface,)g(aimed)f(to)321 3423 y(supp)s(ort)c(the)h(user)g -(in)f(the)i(pro)s(cess)f(of)g(annotating)h(a)g(pro)s(of)e(in)g(natural) -h(language.)94 3608 y Fi(T4.4)46 b Fl(L)370 3591 y Ff(A)409 -3608 y Fl(T)460 3628 y(E)510 3608 y(X-based)20 b(authoring)g(to)s(ol.) -37 b(A)20 b(to)s(ol)h(supp)s(orting)c(automatic)22 b(generation)e(of)h -(Con)m(ten)m(t-MathML)321 3721 y(from)30 b(a)h(suitably)d -(\(macro-\)enric)m(hed)j(v)m(ersion)f(of)h(L)2100 3704 -y Ff(A)2139 3721 y Fl(T)2190 3741 y(E)2240 3721 y(X.)94 -4022 y Fi(Deliv)m(erables:)94 4204 y(D4.a)46 b Fl(MathML)31 -b(Rendering/Bro)m(wsing)e(engine;)94 4390 y Fi(D4.b)46 -b Fl(First)30 b(MO)m(W)m(GLI)h(Protot)m(yp)s(e;)94 4575 -y Fi(D4.c)46 b Fl(Protot)m(yp)s(e)32 b(functionalities)c(for)i -(assisted)g(annotation.)94 4761 y Fi(D4.d)46 b Fl(L)383 -4744 y Ff(A)422 4761 y Fl(T)473 4781 y(E)523 4761 y(X-based)31 -b(authoring)e(to)s(ol)i(\(\014rst)f(protot)m(yp)s(e\).)94 -4947 y Fi(D4.e)46 b Fl(Re\014ned)29 b(and)h(extended)h(proto)m(yp)s(e)f -(of)h(the)f(L)1907 4930 y Ff(A)1946 4947 y Fl(T)1997 -4966 y(E)2048 4947 y(X-based)g(authoring)f(to)s(ol)94 -5247 y Fi(Milestones)i(and)g(exp)s(ected)f(results:)39 -b Fl(The)26 b(main)g(milestone)g(is)g(the)g(release)h(of)g(the)g -(\014rst)f(MO)m(W)m(GLI)94 5360 y(protot)m(yp)s(e,)31 -b(at)g(mon)m(th)g(18.)p eop -%%Page: 24 24 -24 23 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(24)94 171 y Fi(9.3.6)105 b(Distribution)94 579 y(w)m(ork)35 -b(pac)m(k)-6 b(age)36 b(n)m(um)m(b)s(er:)k Fl(5)30 b(-)h(Distribution) -94 692 y Fi(Start)j(date)g(or)i(starting)e(ev)m(en)m(t:)41 -b Fl(mon)m(th)30 b(18)h(-)g(mon)m(th)f(30)94 993 y Fi(P)m(articipan)m -(t)35 b(Num)m(b)s(er:)479 b Fl(1)236 b(2)f(3)g(4)g(5)h(6)94 -1105 y Fi(P)m(erson-mon)m(th)35 b(p)s(er)g(participan)m(t:)40 -b Fl(6)236 b(5)f(8)g(3)g(5)h(0)94 1524 y Fi(Ob)6 b(jectiv)m(es:)48 -b Fl(Ov)m(erall)34 b(arc)m(hitectural)g(design)f(of)i(the)f -(distribution)d(mo)s(del,)j(its)g(implemen)m(tation)f(and)94 -1637 y(in)m(tegration)d(with)f(the)i(consultation)f(engine.)94 -1868 y Fi(Description)36 b(of)f(w)m(ork:)40 b Fl(The)30 -b(w)m(ork)h(is)e(articulated)h(in)f(three,)i(conceptually)f(sequen)m -(tial)f(tasks:)94 2056 y Fi(T5.1)46 b Fl(Arc)m(hitectural)29 -b(Design)h(of)h(the)f(Distribution)d(Mo)s(del.)40 b(The)30 -b(big)f(issue)g(it)g(to)i(\014nd)e(the)h(righ)m(t)g(com-)321 -2169 y(promise)h(b)s(et)m(w)m(een)h(t)m(w)m(o)h(opp)s(osite)e -(requiremen)m(ts:)42 b Fd(distribution)33 b Fl(\(in)e(the)g(sense)h(of) -g(the)g(W)-8 b(eb:)44 b(few)321 2282 y(rules,)28 b(no)g(cen)m(tral)h -(authorit)m(y\))f(and)g Fd(c)-5 b(oher)g(enc)g(e)30 b -Fl(\(coherence)g(b)s(et)m(w)m(een)f(di\013eren)m(t)f(copies)g(of)g(a)h -(same)321 2394 y(do)s(cumen)m(t)22 b(and)g(global)f(managemen)m(t)j(of) -e(the)h(library)d(as)i(a)h(single)e(rational)g(dev)m(elopmen)m(t\).)39 -b(Other)321 2507 y(arc)m(hitectural)24 b(problems)e(to)j(b)s(e)f(solv)m -(ed)f(are)i(the)f(managemen)m(t)h(of)g(Uniform)d(Resource)i(Iden)m -(ti\014ers,)321 2620 y(their)36 b(mapping)f(to)j(Uniform)d(Resource)i -(Lo)s(cators,)j(and)c(the)h(in)m(tegration)f(of)h(databases)h(in)d(the) -321 2733 y(distribution)23 b(mo)s(del.)39 b(The)26 b(\014nal)g(aim)g -(is)g(to)i(ha)m(v)m(e)g(a)f Fd(phisic)-5 b(al)5 b(ly)28 -b Fl(distributed)c(library)h(with)g(a)j(single)321 2846 -y Fd(lo)-5 b(gic)g(al)32 b Fl(view.)94 3034 y Fi(T5.2)46 -b Fl(Protot)m(yp)s(e)31 b(implemen)m(tation.)39 b(First)29 -b(protot)m(yping)h(implemen)m(tation)e(of)i(the)g(distribution)d(la)m -(y)m(er.)94 3221 y Fi(T5.3)46 b Fl(In)m(tegration)c(with)e(the)i -(Consultation)f(Engine.)73 b(First)42 b(implemen)m(tation)e(of)i(the)g -(library)d(as)j(a)321 3334 y(distributed)36 b(rep)s(ository)-8 -b(.)67 b(Distribution)36 b(should)h(b)s(e)i(completely)g(transparen)m -(t)g(to)h(users)e(of)h(the)321 3447 y(Consultation)29 -b(Engine.)94 3753 y Fi(Deliv)m(erables:)94 3941 y(D5.a)46 -b Fl(Ov)m(erall)29 b(Arc)m(hitectural)h(Design)g(of)h(the)g -(Distribution)c(Mo)s(del;)94 4128 y Fi(D5.b)46 b Fl(Adv)-5 -b(anced)30 b(MO)m(W)m(GLI)i(Protot)m(yp)s(e.)94 4434 -y Fi(Milestones)51 b(and)f(exp)s(ected)g(results:)67 -b Fl(The)43 b(main)f(milestone)h(is)f(the)i(release)g(of)g(the)f(adv)-5 -b(anced)94 4547 y(MO)m(W)m(GLI)45 b(protot)m(yp)s(e,)j(for)43 -b(the)h(fourth)e(meeting)i(of)g(the)g(pro)5 b(ject,)47 -b(at)d(mon)m(th)g(24.)81 b(The)43 b(adv)-5 b(anced)94 -4660 y(protot)m(yp)s(e)38 b(will)d(in)m(tegrate)j(the)g(previous)e(one) -h(with)f(the)i(new)f(distribution)d(facilities)h(o\013ered)j(b)m(y)f -(the)94 4773 y(distribution)27 b(la)m(y)m(er.)p eop -%%Page: 25 25 -25 24 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(25)94 171 y Fi(9.3.7)105 b(T)-9 b(esting)35 b(and)g(V)-9 -b(alidation)94 579 y(w)m(ork)35 b(pac)m(k)-6 b(age)36 -b(n)m(um)m(b)s(er:)k Fl(6)30 b(-)h(T)-8 b(esting)30 b(and)g(V)-8 -b(alidation)94 692 y Fi(Start)34 b(date)g(or)i(starting)e(ev)m(en)m(t:) -41 b Fl(mon)m(th)30 b(12)h(-)g(mon)m(th)f(30)94 993 y -Fi(P)m(articipan)m(t)35 b(Num)m(b)s(er:)479 b Fl(1)236 -b(2)f(3)g(4)g(5)h(6)94 1105 y Fi(P)m(erson-mon)m(th)35 -b(p)s(er)g(participan)m(t:)40 b Fl(5)236 b(6)f(3)g(17)190 -b(14)h(9)94 1524 y Fi(Ob)6 b(jectiv)m(es:)71 b Fl(The)45 -b(WP)g(in)m(tends)g(to)h(measure)f(the)h(system)g(suitabilit)m(y)c(and) -j(scalabilit)m(y)f(and)h(the)94 1637 y(satisfaction)30 -b(lev)m(el)g(of)h(users)e(with)g(the)i(service.)94 1868 -y Fi(Description)41 b(of)g(w)m(ork:)50 b Fl(Large)35 -b(scale)h(testing)f(and)f(v)-5 b(alidation)34 b(will)e(start)k(after)f -(the)h(release)f(of)g(the)94 1981 y(\014rst)30 b(MO)m(W)m(GLI)h(protot) -m(yp)s(e,)g(at)h(mon)m(th)e(18.)42 b(W)-8 b(e)31 b(shall)e(consider)g -(three)i(main)e(v)-5 b(alidation)29 b(tests:)94 2169 -y Fi(T6.1)46 b Fl(Education.)39 b(F)-8 b(ull)27 b(dev)m(elopmen)m(t)i -(of)g(a)g(fragmen)m(t)g(of)g(the)g(library)d(co)m(v)m(ering)j(a)g(t)m -(ypical)g(undergrad-)321 2282 y(uate)i(course)g(in)e(algebra)h(of)h -(analysis.)94 2469 y Fi(T6.2)46 b Fl(Certi\014ed)21 b(co)s(de.)39 -b(The)23 b(aim)f(is)g(to)i(b)s(e)e(able)h(to)h(presen)m(t)f(the)g -(formalization)f(and)h(the)g(demonstration)321 2582 y(of)j(some)g -(securit)m(y)f(prop)s(erties)f(related)i(to)g(the)g(co)s(de)f(em)m(b)s -(edded)g(in)m(to)g(a)h(smart)g(card.)39 b(The)25 b(presen-)321 -2695 y(tation)32 b(m)m(ust)f(b)s(e)g(in)f(a)i(format)f(understandable)f -(b)m(y)h(the)g(compan)m(y)h(in)e(c)m(harge)j(of)e(the)h(ev)-5 -b(aluation)321 2808 y(of)31 b(the)f(co)s(de)h(and)f(in)f(accordance)j -(with)d(the)h(Common)g(Criteria)f(standard.)94 2995 y -Fi(T6.3)46 b Fl(Electronic)24 b(Publishing.)35 b(The)24 -b(aim)h(is)f(to)h(test)h(the)f(L)2147 2979 y Ff(A)2186 -2995 y Fl(T)2237 3015 y(E)2288 2995 y(X-based)g(authoring)f(to)s(ol)h -(and)f(to)i(demon-)321 3108 y(strate)f(ho)m(w)e(an)h(electronic)g(ph)m -(ysics)e(journal)g(b)s(ene\014ts)h(from)g(the)h(exploitation)e(of)i -(con)m(ten)m(t)i(markup)321 3221 y(in)j(journal)g(articles.)94 -3527 y Fi(Deliv)m(erables:)94 3715 y(D6.a)46 b Fl(V)-8 -b(alidation)29 b(1:)41 b(Education.)94 3902 y Fi(D6.b)46 -b Fl(V)-8 b(alidation)29 b(2:)41 b(Do)s(cumen)m(ts)30 -b(describing)e(the)i(formalization)e(of)i(a)g(securit)m(y)g(function)e -(em)m(b)s(edded)321 4015 y(in)m(to)j(a)f(smart)h(card)f(and)g(the)g -(pro)s(of)g(that)h(the)f(co)s(de)h(meets)g(its)f(securit)m(y)g(ob)5 -b(jectiv)m(es.)94 4203 y Fi(D6.c)46 b Fl(V)-8 b(alidation)32 -b(3:)46 b(Journal)31 b(in)m(terface)i(with)e(added)h(functionalities)e -(due)i(to)h(con)m(ten)m(t)i(markup,)d(e.g.)321 4316 y(searc)m(h)f(in)m -(terface)94 4503 y Fi(D6.d)46 b Fl(Final)29 b(MO)m(W)m(GLI)j(Protot)m -(yp)s(e)94 4809 y Fi(Milestones)d(and)f(exp)s(ected)g(results:)38 -b Fl(W)-8 b(e)26 b(exp)s(ect)f(a)g(lot)f(of)h(feed-bac)m(k)h(during)c -(this)h(phase,)j(that)f(will)94 4922 y(b)s(e)34 b(tak)m(en)i(in)m(to)e -(accoun)m(t)i(for)e(the)h(de\014nition)d(of)j(the)g(adv)-5 -b(anced)35 b(and)e(\014nal)h(v)m(ersions)g(of)g(the)h(MO)m(W)m(GLI)94 -5035 y(protot)m(yp)s(e.)p eop -%%Page: 26 26 -26 25 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(26)94 171 y Fi(9.3.8)105 b(Information)34 b(Dissemination)h(and)g -(Exploitation)94 461 y(w)m(ork)g(pac)m(k)-6 b(age)36 -b(n)m(um)m(b)s(er:)k Fl(7)30 b(-)h(Information)e(Dissemination)g(and)h -(Exploitation)f(Plan)94 574 y Fi(Start)34 b(date)g(or)i(starting)e(ev)m -(en)m(t:)41 b Fl(mon)m(th)30 b(3)h(-)f(30)94 874 y Fi(P)m(articipan)m -(t)35 b(Num)m(b)s(er:)479 b Fl(1)236 b(2)f(3)g(4)g(5)h(6)94 -987 y Fi(P)m(erson-mon)m(th)35 b(p)s(er)g(participan)m(t:)40 -b Fl(1)236 b(0)f(0)g(1)g(6)h(0)94 1406 y Fi(Ob)6 b(jectiv)m(es:)40 -b Fl(The)30 b(w)m(ork)h(pac)m(k)-5 b(age)32 b(aims)e(to:)205 -1594 y(1.)46 b(in)m(v)m(olv)m(e)31 b(the)f(largest)h(comm)m(unit)m(y)f -(of)h(professionals)d(in)h(the)i(mo)s(delling)d(phase.)205 -1781 y(2.)46 b(promote)31 b(dissemination)d(of)i(pro)5 -b(ject)31 b(results)e(in)g(the)i(relev)-5 b(an)m(t)31 -b(in)m(ternational)e(forums.)205 1969 y(3.)46 b(promote)39 -b(the)g(use)f(of)h(the)g(service,)i(b)s(oth)c(for)i(educational)f(and)g -(professional)f(purp)s(oses.)63 b(This)321 2082 y(phase)30 -b(will)e(start)j(after)g(the)f(release)h(of)g(the)f(\014rst)g(protot)m -(yp)s(e,)h(at)g(mon)m(th)f(18.)94 2388 y Fi(Description)h(of)g(w)m -(ork:)38 b Fl(The)26 b(dissemination)e(of)i(results)f(is)g(in)g(c)m -(harge)j(of)e(the)h(Pro)5 b(ject)27 b(Dissemination)94 -2500 y(&)39 b(Exploitation)g(Committee,)j(whic)m(h)d(is)g(resp)s -(onsible)d(to)41 b(prepare,)h(during)37 b(the)j(\014rst)f(six)g(mon)m -(ths,)j(a)94 2613 y(detailed)29 b(dissemination)f(w)m(ork-plan)i -(\(D2\),)i(and)e(to)h(follo)m(w)e(its)h(execution)h(during)d(the)i(Pro) -5 b(ject.)235 2726 y(Information)25 b(dissemination)e(will)g(tak)m(e)28 -b(place)d(via)h(professional)e(journal)g(articles,)j(presen)m(tations)f -(at)94 2839 y(conferences,)j(in)m(ternational)d(news)h(groups,)h(sp)s -(eci\014c)e(in)m(terest)h(groups)g(and)g(so)h(on.)39 -b(Relev)-5 b(an)m(t)29 b(rep)s(orts)d(of)94 2952 y(the)31 -b(pro)5 b(jects)32 b(will)d(b)s(e)h(made)i(publicly)27 -b(a)m(v)-5 b(ailable)31 b(on)g(the)h(W)-8 b(orld)31 b(Wide)f(W)-8 -b(eb.)45 b(F)-8 b(or)32 b(adv)-5 b(anced)31 b(releases,)94 -3065 y(w)m(e)g(also)f(plan)f(to)i(prepare)f(an)g(\\information)f(pac)m -(k",)j(including)27 b(a)k(folder)e(and)h(CDR)m(OM)h(with)e(demos.)94 -3296 y Fi(Deliv)m(erables:)94 3484 y(D7.a)46 b Fl(Dissemination)28 -b(and)i(Use)h(Plan;)94 3671 y Fi(D7.b)46 b Fl(T)-8 b(ec)m(hnological)31 -b(Implemen)m(tation)e(Plan;)94 3859 y Fi(Articles)46 -b Fl(Scien)m(ti\014c)29 b(Publications)f(on)i(professional)f(journals)g -(and)h(conference)h(pro)s(ceedings.)94 4165 y Fi(Milestones)39 -b(and)g(exp)s(ected)g(results:)47 b Fl(Criteria)33 b(for)g(ev)-5 -b(aluating)34 b(MO)m(W)m(GLI's)h(dissemination)c(and)94 -4278 y(its)41 b(tec)m(hnological)i(impact)e(will)e(b)s(e)i(detailed)g -(in)g(the)h(Dissemination)e(and)h(use)g(Plan.)74 b(The)42 -b(Pro)5 b(ject)94 4390 y(Dissemination)19 b(&)h(Exploitation)f -(Committee)i(will)d(b)s(e)i(in)f(c)m(harge)j(to)f(monitor)f(the)h -(state)h(of)e(adv)-5 b(ancemen)m(t)94 4503 y(of)31 b(the)f(Pro)5 -b(ject)31 b(according)g(to)g(these)g(criteria.)p eop -%%Page: 27 27 -27 26 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(27)94 171 y Fg(9.4)112 b(Deliv)m(erable)36 b(list)f(b)m(y)j(W)-9 -b(orkP)m(ac)m(k)j(age)p 94 379 3888 4 v 92 492 4 113 -v 144 458 a Fl(n.)p 313 492 V 145 w(Deliv)m(erable)29 -b(Title)p 1957 492 V 978 w(WP)p 2212 492 V 100 w(Lead)p -2618 492 V 213 w(Estim.)p 3009 492 V 131 w(T)m(yp)s(e)p -3313 492 V 99 w(Secu-)p 3625 492 V 100 w(Deliv.)p 3980 -492 V 92 605 V 313 605 V 1957 605 V 2009 571 a(no.)p -2212 605 V 134 w(P)m(artic.)p 2618 605 V 140 w(p)s(erson-)p -3009 605 V 3313 605 V 403 w(rit)m(y)p 3625 605 V 170 -w(mon)m(th)p 3980 605 V 92 718 V 313 718 V 1957 718 V -2212 718 V 2618 718 V 2670 684 a(mon)m(th)p 3009 718 -V 3313 718 V 3625 718 V 3980 718 V 94 721 3888 4 v 92 -834 4 113 v 144 800 a(0.a)p 313 834 V 106 w(Self-Assesmen)m(t)p -1957 834 V 1054 w(0)p 2212 834 V 210 w(UNIBO)p 2618 834 -V 102 w(2)p 3009 834 V 346 w(R)p 3313 834 V 237 w(Pub)p -3625 834 V 148 w(6)p 3980 834 V 92 947 V 313 947 V 365 -913 a(parameters)h(and)g(criteria.)p 1957 947 V 2212 -947 V 2618 947 V 3009 947 V 3313 947 V 3625 947 V 3980 -947 V 94 950 3888 4 v 92 1063 4 113 v 144 1029 a(0.b)p -313 1063 V 100 w(First)f(Self-Assesmen)m(t)i(Rep)s(ort)p -1957 1063 V 525 w(0)p 2212 1063 V 210 w(UNIBO)p 2618 -1063 V 102 w(1)p 3009 1063 V 346 w(R)p 3313 1063 V 237 -w(Pub)p 3625 1063 V 148 w(12)p 3980 1063 V 94 1067 3888 -4 v 92 1179 4 113 v 144 1146 a(0.c)p 313 1179 V 111 w(Second)f -(Self-Assesmen)m(t)g(Rep)s(ort)p 1957 1179 V 439 w(0)p -2212 1179 V 210 w(UNIBO)p 2618 1179 V 102 w(1)p 3009 -1179 V 346 w(R)p 3313 1179 V 237 w(Pub)p 3625 1179 V -148 w(20)p 3980 1179 V 94 1183 3888 4 v 92 1296 4 113 -v 144 1262 a(0.d)p 313 1296 V 100 w(Final)f(Self-Assesmen)m(t)h(Rep)s -(ort)p 1957 1296 V 511 w(0)p 2212 1296 V 210 w(UNIBO)p -2618 1296 V 102 w(1)p 3009 1296 V 346 w(R)p 3313 1296 -V 237 w(Pub)p 3625 1296 V 148 w(30)p 3980 1296 V 94 1299 -3888 4 v 92 1412 4 113 v 144 1378 a(1.a)p 313 1412 V -106 w(Preliminary)d(Rep)s(ort)j(on)g(Application)p 1957 -1412 V 248 w(1)p 2212 1412 V 210 w(KUN)p 2618 1412 V -199 w(6)p 3009 1412 V 346 w(R)p 3313 1412 V 237 w(Pub)p -3625 1412 V 148 w(3)p 3980 1412 V 92 1525 V 313 1525 -V 365 1491 a(Scenarios)f(and)h(Requiremen)m(t)g(Analysis)p -1957 1525 V 2212 1525 V 2618 1525 V 3009 1525 V 3313 -1525 V 3625 1525 V 3980 1525 V 94 1528 3888 4 v 92 1641 -4 113 v 144 1607 a(1.b)p 313 1641 V 100 w(Structure)f(and)h -(Metastructure)h(of)p 1957 1641 V 396 w(1)p 2212 1641 -V 210 w(DFKI)p 2618 1641 V 174 w(8)p 3009 1641 V 346 -w(R)p 3313 1641 V 237 w(Pub)p 3625 1641 V 148 w(6)p 3980 -1641 V 92 1754 V 313 1754 V 365 1720 a(Mathematical)g(Do)s(cumen)m(ts)p -1957 1754 V 2212 1754 V 2618 1754 V 3009 1754 V 3313 -1754 V 3625 1754 V 3980 1754 V 94 1757 3888 4 v 92 1870 -4 113 v 144 1836 a(1.c)p 313 1870 V 111 w(Distributed)d(Digital)i -(Libraries:)p 1957 1870 V 480 w(1)p 2212 1870 V 210 w(MPG)p -2618 1870 V 190 w(6)p 3009 1870 V 346 w(R)p 3313 1870 -V 237 w(Pub)p 3625 1870 V 148 w(6)p 3980 1870 V 92 1983 -V 313 1983 V 365 1949 a(dev)m(elopmen)m(t,)h(arc)m(hiving,)e -(retrieving.)p 1957 1983 V 2212 1983 V 2618 1983 V 3009 -1983 V 3313 1983 V 3625 1983 V 3980 1983 V 94 1986 3888 -4 v 92 2099 4 113 v 144 2065 a(2.a)p 313 2099 V 106 w(XML)h(Exp)s -(ortation)g(Mo)s(dule\(s\))p 1957 2099 V 489 w(2)p 2212 -2099 V 210 w(INRIA)p 2618 2099 V 137 w(4)p 3009 2099 -V 346 w(P)p 3313 2099 V 242 w(Pub)p 3625 2099 V 148 w(6)p -3980 2099 V 94 2103 3888 4 v 92 2216 4 113 v 144 2182 -a(2.b)p 313 2216 V 100 w(Do)s(cumen)m(t)h(T)m(yp)s(e)f(Descriptors)p -1957 2216 V 521 w(2)p 2212 2216 V 210 w(INRIA)p 2618 -2216 V 137 w(2)p 3009 2216 V 346 w(R)p 3313 2216 V 237 -w(Pub)p 3625 2216 V 148 w(12)p 3980 2216 V 94 2219 3888 -4 v 92 2332 4 113 v 144 2298 a(2.c)p 313 2332 V 111 w(St)m(ylesheets)g -(to)h(In)m(termediate)p 1957 2332 V 563 w(2)p 2212 2332 -V 210 w(UNIBO)p 2618 2332 V 102 w(7)p 3009 2332 V 346 -w(P)p 3313 2332 V 242 w(Pub)p 3625 2332 V 148 w(12)p -3980 2332 V 92 2445 V 313 2445 V 365 2411 a(represen)m(tation)f(\(form) -m(ulae\))p 1957 2445 V 2212 2445 V 2618 2445 V 3009 2445 -V 3313 2445 V 3625 2445 V 3980 2445 V 94 2448 3888 4 -v 92 2561 4 113 v 144 2527 a(2.d)p 313 2561 V 100 w(St)m(ylesheets)g -(to)h(In)m(termediate)p 1957 2561 V 563 w(2)p 2212 2561 -V 210 w(UNIBO)p 2618 2561 V 102 w(9)p 3009 2561 V 346 -w(P)p 3313 2561 V 242 w(Pub)p 3625 2561 V 148 w(12)p -3980 2561 V 92 2674 V 313 2674 V 365 2640 a(represen)m(tation)f(\(pro)s -(ofs\))p 1957 2674 V 2212 2674 V 2618 2674 V 3009 2674 -V 3313 2674 V 3625 2674 V 3980 2674 V 94 2677 3888 4 -v 92 2790 4 113 v 144 2756 a(2.e)p 313 2790 V 111 w(Presen)m(tational)g -(St)m(ylesheets)h(\(form)m(ulae\))p 1957 2790 V 164 w(2)p -2212 2790 V 210 w(KUN)p 2618 2790 V 199 w(4)p 3009 2790 -V 346 w(P)p 3313 2790 V 242 w(Pub)p 3625 2790 V 148 w(18)p -3980 2790 V 94 2793 3888 4 v 92 2906 4 113 v 144 2872 -a(2.f)p 313 2906 V 123 w(Presen)m(tational)f(St)m(ylesheets)h(\(pro)s -(ofs\))p 1957 2906 V 264 w(2)p 2212 2906 V 210 w(KUN)p -2618 2906 V 199 w(6)p 3009 2906 V 346 w(P)p 3313 2906 -V 242 w(Pub)p 3625 2906 V 148 w(18)p 3980 2906 V 94 2910 -3888 4 v 92 3023 4 113 v 144 2989 a(2.g)p 313 3023 V -106 w(T)-8 b(o)s(ols)30 b(for)g(metadata)i(extraction)p -1957 3023 V 457 w(2)p 2212 3023 V 210 w(INRIA)p 2618 -3023 V 137 w(4)p 3009 3023 V 346 w(P)p 3313 3023 V 242 -w(Pub)p 3625 3023 V 148 w(18)p 3980 3023 V 94 3026 3888 -4 v 92 3139 4 113 v 144 3105 a(3.a)p 313 3139 V 106 w(Rep)s(ort)e(on)g -(Metadata)j(for)p 1957 3139 V 690 w(3)p 2212 3139 V 210 -w(DFKI)p 2618 3139 V 174 w(9)p 3009 3139 V 346 w(R)p -3313 3139 V 237 w(Pub)p 3625 3139 V 148 w(12)p 3980 3139 -V 92 3252 V 313 3252 V 365 3218 a(Mathematical)e(Libraries)p -1957 3252 V 2212 3252 V 2618 3252 V 3009 3252 V 3313 -3252 V 3625 3252 V 3980 3252 V 94 3255 3888 4 v 92 3368 -4 113 v 144 3334 a(3.b)p 313 3368 V 100 w(Metadata)h(Mo)s(del)p -1957 3368 V 985 w(3)p 2212 3368 V 210 w(DFKI)p 2618 3368 -V 174 w(11)p 3009 3368 V 301 w(R)p 3313 3368 V 237 w(Pub)p -3625 3368 V 148 w(12)p 3980 3368 V 94 3371 3888 4 v 92 -3484 4 113 v 144 3450 a(4.a)p 313 3484 V 106 w(First)d(Protot)m(yp)s(e) -j(implemen)m(tation)d(of)p 1957 3484 V 272 w(4)p 2212 -3484 V 210 w(UNIBO)p 2618 3484 V 102 w(16)p 3009 3484 -V 301 w(P)p 3313 3484 V 242 w(Pub)p 3625 3484 V 148 w(12)p -3980 3484 V 92 3597 V 313 3597 V 365 3563 a(Rendering)f(Engines)i(for)g -(MathML)p 1957 3597 V 2212 3597 V 2618 3597 V 3009 3597 -V 3313 3597 V 3625 3597 V 3980 3597 V 94 3600 3888 4 -v 92 3713 4 113 v 144 3679 a(4.b)p 313 3713 V 100 w Fi(First)k(MO)m(W)m -(GLI)h(Protot)m(yp)s(e)p 1957 3713 V 429 w Fl(4)p 2212 -3713 V 210 w(INRIA)p 2618 3713 V 137 w(15)p 3009 3713 -V 301 w(P)p 3313 3713 V 242 w(Pub)p 3625 3713 V 148 w(18)p -3980 3713 V 92 3826 V 313 3826 V 365 3792 a(\(bro)m(wsing,)29 -b(rendering)g(and)h(consultation\))p 1957 3826 V 2212 -3826 V 2618 3826 V 3009 3826 V 3313 3826 V 3625 3826 -V 3980 3826 V 94 3829 3888 4 v 92 3942 4 113 v 144 3909 -a(4.c)p 313 3942 V 111 w(Protot)m(yp)s(e)h(for)f(assisted)g(annotation) -p 1957 3942 V 313 w(4)p 2212 3942 V 210 w(UNIBO)p 2618 -3942 V 102 w(7)p 3009 3942 V 346 w(P)p 3313 3942 V 242 -w(Pub)p 3625 3942 V 148 w(18)p 3980 3942 V 94 3946 3888 -4 v 92 4059 4 113 v 144 4025 a(4.d)p 313 4059 V 100 w(L)389 -4008 y Ff(A)428 4025 y Fl(T)479 4044 y(E)529 4025 y(X-based)g -(authoring)g(to)s(ol)p 1957 4059 V 560 w(4)p 2212 4059 -V 210 w(MPG)p 2618 4059 V 190 w(9)p 3009 4059 V 346 w(P)p -3313 4059 V 242 w(Pub)p 3625 4059 V 148 w(18)p 3980 4059 -V 94 4062 3888 4 v 92 4175 4 113 v 144 4141 a(4.e)p 313 -4175 V 111 w(Extended)f(L)796 4124 y Ff(A)835 4141 y -Fl(T)886 4161 y(E)937 4141 y(X-authoring)h(protot)m(yp)s(e)p -1957 4175 V 173 w(4)p 2212 4175 V 210 w(MPG)p 2618 4175 -V 190 w(8)p 3009 4175 V 346 w(P)p 3313 4175 V 242 w(Pub)p -3625 4175 V 148 w(24)p 3980 4175 V 94 4178 3888 4 v 92 -4291 4 113 v 144 4257 a(5.a)p 313 4291 V 106 w(Ov)m(erall)f(Arc)m -(hitectural)h(Design)g(of)p 1957 4291 V 400 w(5)p 2212 -4291 V 210 w(DFKI)p 2618 4291 V 174 w(11)p 3009 4291 -V 301 w(R)p 3313 4291 V 237 w(Pub)p 3625 4291 V 148 w(18)p -3980 4291 V 92 4404 V 313 4404 V 365 4370 a(the)g(distribution)d(Mo)s -(del)p 1957 4404 V 2212 4404 V 2618 4404 V 3009 4404 -V 3313 4404 V 3625 4404 V 3980 4404 V 94 4407 3888 4 -v 92 4520 4 113 v 144 4486 a(5.b)p 313 4520 V 100 w Fi(Adv)-6 -b(anced)35 b(MO)m(W)m(GLI)g(Protot)m(yp)s(e)p 1957 4520 -V 201 w Fl(5)p 2212 4520 V 210 w(DFKI)p 2618 4520 V 174 -w(16)p 3009 4520 V 301 w(P)p 3313 4520 V 242 w(Pub)p -3625 4520 V 148 w(24)p 3980 4520 V 92 4633 V 313 4633 -V 365 4599 a(\(distribution\))p 1957 4633 V 2212 4633 -V 2618 4633 V 3009 4633 V 3313 4633 V 3625 4633 V 3980 -4633 V 94 4636 3888 4 v 92 4749 4 113 v 144 4715 a(6.a)p -313 4749 V 106 w(V)-8 b(alidation)29 b(1:)41 b(MO)m(W)m(GLI)32 -b(for)e(education)p 1957 4749 V 137 w(6)p 2212 4749 V -210 w(KUN)p 2618 4749 V 199 w(16)p 3009 4749 V 301 w(R)p -3313 4749 V 237 w(Pub)p 3625 4749 V 148 w(30)p 3980 4749 -V 94 4753 3888 4 v 92 4866 4 113 v 144 4832 a(6.b)p 313 -4866 V 100 w(V)-8 b(alidation)29 b(2:)41 b(MO)m(W)m(GLI)32 -b(and)p 1957 4866 V 513 w(6)p 2212 4866 V 210 w(T)-8 -b(rusted)p 2618 4866 V 99 w(9)p 3009 4866 V 346 w(R)p -3313 4866 V 237 w(Pub)p 3625 4866 V 148 w(30)p 3980 4866 -V 92 4979 V 313 4979 V 365 4945 a(smart)30 b(card)g(securit)m(y)p -1957 4979 V 2212 4979 V 1130 w(Logic)p 2618 4979 V 3009 -4979 V 3313 4979 V 3625 4979 V 3980 4979 V 94 4982 3888 -4 v 92 5095 4 113 v 144 5061 a(6.c)p 313 5095 V 111 w(V)-8 -b(alidation)29 b(3:)41 b(Journal)29 b(in)m(terface)p -1957 5095 V 426 w(6)p 2212 5095 V 210 w(MPG)p 2618 5095 -V 190 w(14)p 3009 5095 V 301 w(P)p 3313 5095 V 242 w(Pub)p -3625 5095 V 148 w(30)p 3980 5095 V 94 5098 3888 4 v 92 -5211 4 113 v 144 5177 a(6.d)p 313 5211 V 100 w Fi(Final)34 -b(MO)m(W)m(GLI)h(Protot)m(yp)s(e)p 1957 5211 V 416 w -Fl(6)p 2212 5211 V 210 w(UNIBO)p 2618 5211 V 102 w(12)p -3009 5211 V 301 w(P)p 3313 5211 V 242 w(Pub)p 3625 5211 -V 148 w(30)p 3980 5211 V 94 5214 3888 4 v 92 5327 4 113 -v 144 5293 a(7.a)p 313 5327 V 106 w(Dissemination)28 -b(and)i(Use)h(Plan)p 1957 5327 V 518 w(7)p 2212 5327 -V 210 w(MPG)p 2618 5327 V 190 w(3)p 3009 5327 V 346 w(R)p -3313 5327 V 237 w(Pub)p 3625 5327 V 148 w(6)p 3980 5327 -V 94 5331 3888 4 v 92 5443 4 113 v 144 5410 a(7.b)p 313 -5443 V 100 w(T)-8 b(ec)m(hnological)30 b(Implemen)m(tation)g(Plan)p -1957 5443 V 238 w(7)p 2212 5443 V 210 w(MPG)p 2618 5443 -V 190 w(3)p 3009 5443 V 346 w(P)p 3313 5443 V 242 w(Pub)p -3625 5443 V 148 w(30)p 3980 5443 V 94 5447 3888 4 v 94 -5463 V 92 5576 4 113 v 144 5542 a Fc(R)c Fl(=Rep)s(ort,)k -Fc(P)38 b Fl(=Protot)m(yp)s(e,)31 b(Pub=Public)p 3980 -5576 V 94 5580 3888 4 v eop -%%Page: 28 28 -28 27 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(28)748 171 y Fj(W)-11 b(ork)44 b(pac)l(k)-7 b(age)46 -b(list)g(and)e(team)i(in)l(v)l(olv)l(emen)l(t)94 384 -y Fl(UNIBO)31 b(=)f(1)94 497 y(INRIA)g(=)g(2)94 610 y(DFKI)h(=)f(3)94 -723 y(KUN)g(=)g(4)94 835 y(MPG)h(=)f(5)94 948 y(T)-8 -b(rusted)30 b(Logic)g(=)g(6)94 1161 y(Ov)m(erview)g(o)m(v)m(er)h(the)g -(W)-8 b(ork)31 b(pac)m(k)-5 b(ages)p 192 1399 3501 4 -v 190 1512 4 113 v 242 1478 a(n.)p 366 1512 V 100 w(Title)p -1651 1512 V 1092 w(Lead)p 2006 1512 V 161 w(P)m(erson-)p -2403 1512 V 101 w(Start-)p 2758 1512 V 122 w(End-)p 3112 -1512 V 161 w(Deliv)m(erables)p 3691 1512 V 190 1625 V -366 1625 V 1651 1625 V 1703 1591 a(Con)m(tr.)p 2006 1625 -V 99 w(mon)m(ths)p 2403 1625 V 107 w(mon)m(th)p 2758 -1625 V 99 w(mon)m(th)p 3112 1625 V 3691 1625 V 192 1628 -3501 4 v 190 1741 4 113 v 242 1707 a(0)p 366 1741 V 131 -w(Pro)5 b(ject)31 b(Managemen)m(t)p 1651 1741 V 455 w(1)p -2006 1741 V 309 w(8)p 2403 1741 V 353 w(0)p 2758 1741 -V 309 w(30)p 3112 1741 V 265 w(a,b,c,d)p 3691 1741 V -192 1745 3501 4 v 190 1858 4 113 v 242 1824 a(1)p 366 -1858 V 131 w(Requiremen)m(t)e(Analysis)p 1651 1858 V -413 w(4)p 2006 1858 V 309 w(20)p 2403 1858 V 308 w(0)p -2758 1858 V 309 w(6)p 3112 1858 V 310 w(a,b,c)p 3691 -1858 V 192 1861 3501 4 v 190 1974 4 113 v 242 1940 a(2)p -366 1974 V 131 w(T)-8 b(ransformation)p 1651 1974 V 672 -w(1)p 2006 1974 V 309 w(34)p 2403 1974 V 308 w(3)p 2758 -1974 V 309 w(21)p 3112 1974 V 265 w(a,b,c,d,e,f,g)p 3691 -1974 V 192 1977 3501 4 v 190 2090 4 113 v 242 2056 a(3)p -366 2090 V 131 w(Metadata)p 1651 2090 V 906 w(3)p 2006 -2090 V 309 w(20)p 2403 2090 V 308 w(6)p 2758 2090 V 309 -w(21)p 3112 2090 V 265 w(a,b)p 3691 2090 V 192 2093 3501 -4 v 190 2206 4 113 v 242 2172 a(4)p 366 2206 V 131 w(In)m(terfaces)p -1651 2206 V 904 w(2)p 2006 2206 V 309 w(55)p 2403 2206 -V 308 w(3)p 2758 2206 V 309 w(24)p 3112 2206 V 265 w(a,b,c,d,e)p -3691 2206 V 192 2210 3501 4 v 190 2322 4 113 v 242 2289 -a(5)p 366 2322 V 131 w(Distribution)p 1651 2322 V 798 -w(3)p 2006 2322 V 309 w(27)p 2403 2322 V 308 w(9)p 2758 -2322 V 309 w(27)p 3112 2322 V 265 w(a,b)p 3691 2322 V -192 2326 3501 4 v 190 2439 4 113 v 242 2405 a(6)p 366 -2439 V 131 w(T)g(esting)30 b(and)g(V)-8 b(alidation)p -1651 2439 V 377 w(4)p 2006 2439 V 309 w(54)p 2403 2439 -V 308 w(12)p 2758 2439 V 264 w(30)p 3112 2439 V 265 w(a,b,c,d)p -3691 2439 V 192 2442 3501 4 v 190 2555 4 113 v 242 2521 -a(7)p 366 2555 V 131 w(Dissemination)28 b(&)i(Exploitation)p -1651 2555 V 99 w(5)p 2006 2555 V 309 w(8)p 2403 2555 -V 353 w(3)p 2758 2555 V 309 w(30)p 3112 2555 V 265 w(a,b)p -3691 2555 V 192 2558 3501 4 v 190 2671 4 113 v 940 2637 -a(TOT)-8 b(AL)p 2006 2671 V 797 w(226)p 2403 2671 V 2403 -2671 V 3691 2671 V 192 2675 3501 4 v 94 3062 a(In)m(v)m(olv)m(emen)m(t) -32 b(b)m(y)e(Researc)m(h)h(T)-8 b(eam)31 b(\(leader)f(in)g(b)s -(oldface\))p 888 3300 2111 4 v 886 3413 4 113 v 937 3379 -a(T)-8 b(eam)p 1205 3413 V 1205 3413 V 514 w(W)g(ork)31 -b(P)m(ac)m(k)-5 b(age)p 2693 3413 V 2710 3413 V 532 w(total)p -2996 3413 V 888 3417 2111 4 v 886 3529 4 113 v 937 3496 -a(n.)p 1205 3529 V 244 w(0)p 1357 3529 V 107 w(1)p 1548 -3529 V 145 w(2)p 1752 3529 V 159 w(3)p 1942 3529 V 146 -w(4)p 2147 3529 V 159 w(5)p 2337 3529 V 146 w(6)p 2541 -3529 V 159 w(7)p 2693 3529 V 2710 3529 V 2996 3529 V -888 3533 2111 4 v 888 3549 V 886 3662 4 113 v 937 3628 -a(1)p 1205 3662 V 275 w Fi(8)p 1357 3662 V 100 w Fl(3)p -1548 3662 V 145 w Fi(13)p 1752 3662 V 100 w Fl(3)p 1942 -3662 V 146 w(16)p 2147 3662 V 114 w(6)p 2337 3662 V 146 -w(5)p 2541 3662 V 159 w(1)p 2693 3662 V 2710 3662 V 123 -w(55)p 2996 3662 V 888 3666 2111 4 v 886 3779 4 113 v -937 3745 a(2)p 1205 3779 V 275 w(0)p 1357 3779 V 107 -w(4)p 1548 3779 V 145 w(4)p 1752 3779 V 159 w(3)p 1942 -3779 V 146 w Fi(16)p 2147 3779 V 100 w Fl(5)p 2337 3779 -V 146 w(6)p 2541 3779 V 159 w(0)p 2693 3779 V 2710 3779 -V 123 w(38)p 2996 3779 V 888 3782 2111 4 v 886 3895 4 -113 v 937 3861 a(3)p 1205 3895 V 275 w(0)p 1357 3895 -V 107 w(3)p 1548 3895 V 145 w(3)p 1752 3895 V 159 w Fi(8)p -1942 3895 V 139 w Fl(5)p 2147 3895 V 159 w Fi(8)p 2337 -3895 V 139 w Fl(3)p 2541 3895 V 159 w(0)p 2693 3895 V -2710 3895 V 123 w(30)p 2996 3895 V 888 3898 2111 4 v -886 4011 4 113 v 937 3977 a(4)p 1205 4011 V 275 w(0)p -1357 4011 V 107 w Fi(6)p 1548 4011 V 138 w Fl(11)p 1752 -4011 V 114 w(3)p 1942 4011 V 146 w(4)p 2147 4011 V 159 -w(3)p 2337 4011 V 146 w Fi(17)p 2541 4011 V 100 w Fl(1)p -2693 4011 V 2710 4011 V 123 w(45)p 2996 4011 V 888 4014 -2111 4 v 886 4127 4 113 v 937 4093 a(5)p 1205 4127 V -275 w(0)p 1357 4127 V 107 w(3)p 1548 4127 V 145 w(3)p -1752 4127 V 159 w(3)p 1942 4127 V 146 w(14)p 2147 4127 -V 114 w(5)p 2337 4127 V 146 w(14)p 2541 4127 V 114 w -Fi(6)p 2693 4127 V 2710 4127 V 116 w Fl(48)p 2996 4127 -V 888 4131 2111 4 v 886 4243 4 113 v 937 4210 a(6)p 1205 -4243 V 275 w(0)p 1357 4243 V 107 w(1)p 1548 4243 V 145 -w(0)p 1752 4243 V 159 w(0)p 1942 4243 V 146 w(0)p 2147 -4243 V 159 w(0)p 2337 4243 V 146 w(9)p 2541 4243 V 159 -w(0)p 2693 4243 V 2710 4243 V 123 w(10)p 2996 4243 V -888 4247 2111 4 v 888 4263 V 886 4376 4 113 v 937 4342 -a(total)p 1205 4376 V 134 w(8)p 1357 4376 V 107 w(20)p -1548 4376 V 100 w(34)p 1752 4376 V 114 w(20)p 1942 4376 -V 101 w(55)p 2147 4376 V 114 w(27)p 2337 4376 V 101 w(54)p -2541 4376 V 114 w(8)p 2693 4376 V 2710 4376 V 123 w(226)p -2996 4376 V 888 4380 2111 4 v 94 4625 a(The)29 b(total)g(of)g(226)i -(m.m.)40 b(comprises)28 b(59)i(m.m.)40 b(of)29 b(p)s(ermanen)m(t)f -(sta\013)i(w)m(ork)f(for)g(the)g(four)f(sites)h(under)e(an)94 -4738 y(Additional)34 b(Cost)i(Regime:)52 b(UNIBO)36 b(\(17)h(m.m\),)h -(DFKI)e(\(9)h(m.m\),)g(KUN)f(\(15)h(m.m\))f(and)g(MPG)g(\(18)94 -4851 y(m.m\).)p eop -%%Page: 29 29 -29 28 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(29)94 171 y Fg(9.5)112 b(Pro)6 b(ject)37 b(Planning)g(and)h -(timetable)94 3861 y @beginspecial 0 @llx 0 @lly 497 -@urx 471 @ury 4437 @rwi @setspecial -%%BeginDocument: gantt_new.eps -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: gantt_new.eps -%%Creator: fig2dev Version 3.2 Patchlevel 3a -%%CreationDate: Mon Jul 2 13:23:36 2001 -%%For: asperti@marcello (Andrea Asperti, docente, 2094505) -%%BoundingBox: 0 0 497 471 -%%Magnification: 0.8000 -%%EndComments -/MyAppDict 100 dict dup begin def -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save -newpath 0 471 moveto 0 0 lineto 497 0 lineto 497 471 lineto closepath clip newpath --24.0 492.0 translate -1 -1 scale - -% This junk string is used by the show operators -/PATsstr 1 string def -/PATawidthshow { % cx cy cchar rx ry string - % Loop over each character in the string - { % cx cy cchar rx ry char - % Show the character - dup % cx cy cchar rx ry char char - PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) - false charpath % cx cy cchar rx ry char - /clip load PATdraw - % Move past the character (charpath modified the - % current point) - currentpoint % cx cy cchar rx ry char x y - newpath - moveto % cx cy cchar rx ry char - % Reposition by cx,cy if the character in the string is cchar - 3 index eq { % cx cy cchar rx ry - 4 index 4 index rmoveto - } if - % Reposition all characters by rx ry - 2 copy rmoveto % cx cy cchar rx ry - } forall - pop pop pop pop pop % - - currentpoint - newpath - moveto -} bind def -/PATcg { - 7 dict dup begin - /lw currentlinewidth def - /lc currentlinecap def - /lj currentlinejoin def - /ml currentmiterlimit def - /ds [ currentdash ] def - /cc [ currentrgbcolor ] def - /cm matrix currentmatrix def - end -} bind def -% PATdraw - calculates the boundaries of the object and -% fills it with the current pattern -/PATdraw { % proc - save exch - PATpcalc % proc nw nh px py - 5 -1 roll exec % nw nh px py - newpath - PATfill % - - restore -} bind def -% PATfill - performs the tiling for the shape -/PATfill { % nw nh px py PATfill - - PATDict /CurrentPattern get dup begin - setfont - % Set the coordinate system to Pattern Space - PatternGState PATsg - % Set the color for uncolored pattezns - PaintType 2 eq { PATDict /PColor get PATsc } if - % Create the string for showing - 3 index string % nw nh px py str - % Loop for each of the pattern sources - 0 1 Multi 1 sub { % nw nh px py str source - % Move to the starting location - 3 index 3 index % nw nh px py str source px py - moveto % nw nh px py str source - % For multiple sources, set the appropriate color - Multi 1 ne { dup PC exch get PATsc } if - % Set the appropriate string for the source - 0 1 7 index 1 sub { 2 index exch 2 index put } for pop - % Loop over the number of vertical cells - 3 index % nw nh px py str nh - { % nw nh px py str - currentpoint % nw nh px py str cx cy - 2 index show % nw nh px py str cx cy - YStep add moveto % nw nh px py str - } repeat % nw nh px py str - } for - 5 { pop } repeat - end -} bind def - -% PATkshow - kshow with the current pattezn -/PATkshow { % proc string - exch bind % string proc - 1 index 0 get % string proc char - % Loop over all but the last character in the string - 0 1 4 index length 2 sub { - % string proc char idx - % Find the n+1th character in the string - 3 index exch 1 add get % string proe char char+1 - exch 2 copy % strinq proc char+1 char char+1 char - % Now show the nth character - PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) - false charpath % string proc char+1 char char+1 - /clip load PATdraw - % Move past the character (charpath modified the current point) - currentpoint newpath moveto - % Execute the user proc (should consume char and char+1) - mark 3 1 roll % string proc char+1 mark char char+1 - 4 index exec % string proc char+1 mark... - cleartomark % string proc char+1 - } for - % Now display the last character - PATsstr dup 0 4 -1 roll put % string proc (char+1) - false charpath % string proc - /clip load PATdraw - neewath - pop pop % - -} bind def -% PATmp - the makepattern equivalent -/PATmp { % patdict patmtx PATmp patinstance - exch dup length 7 add % We will add 6 new entries plus 1 FID - dict copy % Create a new dictionary - begin - % Matrix to install when painting the pattern - TilingType PATtcalc - /PatternGState PATcg def - PatternGState /cm 3 -1 roll put - % Check for multi pattern sources (Level 1 fast color patterns) - currentdict /Multi known not { /Multi 1 def } if - % Font dictionary definitions - /FontType 3 def - % Create a dummy encoding vector - /Encoding 256 array def - 3 string 0 1 255 { - Encoding exch dup 3 index cvs cvn put } for pop - /FontMatrix matrix def - /FontBBox BBox def - /BuildChar { - mark 3 1 roll % mark dict char - exch begin - Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] - PaintType 2 eq Multi 1 ne or - { XStep 0 FontBBox aload pop setcachedevice } - { XStep 0 setcharwidth } ifelse - currentdict % mark [paintdata] dict - /PaintProc load % mark [paintdata] dict paintproc - end - gsave - false PATredef exec true PATredef - grestore - cleartomark % - - } bind def - currentdict - end % newdict - /foo exch % /foo newlict - definefont % newfont -} bind def -% PATpcalc - calculates the starting point and width/height -% of the tile fill for the shape -/PATpcalc { % - PATpcalc nw nh px py - PATDict /CurrentPattern get begin - gsave - % Set up the coordinate system to Pattern Space - % and lock down pattern - PatternGState /cm get setmatrix - BBox aload pop pop pop translate - % Determine the bounding box of the shape - pathbbox % llx lly urx ury - grestore - % Determine (nw, nh) the # of cells to paint width and height - PatHeight div ceiling % llx lly urx qh - 4 1 roll % qh llx lly urx - PatWidth div ceiling % qh llx lly qw - 4 1 roll % qw qh llx lly - PatHeight div floor % qw qh llx ph - 4 1 roll % ph qw qh llx - PatWidth div floor % ph qw qh pw - 4 1 roll % pw ph qw qh - 2 index sub cvi abs % pw ph qs qh-ph - exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph - % Determine the starting point of the pattern fill - %(px, py) - 4 2 roll % nw nh pw ph - PatHeight mul % nw nh pw py - exch % nw nh py pw - PatWidth mul exch % nw nh px py - end -} bind def - -% Save the original routines so that we can use them later on -/oldfill /fill load def -/oldeofill /eofill load def -/oldstroke /stroke load def -/oldshow /show load def -/oldashow /ashow load def -/oldwidthshow /widthshow load def -/oldawidthshow /awidthshow load def -/oldkshow /kshow load def - -% These defs are necessary so that subsequent procs don't bind in -% the originals -/fill { oldfill } bind def -/eofill { oldeofill } bind def -/stroke { oldstroke } bind def -/show { oldshow } bind def -/ashow { oldashow } bind def -/widthshow { oldwidthshow } bind def -/awidthshow { oldawidthshow } bind def -/kshow { oldkshow } bind def -/PATredef { - MyAppDict begin - { - /fill { /clip load PATdraw newpath } bind def - /eofill { /eoclip load PATdraw newpath } bind def - /stroke { PATstroke } bind def - /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def - /ashow { 0 0 null 6 3 roll PATawidthshow } - bind def - /widthshow { 0 0 3 -1 roll PATawidthshow } - bind def - /awidthshow { PATawidthshow } bind def - /kshow { PATkshow } bind def - } { - /fill { oldfill } bind def - /eofill { oldeofill } bind def - /stroke { oldstroke } bind def - /show { oldshow } bind def - /ashow { oldashow } bind def - /widthshow { oldwidthshow } bind def - /awidthshow { oldawidthshow } bind def - /kshow { oldkshow } bind def - } ifelse - end -} bind def -false PATredef -% Conditionally define setcmykcolor if not available -/setcmykcolor where { pop } { - /setcmykcolor { - 1 sub 4 1 roll - 3 { - 3 index add neg dup 0 lt { pop 0 } if 3 1 roll - } repeat - setrgbcolor - pop - } bind def -} ifelse -/PATsc { % colorarray - aload length % c1 ... cn length - dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor - } ifelse } ifelse -} bind def -/PATsg { % dict - begin - lw setlinewidth - lc setlinecap - lj setlinejoin - ml setmiterlimit - ds aload pop setdash - cc aload pop setrgbcolor - cm setmatrix - end -} bind def - -/PATDict 3 dict def -/PATsp { - true PATredef - PATDict begin - /CurrentPattern exch def - % If it's an uncolored pattern, save the color - CurrentPattern /PaintType get 2 eq { - /PColor exch def - } if - /CColor [ currentrgbcolor ] def - end -} bind def -% PATstroke - stroke with the current pattern -/PATstroke { - countdictstack - save - mark - { - currentpoint strokepath moveto - PATpcalc % proc nw nh px py - clip newpath PATfill - } stopped { - (*** PATstroke Warning: Path is too complex, stroking - with gray) = - cleartomark - restore - countdictstack exch sub dup 0 gt - { { end } repeat } { pop } ifelse - gsave 0.5 setgray oldstroke grestore - } { pop restore pop } ifelse - newpath -} bind def -/PATtcalc { % modmtx tilingtype PATtcalc tilematrix - % Note: tiling types 2 and 3 are not supported - gsave - exch concat % tilingtype - matrix currentmatrix exch % cmtx tilingtype - % Tiling type 1 and 3: constant spacing - 2 ne { - % Distort the pattern so that it occupies - % an integral number of device pixels - dup 4 get exch dup 5 get exch % tx ty cmtx - XStep 0 dtransform - round exch round exch % tx ty cmtx dx.x dx.y - XStep div exch XStep div exch % tx ty cmtx a b - 0 YStep dtransform - round exch round exch % tx ty cmtx a b dy.x dy.y - YStep div exch YStep div exch % tx ty cmtx a b c d - 7 -3 roll astore % { a b c d tx ty } - } if - grestore -} bind def -/PATusp { - false PATredef - PATDict begin - CColor PATsc - end -} bind def - -% crosshatch30 -11 dict begin -/PaintType 1 def -/PatternType 1 def -/TilingType 1 def -/BBox [0 0 1 1] def -/XStep 1 def -/YStep 1 def -/PatWidth 1 def -/PatHeight 1 def -/Multi 2 def -/PaintData [ - { clippath } bind - { 32 16 true [ 32 0 0 -16 0 16 ] - {<033003300c0c0c0c30033003c000c000300330030c0c0c0c - 0330033000c000c0033003300c0c0c0c30033003c000c000 - 300330030c0c0c0c0330033000c000c0>} - imagemask } bind -] def -/PaintProc { - pop - exec fill -} def -currentdict -end -/P3 exch def - -% left45 -11 dict begin -/PaintType 1 def -/PatternType 1 def -/TilingType 1 def -/BBox [0 0 1 1] def -/XStep 1 def -/YStep 1 def -/PatWidth 1 def -/PatHeight 1 def -/Multi 2 def -/PaintData [ - { clippath } bind - { 32 32 true [ 32 0 0 -32 0 32 ] - {<808080804040404020202020101010100808080804040404 - 020202020101010180808080404040402020202010101010 - 080808080404040402020202010101018080808040404040 - 202020201010101008080808040404040202020201010101 - 808080804040404020202020101010100808080804040404 - 0202020201010101>} - imagemask } bind -] def -/PaintProc { - pop - exec fill -} def -currentdict -end -/P4 exch def - -% crosshatch45 -11 dict begin -/PaintType 1 def -/PatternType 1 def -/TilingType 1 def -/BBox [0 0 1 1] def -/XStep 1 def -/YStep 1 def -/PatWidth 1 def -/PatHeight 1 def -/Multi 2 def -/PaintData [ - { clippath } bind - { 32 32 true [ 32 0 0 -32 0 32 ] - {<828282824444444428282828101010102828282844444444 - 828282820101010182828282444444442828282810101010 - 282828284444444482828282010101018282828244444444 - 282828281010101028282828444444448282828201010101 - 828282824444444428282828101010102828282844444444 - 8282828201010101>} - imagemask } bind -] def -/PaintProc { - pop - exec fill -} def -currentdict -end -/P6 exch def - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/reencdict 12 dict def /ReEncode { reencdict begin -/newcodesandnames exch def /newfontname exch def /basefontname exch def -/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def -basefontdict { exch dup /FID ne { dup /Encoding eq -{ exch dup length array copy newfont 3 1 roll put } -{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall -newfont /FontName newfontname put newcodesandnames aload pop -128 1 255 { newfont /Encoding get exch /.notdef put } for -newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat -newfontname newfont definefont pop end } def -/isovec [ -8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde -8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis -8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron -8#220 /dotlessi 8#230 /oe 8#231 /OE -8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling -8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis -8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot -8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus -8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph -8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine -8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf -8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute -8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring -8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute -8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute -8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve -8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply -8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex -8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave -8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring -8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute -8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute -8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve -8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide -8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex -8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def -/Times-Roman /Times-Roman-iso isovec ReEncode -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def - -$F2psBegin -%%Page: 1 1 -10 setmiterlimit - 0.04800 0.04800 sc -% Polyline -7.500 slw -n 4800 450 m - 4800 8250 l gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 5400 4275 m 7200 4275 l 7200 4500 l 5400 4500 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 360.00 285.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 6000 4500 m 7800 4500 l 7800 4725 l 6000 4725 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 400.00 300.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 6000 4725 m 7800 4725 l 7800 4950 l 6000 4950 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 400.00 315.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7200 450 m - 7200 8325 l gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 6000 450 m - 6000 8325 l gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 6000 6000 m 7200 6000 l 7200 6225 l 6000 6225 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P4 [16 0 0 -16 400.00 400.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7200 4950 m 9000 4950 l 9000 5175 l 7200 5175 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 480.00 330.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7200 5400 m 9000 5400 l 9000 5625 l 7200 5625 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 480.00 360.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 6600 5175 m 9000 5175 l 9000 5400 l 6600 5400 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 440.00 345.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7200 7350 m 9600 7350 l 9600 7575 l 7200 7575 l - cp gs col7 0.55 shd ef gr gs col0 s gr -% Polyline -n 5400 6900 m 7800 6900 l 7800 7125 l 5400 7125 l - cp gs col7 0.55 shd ef gr gs col0 s gr -% Polyline -n 6600 6225 m 9000 6225 l 9000 6450 l 6600 6450 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P4 [16 0 0 -16 440.00 415.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7200 7125 m 9600 7125 l 9600 7350 l 7200 7350 l - cp gs col7 0.55 shd ef gr gs col0 s gr -% Polyline -n 525 450 m - 10800 450 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 4800 825 m - 10800 825 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 525 1275 m - 10800 1275 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 525 5625 m - 10800 5625 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 525 6450 m - 10800 6450 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 525 2175 m - 10800 2175 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 525 1800 m - 10800 1800 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 525 3900 m - 10800 3900 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 4800 1800 m 10800 1800 l 10800 2175 l 4800 2175 l - cp gs col7 0.40 shd ef gr gs col0 s gr -% Polyline -n 6600 450 m - 6600 8325 l gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 525 450 m - 525 8925 l gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 5400 7575 m 8400 7575 l 8400 7800 l 5400 7800 l - cp gs col7 0.55 shd ef gr gs col0 s gr -% Polyline -n 6600 8175 m 8400 8175 l 8400 8400 l 6600 8400 l - cp gs col7 0.75 shd ef gr gs col0 s gr -% Polyline -n 4800 8250 m - 4800 10050 l gs col0 s gr -% Polyline -n 6000 8250 m - 6000 10050 l gs col0 s gr -% Polyline -n 8400 8625 m 10200 8625 l 10200 8850 l 8400 8850 l - cp gs col7 0.75 shd ef gr gs col0 s gr -% Polyline -45.000 slw -n 7200 9225 m - 7200 10050 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 8400 9150 m - 8400 10050 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 9600 9150 m - 9600 10050 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 10800 9075 m - 10800 10050 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -7.500 slw -n 525 7800 m - 10800 7800 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 525 8850 m - 10800 8850 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 7800 8400 m 9000 8400 l 9000 8625 l 7800 8625 l - cp gs col7 0.75 shd ef gr gs col0 s gr -% Polyline -n 525 10200 m - 10800 10200 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 7200 9675 m 10800 9675 l 10800 9900 l 7200 9900 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 480.00 645.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7200 9225 m 10800 9225 l 10800 9450 l 7200 9450 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 480.00 615.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 9600 8250 m - 9600 10050 l gs col0 s gr -% Polyline -n 525 9900 m - 525 8925 l gs col0 s gr -% Polyline -n 525 9900 m - 525 10200 l gs col0 s gr -% Polyline -n 675 10200 m 10800 10200 l - 10800 9975 l gs col0 s gr -% Polyline -n 525 9900 m - 10800 9900 l gs col0 s gr -% Polyline -n 5400 8100 m - 5400 10200 l gs col0 s gr -% Polyline -n 5400 9900 m 10800 9900 l 10800 10200 l 5400 10200 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P6 [16 0 0 -16 360.00 660.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 6600 8025 m - 6600 10200 l gs col0 s gr -% Polyline -n 7200 9450 m 10800 9450 l 10800 9675 l 7200 9675 l - cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P3 [16 0 0 -8 480.00 630.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7800 7875 m - 7800 10200 l gs col0 s gr -% Polyline -n 9000 8250 m - 9000 10200 l gs col0 s gr -% Polyline -n 10200 8175 m - 10200 10200 l gs col0 s gr -% Polyline -45.000 slw -n 6000 9150 m - 6000 9975 l gs col7 0.95 shd ef gr gs col0 s gr -% Polyline -n 6000 9825 m - 6000 10200 l gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P6 [16 0 0 -16 400.00 655.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 7200 9150 m - 7200 10200 l gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P6 [16 0 0 -16 480.00 610.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 8400 9000 m - 8400 10200 l gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P6 [16 0 0 -16 560.00 600.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 9600 9000 m - 9600 10200 l gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P6 [16 0 0 -16 640.00 600.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 10800 9075 m - 10800 10200 l gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P6 [16 0 0 -16 720.00 605.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -7.500 slw -n 7800 825 m - 7800 8700 l gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 4800 9675 m - 4800 10200 l gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def -15.00 15.00 sc P6 [16 0 0 -16 320.00 645.00] PATmp PATsp ef gr PATusp gs col0 s gr -% Polyline -n 4800 2550 m 5400 2550 l 5400 2775 l 4800 2775 l - cp gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 4800 2775 m 5400 2775 l 5400 3000 l 4800 3000 l - cp gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 4800 3000 m 6000 3000 l 6000 3225 l 4800 3225 l - cp gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 4800 3225 m 6000 3225 l 6000 3450 l 4800 3450 l - cp gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 4800 3450 m 6000 3450 l 6000 3675 l 4800 3675 l - cp gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 4800 3675 m 5400 3675 l 5400 3900 l 4800 3900 l - cp gs col7 0.90 shd ef gr gs col0 s gr -% Polyline -n 5400 450 m - 5400 8325 l gs col7 0.90 shd ef gr gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf -675 5325 m -gs 1 -1 sc (T2.5 Presentational Stylesheets) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 5550 m -gs 1 -1 sc (T2.6 Automatic Proof Generation in Natural Language) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 6150 m -gs 1 -1 sc (T3.1 Use, meaning and classification) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 8550 m -gs 1 -1 sc (T5.2 Prototype Implementation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 8775 m -gs 1 -1 sc (T5.3. Integration with the Consultation Engine) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 3825 m -gs 1 -1 sc (T1.6 Document Authoring) col0 sh gr -% Polyline -n 10785 450 m - 10785 9165 l gs col0 s gr -% Polyline -n 9600 450 m - 9600 9165 l gs col0 s gr -% Polyline -n 8400 450 m - 8400 9165 l gs col0 s gr -% Polyline -45.000 slw -n 6000 825 m - 6000 9150 l gs col0 s gr -% Polyline -7.500 slw -n 9000 450 m - 9000 9165 l gs col0 s gr -% Polyline -n 10200 450 m - 10200 9165 l gs col0 s gr -% Polyline -45.000 slw -n 9600 825 m - 9600 9150 l gs col0 s gr -% Polyline -n 10800 825 m - 10800 9150 l gs col0 s gr -% Polyline -n 7200 825 m - 7200 9150 l gs col0 s gr -% Polyline -n 8400 825 m - 8400 9150 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf -10485 720 m -gs 1 -1 sc (30) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -9300 720 m -gs 1 -1 sc (24) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -8085 720 m -gs 1 -1 sc (18) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -6915 720 m -gs 1 -1 sc (12) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -5790 720 m -gs 1 -1 sc (6) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -3825 1050 m -gs 1 -1 sc (Milestones) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -3510 780 m -gs 1 -1 sc (Review months) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -660 2070 m -gs 1 -1 sc (WP0 - PROJECT MANAGEMENT) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -660 1545 m -gs 1 -1 sc (Work Packages and Tasks) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 4200 m -gs 1 -1 sc (WP2 TRANSFORMATION) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 4425 m -gs 1 -1 sc (T2.1 XML Exportation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 4650 m -gs 1 -1 sc (T2.2. Stylesheets to Intermediate Representation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 4875 m -gs 1 -1 sc (T2.3 Proof Transformation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 5100 m -gs 1 -1 sc (T2.4 Automatic Extraction of Metadata) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 5925 m -gs 1 -1 sc (WP3 METADATA) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 6375 m -gs 1 -1 sc (T3.2 Modeling) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 7275 m -gs 1 -1 sc (T4.2 Consultation Engine ) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 7500 m -gs 1 -1 sc (T4.3 Assisted Annotation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 6825 m -gs 1 -1 sc (WP4 INTERFACES) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 7050 m -gs 1 -1 sc (T4.1 MathML Rendering/Browsing Engines) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 7725 m -gs 1 -1 sc (T4.4 Latex-based authoring tools) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 8100 m -gs 1 -1 sc (WP5 DISTRIBUTION) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 8325 m -gs 1 -1 sc (T5.1 Overall architectural Design) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 9150 m -gs 1 -1 sc (WP6 TESTING AND VALIDATION) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 9375 m -gs 1 -1 sc (T6.1 Education) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 9600 m -gs 1 -1 sc (T6.2 Certified Code) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 10125 m -gs 1 -1 sc (WP7 DISSEMINATION AND EXPLOITATION) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 2475 m -gs 1 -1 sc (WP1 -REQUIREMENT ANALYSIS) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 2700 m -gs 1 -1 sc (T1.1 Mathematics and the Web) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 2925 m -gs 1 -1 sc (T1.2 Structured and Formal Mathematics) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 3150 m -gs 1 -1 sc (T1.3 Metadata) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 3375 m -gs 1 -1 sc (T1.4 Searching and Retrieving) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 3600 m -gs 1 -1 sc (T1.5 Distribution) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf -675 9825 m -gs 1 -1 sc (T6.3 Electronic Publishing) col0 sh gr -$F2psEnd -rs -end - -%%EndDocument - @endspecial eop -%%Page: 30 30 -30 29 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(30)94 171 y Fg(9.6)112 b(Graphical)37 b(presen)m(tation)g(of)h -(pro)6 b(ject)37 b(comp)s(onen)m(ts)94 5876 y @beginspecial -0 @llx 0 @lly 372 @urx 628 @ury 3993 @rwi @setspecial -%%BeginDocument: pert_new.eps -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: pert_new.eps -%%Creator: fig2dev Version 3.2 Patchlevel 3a -%%CreationDate: Mon Jul 2 13:36:49 2001 -%%For: asperti@marcello (Andrea Asperti, docente, 2094505) -%%BoundingBox: 0 0 372 628 -%%Magnification: 0.4500 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save -newpath 0 628 moveto 0 0 lineto 372 0 lineto 372 628 lineto closepath clip newpath -373.0 627.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/reencdict 12 dict def /ReEncode { reencdict begin -/newcodesandnames exch def /newfontname exch def /basefontname exch def -/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def -basefontdict { exch dup /FID ne { dup /Encoding eq -{ exch dup length array copy newfont 3 1 roll put } -{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall -newfont /FontName newfontname put newcodesandnames aload pop -128 1 255 { newfont /Encoding get exch /.notdef put } for -newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat -newfontname newfont definefont pop end } def -/isovec [ -8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde -8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis -8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron -8#220 /dotlessi 8#230 /oe 8#231 /OE -8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling -8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis -8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot -8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus -8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph -8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine -8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf -8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute -8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring -8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute -8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute -8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve -8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply -8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex -8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave -8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring -8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute -8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute -8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve -8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide -8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex -8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def -/Times-Roman /Times-Roman-iso isovec ReEncode -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def - -$F2psBegin -%%Page: 1 1 -10 setmiterlimit - 0.02700 0.02700 sc -% Polyline -7.500 slw -n -2325 6750 m -2325 9075 l -3150 9075 l -3150 6750 l - cp gs col0 s gr -% Polyline -n -3450 6750 m -3450 9075 l -4275 9075 l -4275 6750 l - cp gs col0 s gr -% Polyline -n -2775 6450 m - -5025 6450 l gs col0 s gr -% Polyline -n -4575 6750 m -4575 9075 l -5400 9075 l -5400 6750 l - cp gs col0 s gr -% Polyline -n -3450 10875 m -3450 13200 l -4275 13200 l -4275 10875 l - cp gs col0 s gr -% Polyline -n -6975 14925 m -6975 16950 l -7800 16950 l -7800 14925 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --7200 15000 m -gs 1 -1 sc 270.0 rot (6.1) col0 sh gr -% Polyline -n -6975 18675 m -6975 20700 l -7800 20700 l -7800 18675 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --7200 18750 m -gs 1 -1 sc 270.0 rot (6.1) col0 sh gr -% Polyline -n -5775 2700 m -5775 9075 l -6600 9075 l -6600 2700 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --6000 2775 m -gs 1 -1 sc 270.0 rot (4.1) col0 sh gr -% Polyline -n -11025 14625 m - -11025 14925 l gs col0 s gr -% Polyline -n -10950 14625 m - -12225 14625 l gs col0 s gr -% Polyline -n -12225 14625 m - -12225 14925 l gs col0 s gr -% Polyline -n -11775 14925 m -11775 16950 l -12600 16950 l -12600 14925 l - cp gs col0 s gr -% Polyline -n -10650 14925 m -10650 16950 l -11475 16950 l -11475 14925 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --10875 15000 m -gs 1 -1 sc 270.0 rot (4.2) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12000 15000 m -gs 1 -1 sc 270.0 rot (5.2-5.3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8475 17700 m -gs 1 -1 sc 270.0 rot (M8) col0 sh gr -% Polyline -n -6675 10875 m -6675 13200 l -7500 13200 l -7500 10875 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --6900 10950 m -gs 1 -1 sc 270.0 rot (4.4) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7200 10950 m -gs 1 -1 sc 270.0 rot (Latex-based authoring tool) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7425 10950 m -gs 1 -1 sc 270.0 rot (6,0) col0 sh gr -% Polyline -n -8400 1500 m -8400 4950 l -9225 4950 l -9225 1500 l - cp gs col0 s gr -% Polyline -n -9600 1500 m -9600 4950 l -10425 4950 l -10425 1500 l - cp gs col0 s gr -% Polyline -n -10725 10875 m -10725 13200 l -11550 13200 l -11550 10875 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --10950 10950 m -gs 1 -1 sc 270.0 rot (4.2) col0 sh gr -% Polyline -n -9675 10875 m -9675 13200 l -10500 13200 l -10500 10875 l - cp gs col0 s gr -% Polyline -n -8700 10875 m -8700 13200 l -9525 13200 l -9525 10875 l - cp gs col0 s gr -% Polyline -n -3300 3225 m - -4500 3225 l gs col0 s gr -% Polyline -n -3900 4950 m - -3900 5550 l gs col0 s gr -% Polyline -n -3900 6075 m - -3900 6750 l gs col0 s gr -% Polyline -n -2775 9375 m - -4950 9375 l gs col0 s gr -% Polyline -n -3900 10425 m - -3900 10875 l gs col0 s gr -% Polyline -n -4575 10875 m -4575 13200 l -5400 13200 l -5400 10875 l - cp gs col0 s gr -% Polyline -n -5025 10575 m - -3900 10575 l gs col0 s gr -% Polyline -n -6225 1350 m - -6225 2700 l gs col0 s gr -% Polyline -n -4950 10575 m - -6150 10575 l gs col0 s gr -% Polyline -n -6150 10200 m - -6150 10575 l gs col0 s gr -% Polyline -n -6150 9075 m - -6150 9675 l gs col0 s gr -% Polyline -n -5700 10575 m - -8175 10575 l gs col0 s gr -% Polyline -n -2325 10875 m -2325 13200 l -3150 13200 l -3150 10875 l - cp gs col0 s gr -% Polyline -n -3900 10575 m -2775 10575 l - -2775 10875 l gs col0 s gr -% Polyline -n -6150 10575 m - -6150 10875 l gs col0 s gr -% Polyline -n -2775 13500 m - -9825 13500 l gs col0 s gr -% Polyline -n -7650 13500 m - -7650 13800 l gs col0 s gr -% Polyline -n -7650 14625 m -6150 14625 l - -6150 14925 l gs col0 s gr -% Polyline -n -7575 14625 m - -9825 14625 l gs col0 s gr -% Polyline -n -5700 14925 m -5700 16950 l -6525 16950 l -6525 14925 l - cp gs col0 s gr -% Polyline -n -4350 21075 m - -8400 21075 l gs col0 s gr -% Polyline -n -8400 20700 m - -8400 21075 l gs col0 s gr -% Polyline -n -7500 20700 m - -7500 21075 l gs col0 s gr -% Polyline -n -1575 19125 m -1575 21075 l - -4350 21075 l gs col0 s gr -% Polyline -n -1575 6075 m - -1575 7725 l gs col0 s gr -% Polyline -n -1575 12750 m - -1575 19275 l gs col0 s gr -% Polyline -n -7425 18375 m - -7425 18675 l gs col0 s gr -% Polyline -n -5925 21900 m - -5925 22200 l gs col0 s gr -% Polyline -n -5925 21075 m - -5925 21375 l gs col0 s gr -% Polyline -n -7650 10575 m - -9450 10575 l gs col0 s gr -% Polyline -n -7425 9075 m - -7425 10875 l gs col0 s gr -% Polyline -n -7575 9075 m - -7575 9375 l gs col0 s gr -% Polyline -n -7575 9375 m -8100 9375 l -8100 6450 l -8775 6450 l - -8775 6750 l gs col0 s gr -% Polyline -n -9075 1200 m - -10350 1200 l gs col0 s gr -% Polyline -n -9675 13500 m - -11100 13500 l gs col0 s gr -% Polyline -n -9150 14925 m -9150 16950 l -9975 16950 l -9975 14925 l - cp gs col0 s gr -% Polyline -n -8025 14925 m -8025 16950 l -8850 16950 l -8850 14925 l - cp gs col0 s gr -% Polyline -n -9150 18675 m -9150 20700 l -9975 20700 l -9975 18675 l - cp gs col0 s gr -% Polyline -n -8025 18675 m -8025 20700 l -8850 20700 l -8850 18675 l - cp gs col0 s gr -% Polyline -n -6225 17250 m - -12150 17250 l gs col0 s gr -% Polyline -n -7425 18375 m -9675 18375 l - -9675 18675 l gs col0 s gr -% Polyline -n -8475 18300 m - -8475 18675 l gs col0 s gr -% Polyline -n -9750 14625 m - -11625 14625 l gs col0 s gr -% Polyline -n -12225 14625 m - -12225 14925 l gs col0 s gr -% Polyline -n -2700 1200 m - -3450 1200 l gs col0 s gr -% Polyline -n -1575 1200 m - -525 1200 l gs col0 s gr -% Polyline -n -525 1200 m - -525 7725 l gs col0 s gr -% Polyline -n -525 12750 m -525 21075 l - -1725 21075 l gs col0 s gr -% Polyline -n -9450 10200 m - -9450 10575 l gs col0 s gr -% Polyline -n -9375 10575 m - -11100 10575 l gs col0 s gr -% Polyline -n -11100 10575 m - -11100 10875 l gs col0 s gr -% Polyline -n -10125 10575 m - -10125 10875 l gs col0 s gr -% Polyline -n -11850 7650 m -11850 13200 l -12675 13200 l -12675 7650 l - cp gs col0 s gr -% Polyline -n -12300 7350 m - -10050 7350 l gs col0 s gr -% Polyline -n -8850 5250 m - -10050 5250 l gs col0 s gr -% Polyline -n -8400 6750 m -8400 9075 l -9225 9075 l -9225 6750 l - cp gs col0 s gr -% Polyline -n -8850 6450 m -10050 6450 l - -10050 7650 l gs col0 s gr -% Polyline -n -9450 6075 m - -9450 6450 l gs col0 s gr -% Polyline -n -8775 9375 m - -10050 9375 l gs col0 s gr -% Polyline -n -9450 9375 m - -9450 9675 l gs col0 s gr -% Polyline -n -11850 1500 m -11850 4950 l -12675 4950 l -12675 1500 l - cp gs col0 s gr -% Polyline -n -10125 1200 m -12300 1200 l - -12300 1500 l gs col0 s gr -% Polyline -n -12300 6075 m - -12300 7350 l gs col0 s gr -% Polyline -n -12300 4950 m - -12300 5550 l gs col0 s gr -% Polyline -n -12975 10875 m -12975 13200 l -13800 13200 l -13800 10875 l - cp gs col0 s gr -% Polyline -n -13425 10875 m -13425 10575 l - -12675 10575 l gs col0 s gr -% Polyline -n -11025 13500 m - -13425 13500 l gs col0 s gr -% Polyline -n -7725 10875 m -7725 13200 l -8550 13200 l -8550 10875 l - cp gs col0 s gr -% Polyline -n -7050 13200 m - -7050 13500 l gs col0 s gr -% Polyline -n -8175 13200 m - -8175 13500 l gs col0 s gr -% Polyline -n -9075 10575 m - -9075 10875 l gs col0 s gr -% Polyline -n -9600 20700 m - -9600 21075 l gs col0 s gr -% Polyline -n -9600 21075 m - -8325 21075 l gs col0 s gr -% Polyline -n -5700 10875 m -5700 13200 l -6525 13200 l -6525 10875 l - cp gs col0 s gr -% Polyline -n -6975 3675 m -6975 9075 l -7800 9075 l -7800 3675 l - cp gs col0 s gr -% Polyline -n -7425 1200 m - -7425 1575 l gs col0 s gr -% Polyline -n -7425 3000 m - -7425 3675 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --7650 13950 m -gs 1 -1 sc 270.0 rot (M7) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --6000 21525 m -gs 1 -1 sc 270.0 rot (M9) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8250 15000 m -gs 1 -1 sc 270.0 rot (6.2) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8250 18750 m -gs 1 -1 sc 270.0 rot (6.2) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9900 15000 m -gs 1 -1 sc 270.0 rot (6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9900 18750 m -gs 1 -1 sc 270.0 rot (6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --1725 7800 m -gs 1 -1 sc 270.0 rot (Dissemination and Exploitation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9375 15000 m -gs 1 -1 sc 270.0 rot (6.3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9375 18750 m -gs 1 -1 sc 270.0 rot (6.3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8550 16500 m -gs 1 -1 sc 270.0 rot ( ) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8550 15000 m -gs 1 -1 sc 270.0 rot (Validation:Certified Code) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8550 18750 m -gs 1 -1 sc 270.0 rot (Validation:Certified Code) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12075 7725 m -gs 1 -1 sc 270.0 rot (5.1) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --13200 10950 m -gs 1 -1 sc 270.0 rot (5.2) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8250 10950 m -gs 1 -1 sc 270.0 rot (Validation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7950 10950 m -gs 1 -1 sc 270.0 rot (6.1-3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --5925 10950 m -gs 1 -1 sc 270.0 rot (4.3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --5925 15000 m -gs 1 -1 sc 270.0 rot (4.3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7200 3825 m -gs 1 -1 sc 270.0 rot (4.4) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7200 1650 m -gs 1 -1 sc 270.0 rot (1.6) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7500 1650 m -gs 1 -1 sc 270.0 rot (Authoring) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7725 1650 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9675 15000 m -gs 1 -1 sc 270.0 rot (Validation: e-publishing) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9675 18750 m -gs 1 -1 sc 270.0 rot (Validation: e-publishing) col0 sh gr -% Polyline -n -6000 750 m -6225 975 l - -6450 750 l gs col0 s gr -% Polyline -n -6450 750 m -6450 0 l -6000 0 l - -6000 750 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --6300 150 m -gs 1 -1 sc 270.0 rot (START) col0 sh gr -% Polyline -n -2850 1500 m -2850 2925 l -3675 2925 l -3675 1500 l - cp gs col0 s gr -% Polyline -n -2850 1500 m -2850 2475 l -3150 2475 l -3150 1500 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --3600 1575 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3375 1575 m -gs 1 -1 sc 270.0 rot (Math & the Web) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3075 1575 m -gs 1 -1 sc 270.0 rot (1.1) col0 sh gr -% Polyline -n -4050 1500 m -4050 2925 l -4875 2925 l -4875 1500 l - cp gs col0 s gr -% Polyline -n -4050 1500 m -4050 2475 l -4350 2475 l -4350 1500 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --4575 1575 m -gs 1 -1 sc 270.0 rot (Structured and ) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --4800 1575 m -gs 1 -1 sc 270.0 rot (Formal Math 3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --4275 1575 m -gs 1 -1 sc 270.0 rot (1.2) col0 sh gr -% Polyline -n -3675 5550 m -3675 6075 l -4200 6075 l -4200 5550 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --3975 5700 m -gs 1 -1 sc 270.0 rot (M1) col0 sh gr -% Polyline -n -2325 6750 m -2325 7725 l -2625 7725 l -2625 6750 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --2550 6825 m -gs 1 -1 sc 270.0 rot (2.1) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --2850 6825 m -gs 1 -1 sc 270.0 rot (XML Exportation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3075 6825 m -gs 1 -1 sc 270.0 rot (6,0) col0 sh gr -% Polyline -n -3450 6750 m -3450 7725 l -3750 7725 l -3750 6750 l - cp gs col0 s gr -% Polyline -n -3900 9075 m - -3900 9375 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --3975 6825 m -gs 1 -1 sc 270.0 rot (Stylesheets to Intermediate) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3675 6825 m -gs 1 -1 sc 270.0 rot (2.2) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --4200 6825 m -gs 1 -1 sc 270.0 rot (Rerpresentation 6,0) col0 sh gr -% Polyline -n -4575 6750 m -4575 7725 l -4875 7725 l -4875 6750 l - cp gs col0 s gr -% Polyline -n -4950 9075 m - -4950 9375 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --5325 6825 m -gs 1 -1 sc 270.0 rot (6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --5100 6825 m -gs 1 -1 sc 270.0 rot (Proof Transformation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --4800 6825 m -gs 1 -1 sc 270.0 rot (2.3) col0 sh gr -% Polyline -n -3450 3525 m -3450 4500 l -3750 4500 l -3750 3525 l - cp gs col0 s gr -% Polyline -n -3450 3525 m -3450 4950 l -4275 4950 l -4275 3525 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --4200 3600 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3675 3600 m -gs 1 -1 sc 270.0 rot (2.1) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3975 3600 m -gs 1 -1 sc 270.0 rot (XML Exportation) col0 sh gr -% Polyline -n -3450 3525 m -3450 4500 l -3750 4500 l -3750 3525 l - cp gs col0 s gr -% Polyline -n -3450 3525 m -3450 4950 l -4275 4950 l -4275 3525 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --4200 3600 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3675 3600 m -gs 1 -1 sc 270.0 rot (2.1) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3975 3600 m -gs 1 -1 sc 270.0 rot (XML Exportation) col0 sh gr -% Polyline -n -3450 3525 m -3450 4500 l -3750 4500 l -3750 3525 l - cp gs col0 s gr -% Polyline -n -3450 3525 m -3450 4950 l -4275 4950 l -4275 3525 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --4200 3600 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3675 3600 m -gs 1 -1 sc 270.0 rot (2.1) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3975 3600 m -gs 1 -1 sc 270.0 rot (XML Exportation) col0 sh gr -% Polyline -n -3450 3525 m -3450 4500 l -3750 4500 l -3750 3525 l - cp gs col0 s gr -% Polyline -n -3450 3525 m -3450 4950 l -4275 4950 l -4275 3525 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --4200 3600 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3675 3600 m -gs 1 -1 sc 270.0 rot (2.1) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3975 3600 m -gs 1 -1 sc 270.0 rot (XML Exportation) col0 sh gr -% Polyline -n -3450 10875 m -3450 11850 l -3750 11850 l -3750 10875 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --3675 10950 m -gs 1 -1 sc 270.0 rot (2.5) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3975 10950 m -gs 1 -1 sc 270.0 rot (Presentational Stylesheets) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --4200 10950 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -% Polyline -n -6975 14925 m -6975 15900 l -7275 15900 l -7275 14925 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --7725 15000 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7500 15000 m -gs 1 -1 sc 270.0 rot (Validation: Education) col0 sh gr -% Polyline -n -6975 18675 m -6975 19650 l -7275 19650 l -7275 18675 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --7725 18750 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7500 18750 m -gs 1 -1 sc 270.0 rot (Validation: Education) col0 sh gr -% Polyline -n -5700 22425 m -5925 22200 l - -6150 22425 l gs col0 s gr -% Polyline -n -6150 22425 m -6150 23175 l -5700 23175 l - -5700 22425 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --6000 22500 m -gs 1 -1 sc 270.0 rot (END) col0 sh gr -% Polyline -n -5775 2700 m -5775 3675 l -6075 3675 l -6075 2700 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --6300 2775 m -gs 1 -1 sc 270.0 rot (MathML Rendering/Browsing Engines) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --6525 2775 m -gs 1 -1 sc 270.0 rot (9,0) col0 sh gr -% Polyline -n -11775 14925 m -11775 15900 l -12075 15900 l -12075 14925 l - cp gs col0 s gr -% Polyline -n -10650 14925 m -10650 15900 l -10950 15900 l -10950 14925 l - cp gs col0 s gr -% Polyline -n -11100 16950 m - -11100 17250 l gs col0 s gr -% Polyline -n -12150 16950 m - -12150 17250 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --12300 15000 m -gs 1 -1 sc 270.0 rot (Integration Consultation/) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12525 15000 m -gs 1 -1 sc 270.0 rot (Distribution 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --11400 15000 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --11175 15000 m -gs 1 -1 sc 270.0 rot (Consultation Engine) col0 sh gr -% Polyline -n -8175 17550 m -8175 18075 l -8700 18075 l -8700 17550 l - cp gs col0 s gr -% Polyline -n -8475 17250 m - -8475 17550 l gs col0 s gr -% Polyline -n -8475 18075 m - -8475 18375 l gs col0 s gr -% Polyline -n -6675 10875 m -6675 11850 l -6975 11850 l -6975 10875 l - cp gs col0 s gr -% Polyline -n -8400 1500 m -8400 2475 l -8700 2475 l -8700 1500 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --9150 1575 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8925 1575 m -gs 1 -1 sc 270.0 rot (Metadata) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8625 1575 m -gs 1 -1 sc 270.0 rot (1.3) col0 sh gr -% Polyline -n -10050 4950 m - -10050 5250 l gs col0 s gr -% Polyline -n -9600 1500 m -9600 2475 l -9900 2475 l -9900 1500 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --10350 1575 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9825 1575 m -gs 1 -1 sc 270.0 rot (1.4) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --10125 1575 m -gs 1 -1 sc 270.0 rot (Searching & Retrieving) col0 sh gr -% Polyline -n -9225 5550 m -9225 6075 l -9750 6075 l -9750 5550 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --9525 5700 m -gs 1 -1 sc 270.0 rot (M2) col0 sh gr -% Polyline -n -9600 7650 m -9600 9075 l -10425 9075 l -10425 7650 l - cp gs col0 s gr -% Polyline -n -9600 7650 m -9600 8625 l -9900 8625 l -9900 7650 l - cp gs col0 s gr -% Polyline -n -10050 9075 m - -10050 9375 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --9825 7725 m -gs 1 -1 sc 270.0 rot (3.2) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --10125 7725 m -gs 1 -1 sc 270.0 rot (Metadata) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --10350 7725 m -gs 1 -1 sc 270.0 rot (Modeling 3,0) col0 sh gr -% Polyline -n -10725 10875 m -10725 11850 l -11025 11850 l -11025 10875 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --11475 10950 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --11250 10950 m -gs 1 -1 sc 270.0 rot (Consultation Engine) col0 sh gr -% Polyline -n -9675 10875 m -9675 11850 l -9975 11850 l -9975 10875 l - cp gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --10425 10950 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9900 10950 m -gs 1 -1 sc 270.0 rot (3.2) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --10200 10950 m -gs 1 -1 sc 270.0 rot (Metadata Modeling) col0 sh gr -% Polyline -n -8700 10875 m -8700 11850 l -9000 11850 l -9000 10875 l - cp gs col0 s gr -% Polyline -n -9150 13200 m - -9150 13500 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --8925 10950 m -gs 1 -1 sc 270.0 rot (2.4) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9225 10950 m -gs 1 -1 sc 270.0 rot (Automatics Extraction of) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9450 10950 m -gs 1 -1 sc 270.0 rot (Metadata 6,0) col0 sh gr -% Polyline -n -6225 975 m - -6225 1200 l gs col0 s gr -% Polyline -n -1575 6300 m -1575 1200 l - -2850 1200 l gs col0 s gr -% Polyline -n -3300 2925 m - -3300 3225 l gs col0 s gr -% Polyline -n -4500 2925 m - -4500 3225 l gs col0 s gr -% Polyline -n -3300 1200 m - -3300 1500 l gs col0 s gr -% Polyline -n -4500 1200 m - -4500 1500 l gs col0 s gr -% Polyline -n -3900 3225 m - -3900 3525 l gs col0 s gr -% Polyline -n -2775 6450 m - -2775 6750 l gs col0 s gr -% Polyline -n -5025 6450 m - -5025 6750 l gs col0 s gr -% Polyline -n -2775 9075 m - -2775 9375 l gs col0 s gr -% Polyline -n -3900 9375 m - -3900 9675 l gs col0 s gr -% Polyline -n -3900 10200 m - -3900 10500 l gs col0 s gr -% Polyline -n -6225 1200 m - -6225 1500 l gs col0 s gr -% Polyline -n -3900 13200 m - -3900 13500 l gs col0 s gr -% Polyline -n -4575 10875 m -4575 11850 l -4875 11850 l -4875 10875 l - cp gs col0 s gr -% Polyline -n -5025 10575 m - -5025 10875 l gs col0 s gr -% Polyline -n -5850 9675 m -5850 10200 l -6375 10200 l -6375 9675 l - cp gs col0 s gr -% Polyline -n -2325 10875 m -2325 11850 l -2625 11850 l -2625 10875 l - cp gs col0 s gr -% Polyline -n -2775 13200 m - -2775 13500 l gs col0 s gr -% Polyline -n -6150 13200 m - -6150 13500 l gs col0 s gr -% Polyline -n -5025 13200 m - -5025 13500 l gs col0 s gr -% Polyline -n -7350 13800 m -7350 14325 l -7875 14325 l -7875 13800 l - cp gs col0 s gr -% Polyline -n -7650 14325 m - -7650 14625 l gs col0 s gr -% Polyline -n -8475 14625 m - -8475 14925 l gs col0 s gr -% Polyline -n -5700 14925 m -5700 15900 l -6000 15900 l -6000 14925 l - cp gs col0 s gr -% Polyline -n -7425 14625 m - -7425 14925 l gs col0 s gr -% Polyline -n -6225 16950 m - -6225 17250 l gs col0 s gr -% Polyline -n -8475 16950 m - -8475 17250 l gs col0 s gr -% Polyline -n -1200 7725 m -1200 8700 l -1500 8700 l -1500 7725 l - cp gs col0 s gr -% Polyline -n -1200 7725 m -1200 12750 l -2025 12750 l -2025 7725 l - cp gs col0 s gr -% Polyline -n -7425 16950 m - -7425 17250 l gs col0 s gr -% Polyline -n -3675 9675 m -3675 10200 l -4200 10200 l -4200 9675 l - cp gs col0 s gr -% Polyline -n -5700 21375 m -5700 21900 l -6225 21900 l -6225 21375 l - cp gs col0 s gr -% Polyline -n -9150 14925 m -9150 15900 l -9450 15900 l -9450 14925 l - cp gs col0 s gr -% Polyline -n -8025 14925 m -8025 15900 l -8325 15900 l -8325 14925 l - cp gs col0 s gr -% Polyline -n -9150 18675 m -9150 19650 l -9450 19650 l -9450 18675 l - cp gs col0 s gr -% Polyline -n -8025 18675 m -8025 19650 l -8325 19650 l -8325 18675 l - cp gs col0 s gr -% Polyline -n -75 7725 m -75 12750 l -900 12750 l -900 7725 l - cp gs col0 s gr -% Polyline -n -75 7725 m -75 8700 l -375 8700 l -375 7725 l - cp gs col0 s gr -% Polyline -n -10200 1200 m - -10200 1500 l gs col0 s gr -% Polyline -n -8700 1200 m - -8700 1500 l gs col0 s gr -% Polyline -n -10050 13200 m - -10050 13500 l gs col0 s gr -% Polyline -n -11100 13200 m - -11100 13500 l gs col0 s gr -% Polyline -n -11850 7650 m -11850 8625 l -12150 8625 l -12150 7650 l - cp gs col0 s gr -% Polyline -n -12300 7350 m - -12300 7650 l gs col0 s gr -% Polyline -n -9450 5250 m - -9450 5550 l gs col0 s gr -% Polyline -n -8850 4950 m - -8850 5250 l gs col0 s gr -% Polyline -n -8400 6750 m -8400 7725 l -8700 7725 l -8700 6750 l - cp gs col0 s gr -% Polyline -n -8775 9075 m - -8775 9375 l gs col0 s gr -% Polyline -n -8850 6450 m - -8850 6750 l gs col0 s gr -% Polyline -n -11850 1500 m -11850 2475 l -12150 2475 l -12150 1500 l - cp gs col0 s gr -% Polyline -n -12975 10875 m -12975 11850 l -13275 11850 l -13275 10875 l - cp gs col0 s gr -% Polyline -n -12300 13200 m - -12300 13500 l gs col0 s gr -% Polyline -n -13425 13200 m - -13425 13500 l gs col0 s gr -% Polyline -n -12000 5550 m -12000 6075 l -12525 6075 l -12525 5550 l - cp gs col0 s gr -% Polyline -n -9225 9675 m -9225 10200 l -9750 10200 l -9750 9675 l - cp gs col0 s gr -% Polyline -n -7725 10875 m -7725 11850 l -8025 11850 l -8025 10875 l - cp gs col0 s gr -% Polyline -n -5700 10875 m -5700 11850 l -6000 11850 l -6000 10875 l - cp gs col0 s gr -% Polyline -n -6975 3675 m -6975 4650 l -7275 4650 l -7275 3675 l - cp gs col0 s gr -% Polyline -n -6975 1575 m -6975 3000 l -7800 3000 l -7800 1575 l - cp gs col0 s gr -% Polyline -n -6975 1575 m -6975 2550 l -7275 2550 l -7275 1575 l - cp gs col0 s gr -% Polyline -n -3300 1200 m - -9375 1200 l gs col0 s gr -/Times-Roman-iso ff 180.00 scf sf --4800 10950 m -gs 1 -1 sc 270.0 rot (2.6) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --5325 10950 m -gs 1 -1 sc 270.0 rot (Proofs in NL 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --2850 10950 m -gs 1 -1 sc 270.0 rot (Stylesheets to intermediate) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3075 10950 m -gs 1 -1 sc 270.0 rot (Representation 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --2550 10950 m -gs 1 -1 sc 270.0 rot (2.2-2.3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --5100 10950 m -gs 1 -1 sc 270.0 rot (Automatic Generation of) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --6450 15000 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --6225 15000 m -gs 1 -1 sc 270.0 rot (Assisted Annotation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --1425 7800 m -gs 1 -1 sc 270.0 rot (0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --3975 9825 m -gs 1 -1 sc 270.0 rot (M4) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --6150 9825 m -gs 1 -1 sc 270.0 rot (M6) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --300 7800 m -gs 1 -1 sc 270.0 rot (0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --600 7800 m -gs 1 -1 sc 270.0 rot (Project Management.) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --825 7875 m -gs 1 -1 sc 270.0 rot (30,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --1950 7800 m -gs 1 -1 sc 270.0 rot (27,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8775 15000 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8775 18750 m -gs 1 -1 sc 270.0 rot (6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12375 7725 m -gs 1 -1 sc 270.0 rot (Architectural Design of the Distribution Model) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8625 6825 m -gs 1 -1 sc 270.0 rot (3.1) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --8925 6825 m -gs 1 -1 sc 270.0 rot (Metadata: use, meaning and ) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9150 6825 m -gs 1 -1 sc 270.0 rot (classification 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12600 1575 m -gs 1 -1 sc 270.0 rot (3,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12075 1575 m -gs 1 -1 sc 270.0 rot (1.5) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12375 1575 m -gs 1 -1 sc 270.0 rot (Distribution) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12600 7725 m -gs 1 -1 sc 270.0 rot ( 9,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --13725 10950 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --13500 10950 m -gs 1 -1 sc 270.0 rot (Prototype Implementation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --12300 5700 m -gs 1 -1 sc 270.0 rot (M3) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --9525 9825 m -gs 1 -1 sc 270.0 rot (M5) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --6450 10950 m -gs 1 -1 sc 270.0 rot ( 6,0) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --6225 10950 m -gs 1 -1 sc 270.0 rot (Assisted Annotation) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7500 3750 m -gs 1 -1 sc 270.0 rot (Latex-based authoring tool) col0 sh gr -/Times-Roman-iso ff 180.00 scf sf --7725 3825 m -gs 1 -1 sc 270.0 rot (9,0) col0 sh gr -$F2psEnd -rs - -%%EndDocument - @endspecial eop -%%Page: 31 31 -31 30 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(31)94 171 y Fg(9.7)112 b(Pro)6 b(ject)37 b(Managemen)m(t)94 -343 y Fl(The)28 b(Pro)5 b(ject)29 b(managemen)m(t)g(will)d(b)s(e)h -(assured)h(b)m(y)g(the)g(follo)m(wing)f(relev)-5 b(an)m(t)28 -b(roles:)39 b(a\))29 b(Pro)5 b(ject)29 b(Manager,)94 -456 y(b\))g(Exploitation)g(manager,)h(c\))g(W)-8 b(ork-pac)m(k)j(age)33 -b(Leaders)d(d\))f(T)-8 b(ec)m(hnical)29 b(Con)m(tributors)f(and)h(b)m -(y)h(the)g(fol-)94 569 y(lo)m(wing)k(Pro)5 b(ject)36 -b(Bo)s(dies:)50 b(a\))35 b(Pro)5 b(ject)36 b(Co)s(ordination)d -(Committee)j(\(PCC\),)f(b\))g(Pro)5 b(ject)36 b(Exploitation)94 -682 y(Board)31 b(and)e(c\))j(W)-8 b(ork-pac)m(k)j(age)33 -b(T)-8 b(eams.)94 795 y Fi(Pro)6 b(ject)38 b(Manager)32 -b Fl(The)g(mandate)h(of)f(the)h(Pro)5 b(ject)33 b(Manager)h(is)d(to)i -(represen)m(t)f(the)h(Pro)5 b(ject,)34 b(rep)s(ort)94 -907 y(to)28 b(the)f(Commission,)f(monitor)h(o)m(v)m(erall)h(p)s -(erformance)e(of)i(the)f(pro)5 b(ject,)29 b(ensure)d(accomplishmen)m(t) -h(of)g(the)94 1020 y(tec)m(hnical)40 b(ob)5 b(jectiv)m(es,)43 -b(promote)d(pro)5 b(ject)41 b(visibilit)m(y)-8 b(,)39 -b(promote)h(dissemination)e(of)i(pro)5 b(ject)40 b(results)f(in)94 -1133 y(the)d(relev)-5 b(an)m(t)36 b(in)m(ternational)e(forums,)i -(promote)g(acceptance)i(of)e(pro)5 b(ject)36 b(results,)f(administer)f -(pro)5 b(ject)94 1246 y(resources)30 b(and)g(monitor)g(pro)5 -b(ject)31 b(sp)s(ending.)94 1359 y Fi(Exploitation)j(Manager)d -Fl(S/he)f(will)d(b)s(e)i(resp)s(onsible)f(for)h(co)s(ordinating)g -(exploitation)h(activities)f(un-)94 1472 y(dertak)m(en)44 -b(b)m(y)g(the)g(Pro)5 b(ject)44 b(Exploitation)e(Board)i(\(PEB\))h(in)d -(close)i(co)s(op)s(eration)f(with)g(the)h(Pro)5 b(ject)94 -1585 y(Co)s(ordination)28 b(Committee)j(\(PCC\).)94 1698 -y Fi(W)-9 b(ork-pac)m(k)j(age)45 b(Leaders)37 b Fl(They)h(are)g(resp)s -(onsible)d(for)i(the)h(p)s(erformance)f(of)h(W)-8 b(ork-pac)m(k)j -(ages,)43 b(and)94 1811 y(they)31 b(m)m(ust)f(b)s(e)g(committed)g(to)h -(the)g(W)-8 b(ork-pac)m(k)j(age)33 b(for)d(at)i(least)e(\014v)m(e)h -(man)f(mon)m(ths)g(p)s(er)f(y)m(ear.)94 1924 y Fi(T)-9 -b(ec)m(hnical)38 b(Con)m(tributors)32 b Fl(T)-8 b(ec)m(hnical)32 -b(Con)m(tributors)f(are)i(sp)s(ecialised)d(sta\013)j(pro)m(vided)e(b)m -(y)h(the)g(part-)94 2037 y(ners.)39 b(They)26 b(could)g(b)s(e)g(either) -h(p)s(eople)f(activ)m(e)i(on)e(a)i(stable)e(basis)g(in)m(to)h(a)g(W)-8 -b(ork-pac)m(k)j(age,)31 b(or)c(p)s(eople)f(who)94 2149 -y(con)m(tribute)e(from)g(time)g(to)h(time)f(on)g(sp)s(eci\014c)f(tasks) -i(related)f(to)h(the)g(w)m(ork-plan)e(\(external)i(con)m(tributors\).) -94 2262 y Fi(Pro)6 b(ject)36 b(Co)s(ordination)f(Committee)28 -b Fl(The)i(PCC)g(is)g(c)m(haired)g(b)m(y)h(the)g(Pro)5 -b(ject)32 b(Manager)g(and)e(con-)94 2375 y(stituted)i(b)m(y)g(one)g -(represen)m(tativ)m(e)h(from)f(eac)m(h)h(P)m(artner,)g(and)e(is)h(the)g -(main)f(decision)f(b)s(o)s(dy)h(of)h(the)h(Con-)94 2488 -y(sortium.)k(It)25 b(is)f(in)f(c)m(harge)j(of)f(all)e(formal)h -(decisions)f(regarding)h(tec)m(hnical)g(direction)f(of)i(the)g(w)m -(ork,)h(prop)s(er)94 2601 y(in)m(terrelation)32 b(b)s(et)m(w)m(een)i(W) --8 b(ork-pac)m(k)j(ages,)38 b(relations)32 b(with)g(IST)h(O\016ce,)h(p) -s(olicies)e(for)h(promotion)g(of)g(re-)94 2714 y(sults,)c -(administrativ)m(e)f(arrangemen)m(ts.)41 b(In)29 b(view)g(of)h -(minimising)c(managemen)m(t)31 b(o)m(v)m(erhead)g(and)e(pro)5 -b(ject)94 2827 y(costs,)36 b(partners)d(pro)m(viding)e(the)j(Pro)5 -b(ject)35 b(Manager,)h(and)d(the)h(W)-8 b(ork-pac)m(k)j(ages)36 -b(Leaders)e(are)g(required)94 2940 y(to)f(app)s(oin)m(t)e(the)h(same)g -(p)s(erson)f(as)h(their)f(o\016cial)h(represen)m(tativ)m(e)h(in)d(the)j -(Pro)5 b(ject)32 b(Co)s(ordination)e(Com-)94 3053 y(mittee.)94 -3166 y Fi(Pro)6 b(ject)26 b(Exploitation)f(Board)e Fl(The)e(PEB)h(will) -e(b)s(e)h(c)m(haired)h(b)m(y)g(the)g(Pro)5 b(ject)23 -b(Exploitation)e(Manager,)94 3279 y(and)29 b(comp)s(osed)h(b)m(y)g(the) -g(Exploitation)f(Managers)i(of)f(eac)m(h)h(partner.)40 -b(It)30 b(will)d(monitor)j(the)g(state)h(of)f(the)94 -3391 y(art)25 b(in)d(the)j(domains)e(of)h(con)m(ten)m(t-based)i -(information)d(tec)m(hnologies,)j(W3C)f(activities,)g(W)-8 -b(eb)25 b(publishing,)94 3504 y(and)37 b(digital)f(libraries.)59 -b(It)38 b(will)d(b)s(e)i(resp)s(onsible)d(for)k(planning)d(the)i -(dissemination)e(and)i(exploitation)94 3617 y(strategies)31 -b(for)f(the)h(consortium,)f(to)h(b)s(e)f(appro)m(v)m(ed)g(b)m(y)g(the)h -(PCC.)94 3730 y Fi(W)-9 b(ork-pac)m(k)j(age)41 b(T)-9 -b(eams)34 b Fl(They)g(are)h(constituted)g(of)g(the)g(tec)m(hnical)f -(con)m(tributors.)53 b(Eac)m(h)35 b(team)h(will)94 3843 -y(b)s(e)e(c)m(haired)f(b)m(y)i(a)f(W)-8 b(ork-pac)m(k)j(age)38 -b(Leader,)d(and)f(it)g(will)d(b)s(e)j(in)f(c)m(harge)j(of)e(carrying)f -(out)i(the)f(tec)m(hnical)94 3956 y(w)m(ork)c(describ)s(ed)f(in)g -(Section)h(9.)94 4196 y Fi(9.7.1)105 b(Decision)37 b(Pro)s(cess)94 -4368 y Fl(Decisions)c(will)f(normally)g(b)s(e)i(tak)m(en)h(b)m(y)f -(seeking)g(consensus.)51 b(Ho)m(w)m(ev)m(er,)37 b(after)e(a)f -(reasonable)g(amoun)m(t)94 4481 y(of)k(time)f(has)g(b)s(een)g(allo)m(w) -m(ed)g(to)i(illustrate)c(and)i(defend)g(of)g(con\015icting)g(p)s -(ositions,)g(in)g(order)g(to)h(a)m(v)m(oid)94 4594 y(deadlo)s(c)m(k)d -(in)f(pro)5 b(ject)35 b(op)s(erational)f(progress,)j(the)e(appro)m(v)-5 -b(al)34 b(of)i(t)m(w)m(o-third)f(ma)5 b(jorit)m(y)35 -b(of)g(the)g(partners)94 4706 y(will)23 b(b)s(e)j(su\016cien)m(t.)38 -b(If)26 b(the)g(decision)f(b)s(eing)f(tak)m(en)j(is)e(unacceptable)h -(to)h(partners)e(found)g(in)g(the)h(minorit)m(y)94 4819 -y(p)s(ositions,)d(the)i(resolution)d(of)i(the)g(con\015ict)g(will)e(b)s -(e)h(elev)-5 b(ated)24 b(to)h(eac)m(h)g(partner's)f(higher)e(executiv)m -(e)j(lev)m(el.)94 4932 y(If)d(no)h(resolution)e(is)g(p)s(ossible,)h -(than)h(the)f(standard)g(\\red)h(\015ag")g(pro)s(cedure)e(will)f(b)s(e) -i(used,)i(as)f(a)f(last)h(resort.)94 5045 y(Either)29 -b(the)i(PCC)e(or)i(the)f(Pro)5 b(ject)31 b(Manager)h(can)f(initiate)e -(the)h(con\015ict)h(resolution)d(pro)s(cedure.)p eop -%%Page: 32 32 -32 31 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(32)94 171 y Fi(9.7.2)105 b(Information)34 b(Flo)m(w)94 -343 y Fl(Information)29 b(\015o)m(w)h(within)d(the)j(Pro)5 -b(ject)31 b(will)c(b)s(e)j(ensured)e(b)m(y)i(exc)m(hange)i(of)e(in)m -(ternal)e(tec)m(hnical)i(pap)s(ers,)94 456 y(noti\014cation)f(of)g -(relev)-5 b(an)m(t)30 b(new)f(publications)d(tec)m(hnologies)k(or)g -(standards,)e(and)h(rep)s(orts)g(from)f(external)94 569 -y(meetings.)60 b(All)36 b(tec)m(hnical)h(do)s(cumen)m(tation)f -(generated)i(b)m(y)f(the)g(pro)5 b(ject)37 b(should)e(b)s(e)i(exc)m -(hangeable)h(in)94 682 y(electronic)24 b(format,)i(according)e(to)g(a)h -(set)f(of)g(guidelines)d(to)k(b)s(e)e(agreed)i(at)g(pro)5 -b(ject)24 b(start-up.)38 b(The)24 b(pro)5 b(ject)94 795 -y(Manager)33 b(will)c(enforce)j(adherence)g(to)g(these)g(guidelines.)42 -b(Only)30 b(strictly)h(formal)g(corresp)s(ondence)g(will)94 -907 y(b)s(e)k(exc)m(hanged)h(b)m(y)f(ordinary)f(mail)g(and)g(telefax.) -56 b(Urgen)m(t)37 b(corresp)s(ondence)d(o)m(v)m(er)j(e-mail)e(will)d(b) -s(e)j(sen)m(t)94 1020 y(with)29 b(a)i(request)f(for)g(explicit)f(ac)m -(kno)m(wledgemen)m(t.)94 1133 y(The)40 b(Co)s(ordinating)e(P)m(artner)i -(will)e(b)s(e)h(resp)s(onsible)f(to)j(prepare)e(and)h(main)m(tain)f(a)i -(W)-8 b(eb)41 b(page)g(of)f(the)94 1246 y(pro)5 b(ject)43 -b(and)f(a)g(CVS)g(rep)s(ository)f(\(also)i(a)m(v)-5 b(ailable)42 -b(via)g(W)-8 b(eb\).)77 b(The)42 b(CVS)g(rep)s(ository)f(is)g(mean)m(t) -j(to)94 1359 y(k)m(eep)g(the)f(trace)i(of)e(the)h(o)m(v)m(erall)f -(progress)g(of)h(the)f(Pro)5 b(ject,)48 b(and)42 b(it)h(will)e(b)s(e)h -(used)h(b)m(y)g(the)g(PCC)g(to)94 1472 y(monitor)34 b(the)h(state)i(of) -e(adv)-5 b(ancemen)m(t)36 b(of)f(the)g(w)m(ork.)55 b(Eac)m(h)36 -b(partner)e(p)s(erio)s(dically)d(submit)i(rep)s(orts)i(to)94 -1585 y(the)27 b(prime)f(con)m(tractor,)k(listing)25 b(all)h(tec)m -(hnical)h(con)m(tributions,)g(publications,)e(meeting)j(attendance)g -(and)94 1698 y(other)j(information)d(whic)m(h)h(ma)m(y)i(help)e(in)g -(understanding)f(the)j(pro)m(vided)e(e\013ort)i(and)f(cost)h -(\014gures.)94 1811 y(The)g(Pro)5 b(ject)33 b(will)c(establish)h(a)i -(high)e(qualit)m(y)h(W)-8 b(eb)32 b(site)f(for)h(in)m(ternal)e(and)h -(external)h(comm)m(unications.)94 1924 y(It)h(will)c(b)s(e)j(op)s -(erational)g(as)h(from)f(one)h(mon)m(th)f(of)h(the)g(commencemen)m(t)h -(date)f(and)f(will)e(b)s(e)i(main)m(tained)94 2037 y(during)19 -b(the)j(pro)5 b(ject)23 b(duration.)36 b(The)21 b(\\mem)m(b)s(ers)h -(only")f(area)i(will)c(include)g(e.g.)39 b(all)21 b(priv)-5 -b(ate)21 b(deliv)m(erables,)94 2149 y(progress)i(and)f(managemen)m(t)j -(rep)s(orts,)f(and)f(cost)h(statemen)m(ts.)40 b(The)23 -b(op)s(en)f(area)i(will)d(include)g(the)i(pro)5 b(ject)94 -2262 y(presen)m(tation)24 b(as)g(de\014ned)f(in)f(App)s(endix)g(2)i(of) -g(the)g(\\Guidelines)e(for)h(Con)m(tract)j(Preparation")d(do)s(cumen)m -(t,)94 2375 y(all)37 b(public)f(deliv)m(erables,)j(and)e(an)m(y)i -(relev)-5 b(an)m(t)38 b(information)f(suggested)i(b)m(y)f(the)h(Pro)5 -b(ject)39 b(Exploitation)94 2488 y(Board.)94 2728 y Fi(9.7.3)105 -b(Qualit)m(y)35 b(Pro)s(cedures)94 2900 y Fl(F)-8 b(or)41 -b(all)e(deliv)m(erables,)j(the)e(follo)m(wing)f(review)h(pro)s(cedure)f -(will)f(b)s(e)i(adopted:)61 b(release)40 b(b)m(y)h(the)f(W)-8 -b(ork-)94 3013 y(P)m(ac)m(k)j(age)43 b(Leader,)g(t)m(w)m(o-w)m(eek)f -(review)e(p)s(erio)s(d)d(for)j(commen)m(ts)h(b)m(y)f(the)g(PCC,)g(t)m -(w)m(o-w)m(eek)i(amendmen)m(t)94 3126 y(p)s(erio)s(d)31 -b(to)k(incorp)s(orate)e(PCC)g(recommendations,)h(one-w)m(eek)h -(balloting)d(p)s(erio)s(d)g(for)h(appro)m(v)-5 b(al)34 -b(b)m(y)f(the)94 3239 y(PCC.)94 3479 y Fi(9.7.4)105 b(Con\014den)m -(tialit)m(y)35 b(and)g(IPR)g(handling)94 3650 y Fl(Matters)25 -b(related)e(to)h(Con\014den)m(tialit)m(y)d(and)i(IPR)g(handling)d(will) -h(b)s(e)i(de\014ned)f(in)g(the)h(\\Consortium)f(Agree-)94 -3763 y(men)m(t".)59 b(As)37 b(regards)f(literature)f(pap)s(ers)g -(originated)h(from)g(w)m(ork)g(in)f(the)h(Pro)5 b(ject,)39 -b(there)e(will)c(b)s(e)j(t)m(w)m(o)94 3876 y(categories)c(of)e(pap)s -(ers:)205 4064 y(1.)46 b(Pro)5 b(ject)31 b(Endorsed)e(Publications,)g -(requiring)f(noti\014cation)h(and)h(appro)m(v)-5 b(al)30 -b(b)m(y)g(the)h(PCC.)205 4251 y(2.)46 b(Pro)5 b(ject-related)29 -b(publications,)d(only)h(requiring)f(noti\014cation)h(to)i(the)f(PCC.)f -(They)g(m)m(ust)h(con)m(tain)321 4364 y(an)f(ac)m(kno)m(wledgemen)m(t)h -(of)e(supp)s(ort)f(b)m(y)h(the)h(pro)5 b(ject)27 b(Consortium)d(and,)j -(if)f(required)e(b)m(y)i(the)h(PCC,)321 4477 y(a)k(disclaimer)d(that)j -(the)g(views)e(are)i(not)f(necessarily)g(those)h(of)f(the)h -(Consortium.)94 4665 y(Concerning)37 b(p)s(ossible)f(con)m(tributions)g -(to)j(Standards,)g(they)f(will)e(b)s(e)h(directly)g(submitted)g(b)m(y)h -(pro)5 b(ject)94 4778 y(mem)m(b)s(ers.)94 5064 y Fj(10)135 -b(Clustering)94 5267 y Fl(Not)31 b(applicable.)p eop -%%Page: 33 33 -33 32 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(33)94 171 y Fj(11)135 b(Other)45 b(con)l(tractual)h(conditions)94 -378 y Fg(11.1)112 b(Other)38 b(signi\014can)m(t)e(pro)6 -b(ject)38 b(costs)94 549 y Fl(One)e(category)j(of)e(other)g -(signi\014can)m(t)f(pro)5 b(ject)37 b(costs)g(is)f(due)g(to)i(\\audit)e -(certi\014cates")i(for)e(INRIA)h(and)94 662 y(DFKI.)235 -775 y(UNIBO)26 b(\(co)s(ordinator\))f(requires)f(11.25Keuro)j(to)f(co)m -(v)m(er)h(the)e(mem)m(b)s(ership)e(fee)j(to)g(the)f(W)-8 -b(orld)25 b(Wide)94 888 y(W)-8 b(eb)28 b(Consortium)e(\(5000)k(dollars) -c(p)s(er)h(y)m(ear\))h(for)g(the)g(duration)e(of)i(the)g(Pro)5 -b(ject.)40 b(W)-8 b(e)29 b(recall)e(that)h(mem-)94 1001 -y(b)s(ership)e(is)i(required)g(in)f(order)i(to)h(participate)e(to)i -(some)g(activities)e(and)h(W)-8 b(orking)29 b(Groups)f(of)h(strategic) -94 1114 y(relev)-5 b(ance)26 b(for)g(MO)m(W)m(GLI,)h(suc)m(h)f(as)g -(the)g(MathML)h(or)f(RDF)g(W)m(G's.)41 b(Establishing)23 -b(a)j(tigh)m(t)h(co)s(op)s(eration)94 1227 y(with)32 -b(the)i(W)-8 b(orld)33 b(Wide)g(W)-8 b(eb)35 b(Consortium)d(is)g(moreo) -m(v)m(er)j(a)f(crucial)f(p)s(oin)m(t)f(of)i(our)f(dissemination)e(and) -94 1340 y(exploitation)f(plan.)235 1452 y(Finally)-8 -b(,)29 b(a)i(small)e(amoun)m(t)i(of)f(money)h(is)e(required)g(to)i(co)m -(v)m(er)h(conference)f(fees.)94 1696 y Fg(11.2)112 b(T)-9 -b(ra)m(v)m(el)37 b(costs)g(outside)g(MS/AS)94 1867 y -Fl(Some)26 b(tra)m(v)m(els)g(outside)g(MS/AS)f(will)e(b)s(e)j(p)s -(ossibly)d(required)h(for)h(dissemination)e(purp)s(oses.)38 -b(This)24 b(co)m(v)m(ers)94 1980 y(b)s(oth)j(the)g(participation)f(to)i -(In)m(ternational)f(Conferences)g(outside)g(Europ)s(e)f(to)i(presen)m -(t)g(scien)m(ti\014c)e(w)m(orks)94 2093 y(related)j(to)h(the)g(Pro)5 -b(ject,)31 b(participation)c(to)j(relev)-5 b(an)m(t)30 -b(In)m(ternational)f(Meetings)h(\(suc)m(h)f(as)h(A)m(C)f(meetings)94 -2206 y(of)g(the)f(W3C\),)i(and)e(p)s(ossibly)d(tra)m(v)m(els)30 -b(aimed)d(to)j(establish)d(co)s(op)s(erations)h(with)f(other)i(related) -f(pro)5 b(jects)94 2319 y(outside)21 b(MS/AS.)g(F)-8 -b(or)22 b(ob)m(vious)f(reasons,)i(a)f(detailed)f(list)f(of)h(these)h -(tra)m(v)m(els)g(cannot)g(b)s(e)f(presen)m(tly)f(de\014ned,)94 -2432 y(and)30 b(the)g(cost)i(\014gures)d(in)g(the)i(CPF's)f(are)h -(purely)e(indicativ)m(e.)p eop -%%Page: 34 34 -34 33 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(34)94 171 y Fj(References)139 374 y Fl([1])47 b(Comm)m(unication) -29 b(of)h(the)h(A)m(CM.)g(Sp)s(ecial)e(Issue)h(on)g(Digital)g -(Libraries.)e(April)g(1998.)139 562 y([2])47 b Fd(Digital)28 -b(Libr)-5 b(aries)29 b(in)g(Computer)g(Scienc)-5 b(e:)40 -b(the)28 b(MeDo)-5 b(c)28 b(Appr)-5 b(o)g(ach)p Fl(.)29 -b(Lecture)d(Notes)h(in)d(Computer)281 675 y(Science)30 -b(1392,)i(Springer)d(V)-8 b(erlag.)31 b(1998.)139 862 -y([3])47 b(Tim)110 b(Berner's)h(Lee.)h Fd(The)c(Semantic)g(Web)p -Fl(.)j(W3C)g(Arc)m(hitecture)h(Note,)133 b(1998.)281 -975 y Fb(http://www.w3.org/Design)o(Iss)o(ues/)o(Sema)o(nti)o(c.ht)o -(ml)139 1163 y Fl([4])47 b(Common)36 b(Criteria)f(for)i(Information)e -(T)-8 b(ec)m(hnology)38 b(Securit)m(y)e(Ev)-5 b(aluation.)35 -b(P)m(art)j(1,2,)h(3.)f(August)281 1276 y(1999,)32 b(V)-8 -b(ersion)30 b(2.1,)i(CCIMB-99-031.)139 1463 y([5])47 -b(The)30 b(Dublin)d(Core)k(Metadata)i(Inititiativ)m(e.)c -Fb(http://purl.org/dc/)139 1651 y Fl([6])47 b(C.LaGuardia,)37 -b(B.A.Mitc)m(hell)f(eds.)g Fd(Finding)i(Common)i(Gr)-5 -b(ound:)54 b(Cr)-5 b(e)g(ating)39 b(the)f(Libr)-5 b(ary)39 -b(of)f(the)281 1764 y(F)-7 b(utur)i(e)26 b(without)i(Diminishing)e(the) -g(Libr)-5 b(ary)27 b(of)f(the)h(Past)p Fl(.)c(New)h(Y)-8 -b(ork:)37 b(Neal-Sc)m(h)m(uman)24 b(Publishers,)281 1877 -y(Inc.1998.)139 2065 y([7])47 b(Goldfarb)30 b(and)g(Presco)s(d.)h -Fd(The)i(XML)f(Handb)-5 b(o)g(ok)p Fl(.)34 b(The)c(C.F.Goldfarb)g -(Series)g(on)h(Op)s(en)f(Informa-)281 2177 y(tion)g(Managemen)m(t.)i -(Pren)m(tice)f(Hall.)f(1998.)139 2365 y([8])47 b(G.)31 -b(Huet,)g(G.)g(Plotkin)e(\(eds\).)i Fd(L)-5 b(o)g(gic)g(al)34 -b(F)-7 b(r)i(ameworks)p Fl(.)33 b(Cam)m(bridge)d(Univ)m(ersit)m(y)f -(Press.)i(1991.)139 2553 y([9])47 b(G.)31 b(Huet,)g(G.)g(Plotkin)e -(\(eds\).)i Fd(L)-5 b(o)g(gic)g(al)34 b(Envir)-5 b(onments)p -Fl(.)32 b(Cam)m(bridge)d(Univ)m(ersit)m(y)h(Press.)g(1993.)94 -2740 y([10])47 b(M.Lev)m(en)m(thal,)114 b(D.Lewis,)g(M.F)-8 -b(uc)m(hs.)98 b Fd(Designing)92 b(XML)h(Internet)h(Applic)-5 -b(ations)p Fl(.)99 b(The)281 2853 y(C.F.Goldfarb)55 b(Series)g(on)h(Op) -s(en)f(Information)f(Managemen)m(t.)59 b(Pren)m(tice)d(Hall,)62 -b(ISBN)55 b(0-13-)281 2966 y(616822-1.)34 b(1998.)94 -3154 y([11])47 b(Mathematical)35 b(Markup)f(Language)h(\(MathML\))h(V) --8 b(ersion)34 b(2.0.)h(W3C)g(Prop)s(osed)f(Recommenda-)281 -3267 y(tion,)c(Jan)m(uary)g(2001.)i Fb(http://www.w3.org/TR/2001/)o -(PR-)o(Math)o(ML2-)o(200)o(1010)o(8/)94 3454 y Fl([12])47 -b(Megginson.)p Fd(Structuring)34 b(XML)f(Do)-5 b(cuments)p -Fl(.)32 b(The)f(C.F.Goldfarb)g(Series)f(on)h(Op)s(en)f(Information)281 -3567 y(Managemen)m(t.)j(Pren)m(tice)d(Hall.)g(1998.)94 -3755 y([13])47 b(E.)38 b(Maler,)j(J.)d(El)f(Andaloussi.)f -Fd(Developing)k(SGML)g(DTD's.)f(F)-7 b(r)i(om)42 b(text)e(to)g(mo)-5 -b(del)42 b(to)e(markup)p Fl(.)281 3868 y(Pren)m(tice)30 -b(Hall,)g(ISBN)g(0-13-309881-8,)36 b(1996.)94 4055 y([14])47 -b(OMDo)s(c:)387 b(A)203 b(Standard)f(for)h(Op)s(en)e(Mathematical)k(Do) -s(cumen)m(ts.)281 4168 y Fb(http://www.mathweb.org/o)o(mdo)o(c/)94 -4356 y Fl([15])47 b(The)30 b(Op)s(enMath)f(So)s(ciet)m(y)-8 -b(.)32 b Fb(http://www.nag.co.uk/pr)o(ojec)o(ts/)o(open)o(math)o(/om)o -(soc/)94 4544 y Fl([16])47 b(Resource)31 b(Description)e(F)-8 -b(ramew)m(ork)32 b(\(RDF\))f Fb(http://www.w3.org/RDF/)94 -4731 y Fl([17])47 b(XML)30 b(Linking)f(Language)i(\(XLink\).)f -Fb(http://www.w3.org/XML/Li)o(nkin)o(g)p Fl(.)94 4919 -y([18])47 b(XSL)39 b(T)-8 b(ransformations)39 b(\(XSL)-8 -b(T\))40 b(V)-8 b(ersion)39 b(1.0.)j(W3C)e(Recommendation)g(16)g(No)m -(v)m(em)m(b)s(er)h(1999.)281 5032 y Fb(http://www.w3.org/TR/xsl)o(t)p -eop -%%Page: 35 35 -35 34 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(35)94 171 y Fj(A)134 b(Consortium)46 b(Description)94 -374 y Fl(The)30 b(Consortium)f(is)g(comp)s(osed)h(of)h(the)f(follo)m -(wing)f(partners:)230 562 y Fe(\017)46 b Fl(Univ)m(ersit)m(y)20 -b(of)g(Bologna)h(\(Italy\),)i(Departmen)m(t)f(of)e(Computer)g(Science)g -Fb(http://www.cs.unibo.it)p Fl(.)321 675 y(Resp)s(onsible:)38 -b(A.Asp)s(erti.)230 862 y Fe(\017)46 b Fl(INRIA)31 b(Ro)s(cquencourt)f -(\(F)-8 b(rance\))32 b Fb(http://www.inria.fr)p Fl(.)j(Resp)s(onsible:) -k(H.Herb)s(elin.)230 1050 y Fe(\017)46 b Fl(German)34 -b(Researc)m(h)h(Cen)m(ter)f(for)f(Arti\014cial)f(In)m(telligence)h(Gm)m -(bH,)h(DFKI)g(\(German)m(y\).)52 b(Resp)s(on-)321 1163 -y(sible:)39 b(M.Kohlhase.)230 1351 y Fe(\017)46 b Fl(Katholiek)m(e)28 -b(Univ)m(ersiteit)e(Nijmegen,)i(\(The)f(Netherlands\))g -Fb(http://www.cs.kun.nl)p Fl(.)34 b(Resp)s(on-)321 1463 -y(sible:)39 b(H.Geuv)m(ers.)230 1651 y Fe(\017)46 b Fl(Max)31 -b(Planc)m(k)g(Institute)e(for)h(Gra)m(vitational)h(Ph)m(ysics)e(\(Alb)s -(ert)h(Einstein)e(Institute/AEI\).)321 1764 y Fb(http://www.aei.mpg.de) -p Fl(.)35 b(Resp)s(onsible:)j(B.F.Sc)m(h)m(utz.)230 1952 -y Fe(\017)46 b Fl(T)-8 b(rusted)30 b(Logic)h(\(F)-8 b(rance\))32 -b Fb(http://www.trusted-logi)o(c.fr)o Fl(.)j(Resp)s(onsible:)j -(D.Bolignano.)235 2139 y(The)h(Consortium)e(has)i(b)s(een)f(built)f -(with)h(the)h(aim)f(to)i(join)e(some)i(essen)m(tial)e(kno)m(who)m(w)i -(in)d(di\013er-)94 2252 y(en)m(t)j(areas)g(of)f(I.T.)g(related)g(to)h -(the)f(creation)h(and)e(main)m(tenance)i(of)f(a)h(digital)d(library)g -(of)i(structured)94 2365 y(mathematical)31 b(kno)m(wledge.)235 -2478 y(As)41 b(describ)s(ed)e(in)h(the)h(T)-8 b(ec)m(hnical)41 -b(Annex,)i(MO)m(W)m(GLI)g(is)d(mean)m(t)i(to)g(dev)m(elop)f(the)g(tec)m -(hnological)94 2591 y(infrastructure)18 b(required)h(to)i(in)m(tegrate) -h(existing)d(Markup)h(languages)h(and)e(standards)h(suc)m(h)g(as)g -(MathML,)94 2704 y(Op)s(enMath)36 b(or)h(OMDo)s(c,)i(co)m(v)m(ering)f -(di\013eren)m(t)e(asp)s(ects)h(of)g(mathematical)g(in)m(telligence,)g -(in)m(to)g(a)g(single)94 2817 y(application.)g(Exp)s(ertise)23 -b(on)h(these)h(languages)f(and)g(the)h(related)f(tec)m(hnologies)h(is)e -(resp)s(ectiv)m(ely)h(pro)m(vided)94 2930 y(b)m(y)30 -b(the)h(follo)m(wing)e(partners:)94 3117 y Fi(MathML)45 -b Fl(Departmen)m(t)40 b(of)f(Computer)f(Science,)j(Univ)m(ersit)m(y)d -(of)h(Bologna,)j(mem)m(b)s(er)c(of)h(the)g(W)-8 b(orld)321 -3230 y(Wide)35 b(W)-8 b(eb)37 b(Consortium)d(and)h(of)g(the)h(W3C)g(W) --8 b(orking)36 b(Group)f(on)g(MathML;)i(Lemme-Pro)5 b(ject)321 -3343 y(at)31 b(INRIA)g(Sophia-An)m(tip)s(olis.)94 3531 -y Fi(Op)s(enMath)45 b Fl(Univ)m(ersit)m(y)25 b(of)i(Eindho)m(v)m(en)e -(\(sub-site)h(of)h(Nijmegen\):)39 b(Professor)26 b(Arjeh)g(Cohen)g(is)f -(one)i(of)321 3644 y(the)f(leaders)g(of)g(the)g(Op)s(enMath)f -(initiativ)m(e,)g(and)g(MO)m(W)m(GLI)i(is)e(exp)s(ected)i(to)f(tak)m(e) -h(the)g(maxim)m(um)321 3757 y(pro\014t)j(from)g(the)g(successful)g(Op)s -(enMath)f(Esprit)g(pro)5 b(ject,)31 b(no.24969.)94 3944 -y Fi(OMDo)s(c)46 b Fl(DFKI.)22 b(Dr.Mic)m(hael)f(Kohlhase)g(is)f(the)i -(main)e(auh)m(tor)i(of)f(OMDo)s(c;)k(DFKI)d(has)f(a)h(long)f(researc)m -(h)321 4057 y(tradition)j(in)f(the)i(managemen)m(t)h(of)f(mathematical) -g(kno)m(wledge)g(bases,)h(metadata,)h(searc)m(hing)e(and)321 -4170 y(retriev)-5 b(al)30 b(issues.)94 4358 y(More)41 -b(generally)-8 b(,)42 b(the)f(Departmen)m(t)g(of)g(Computer)e(Science)h -(in)f(Bologna)i(has)f(a)g(long)g(exp)s(erience)g(in)94 -4471 y(XML-related)f(tec)m(hnology)-8 b(,)43 b(and)38 -b(in)g(particular)f(in)h(their)g(application)f(to)i(the)g(particular)f -(domain)f(of)94 4583 y(mathematical)f(dev)m(elopmen)m(ts,)h(as)e -(testi\014ed)g(b)m(y)h(the)f(\\Hyp)s(ertextual)g(Electronic)g(Library)f -(of)h(Mathe-)94 4696 y(matics")k(\(HELM\))g(Pro)5 b(ject)40 -b(\()p Fb(http://www.cs.unibo.it/h)o(elm)p Fl(\).)59 -b(A)38 b(main)g(comp)s(onen)m(t)h(of)f(HELM)94 4809 y(is)g(the)i -(GtkMathView)g(widget)f(\()p Fb(http://www.cs.unibo.it/he)o(lm/m)o -(ml-w)o(idg)o(et/i)o(ndex)o(.ht)o(ml)p Fl(\),)d(a)94 -4922 y(C++)29 b(rendering)f(engine)h(for)h(MathML)g(that)h(will)c(b)s -(e)i(distributed)e(as)j(an)g(o\016cial)f(pac)m(k)-5 b(age)32 -b(of)e(the)g(next)94 5035 y(Debian)g(release)h(of)f(Lin)m(ux.)235 -5148 y(Similarly)-8 b(,)22 b(the)h(Lemme)g(Pro)5 b(ject)24 -b(in)d(Sophia-An)m(tip)s(olis)f(has)i(a)i(large)f(exp)s(erience)f(of)h -(edition)f(of)h(math-)94 5261 y(ematical)32 b(ob)5 b(jects.)47 -b(It)32 b(dev)m(elops)g(the)g(graphical)f(en)m(vironmen)m(t)h(Pco)s(q,) -h(dedicated)f(to)h(the)f(dev)m(elopmen)m(t)94 5374 y(of)39 -b(mathematical)g(pro)s(ofs,)g(using)e(the)i(Co)s(q)f(pro)s(of)g -(assistan)m(t.)66 b(Among)38 b(man)m(y)h(features,)i(Pco)s(q)e(has)f(a) -p eop -%%Page: 36 36 -36 35 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(36)94 171 y(sophisticated)30 b(t)m(w)m(o)i(dimensional)c(form)m -(ula)j(and)f(natural)g(language)h(pro)s(of)f(edition)g(comp)s(onen)m -(t,)i(allo)m(w-)94 284 y(ing)i(in)m(tuitiv)m(e)f(and)h(p)s(o)m(w)m -(erful)g(in)m(teractions.)53 b(Built)34 b(on)g(the)h(Figue)g(en)m -(vironmen)m(t,)g(Pco)s(q)g(can)g(b)s(e)f(made)94 397 -y(compatible)k(with)g(MathML.)i(The)e(Pco)s(q)h(in)m(terface)h(is)e(in) -m(tensiv)m(ely)f(used)h(b)m(y)h(teams)h(whose)f(researc)m(h)94 -510 y(activit)m(y)31 b(concerns)f(the)h(certi\014cation)f(of)h -(mathematical)f(algorithms.)235 623 y(DFKI)36 b(will)d(con)m(tribute)j -(requiremen)m(ts)f(and)g(metadata)i(from)f(the)g(viewp)s(oin)m(t)e(of)i -(educational)f(ap-)94 736 y(plications)27 b(including)f(searc)m(h)j -(functionalities.)38 b(It)29 b(will)d(activ)m(ely)k(w)m(ork)f(on)g -(presen)m(tational)f(transforma-)94 849 y(tions,)37 b(the)e(generation) -h(of)g(pro)s(ofs)f(in)f(natural)h(language)h(as)g(w)m(ell)e(as)i(on)f -(kno)m(wledge)h(bases)g(for)f(math-)94 962 y(ematical)43 -b(kno)m(wledge)h(DFKI)f(in)m(tends)f(to)i(exploit)e(the)h(results)f(of) -h(the)h(MO)m(W)m(GLI)g(pro)5 b(ject)44 b(in)e(pilot)94 -1075 y(applications)33 b(in)g(curren)m(t)h(and)f(planned)g(researc)m(h) -i(and)f(in)f(pro)5 b(jects)34 b(for)g(the)h(protot)m(ypical)f -(implemen-)94 1187 y(tation)h(of)g(in)m(telligen)m(t)e(en)m(vironmen)m -(ts)h(for)h(learning)e(of)h(mathematics.)54 b(In)34 b(particular,)h -(the)f(kno)m(wledge)94 1300 y(represen)m(tation)26 b(for)h(mathematics) -f(on)h(the)f(W)-8 b(eb)27 b(is)f(imp)s(ortan)m(t)f(for)i(suc)m(h)f(W)-8 -b(eb-based)27 b(systems.)39 b(Kno)m(wl-)94 1413 y(edge)c(bases)f(that)h -(pro)m(vide)e(a)i(common)f(rep)s(ository)f(and)h(on)m(tology)h(for)f -(mathematical)h(kno)m(wledge)f(are)94 1526 y(indisp)s(ensible)26 -b(in)31 b(systems)g(that)h(in)m(tegrate)h(v)-5 b(arious)31 -b(systems)h(w)m(orking)f(on)g(mathematical)h(kno)m(wledge.)94 -1639 y(DFKI)37 b(also)g(has)g(a)g(\014erce)g(in)m(terest)h(in)d -(pushing)g(and)h(lev)m(eraging)h(the)g(qualit)m(y)g(of)g -(standardisation)e(ef-)94 1752 y(forts)h(within)d(the)j(w)m(orldwide)e -(initiativ)m(e)g(of)i(the)g(Seman)m(tic)g(W)-8 b(eb)37 -b(education)e(systems)h(and)f(electronic)94 1865 y(publishing.)235 -1978 y(In)28 b(order)g(to)h(immediately)e(disp)s(ose)f(of)j(a)g(large)f -(rep)s(ository)g(of)g(structured)g(mathematical)g(informa-)94 -2091 y(tion,)39 b(the)f(consortium)f(comprises)g(the)h(dev)m(elop)s -(ers)f(of)h(one)g(of)g(the)f(most)i(successful)d(pro)s(of)h(assistan)m -(t)94 2204 y(to)s(ols)21 b(curren)m(tly)f(a)m(v)-5 b(ailable:)36 -b(the)21 b(Co)s(q)g(pro)s(of)f(engine)h(\()p Fb -(http://pauillac.inria.fr/)o(coq/)o Fl(\))16 b(of)21 -b(INRIA-)94 2317 y(Ro)s(cquencourt.)40 b(The)28 b(Co)s(q)f(standard)h -(library)e(includes)f(more)k(than)f(thousand)f(lemmas)h(and)f(theorems) -94 2429 y(and)h(the)i(whole)e(n)m(um)m(b)s(er)f(of)j(statemen)m(ts)g -(pro)m(v)m(ed)g(b)m(y)e(users)h(is)f(ev)-5 b(aluated)29 -b(to)g(h)m(undred)e(thousands,)i(co)m(v-)94 2542 y(ering)f -(arithmetics,)h(algebra,)g(analysis)f(and)g(computer)h(science.)40 -b(W)-8 b(e)30 b(exp)s(ect)g(to)f(in)m(tegrate)h(the)g(curren)m(t)94 -2655 y(di\013eren)m(t)36 b(w)m(a)m(ys)i(of)f(bro)m(wsing,)g(searc)m -(hing)g(and)f(rendering)f(Co)s(q)i(mathematical)g(dev)m(elopmen)m(ts)g -(in)m(to)g(a)94 2768 y(coheren)m(t)31 b(and)f(W)-8 b(eb-orien)m(ted)32 -b(arc)m(hitecture)f(op)s(en)e(to)i(the)g(Co)s(q)f(user)g(comm)m(unit)m -(y)g(and)f(b)s(ey)m(ond.)235 2881 y(An)22 b(alternativ)m(e)h(route)g -(for)g(the)g(creation)g(of)f(con)m(ten)m(t-based)j(mathematical)e -(information)e(from)h(stan-)94 2994 y(dard)i(digital)g(rep)s(ositories) -f(b)m(y)i(means)h(of)f(a)g(suitable)f(L)1978 2977 y Ff(A)2017 -2994 y Fl(T)2068 3014 y(E)2118 2994 y(X-based)i(authoring)e(system)h -(will)e(b)s(e)h(explored)94 3107 y(b)m(y)29 b(the)h(Alb)s(ert)e -(Einstein)f(Institute)i(\(AEI\))h(in)e(Golm)h(\(German)m(y\).)41 -b(AEI)29 b(publishes)d(a)k(solely)e(electronic)94 3220 -y(review)36 b(journal,)h Fd(Living)h(R)-5 b(eviews)39 -b(in)g(R)-5 b(elativity)38 b Fl(on)e(the)h(W)-8 b(eb,)40 -b(whic)m(h)35 b(pro)m(vides)h(refereed,)j(regularly)94 -3333 y(up)s(dated)27 b(review)g(articles)h(on)g(all)g(areas)h(of)f(gra) -m(vitational)g(ph)m(ysics.)39 b(Since)28 b(its)f(release)i(in)e(Jan)m -(uary)h(1998)94 3446 y(the)i(journal)e(has)h(b)s(ecome)h(a)f(primary)f -(en)m(try)i(p)s(oin)m(t)e(for)h(studen)m(ts,)h(lecturers)f(and)f -(researc)m(hers)i(alik)m(e)g(for)94 3559 y(up-to-date)f(information)d -(on)i(the)g(curren)m(t)g(status)h(of)f(researc)m(h)g(in)f(gra)m -(vitational)h(ph)m(ysics.)39 b(Mo)m(ving)28 b(this)94 -3671 y(unique)d(rep)s(ository)i(and)g(comm)m(unication)g(forum)f(of)i -(curren)m(t)f(ph)m(ysical)f(and)h(mathematical)g(kno)m(wledge)94 -3784 y(in)32 b(relativit)m(y)h(to)h(con)m(ten)m(t)i(mark-up,)d(making)g -(it)g(a)m(v)-5 b(ailable)33 b(for)g(seman)m(tic)h(searc)m(h,)h(and)e -(for)g(re-use)h(and)94 3897 y(ev)-5 b(aluation)30 b(e.g.)44 -b(in)30 b(math)h(algebra)g(systems)g(motiv)-5 b(ates)32 -b(the)f(in)m(v)m(olv)m(emen)m(t)g(in)f(the)h(MO)m(W)m(GLI)i(pro)5 -b(ject.)94 4010 y(The)31 b(journal)g(will)e(dev)m(elop)j(a)g(L)1199 -3993 y Ff(A)1238 4010 y Fl(T)1289 4030 y(E)1339 4010 -y(X)g(based)g(authoring)e(to)s(ol)i(in)m(terfacing)f(with)g(MO)m(W)m -(GLI,)i(and)f(serv)m(e)94 4123 y(as)39 b(a)h(sho)m(w)m(case)g(to)g -(demonstrate)f(ho)m(w)g(con)m(ten)m(t-mark-up)i(in)c(mathematics)j -(impro)m(v)m(es)e(the)i(usabilit)m(y)94 4236 y(and)30 -b(information)e(depth)i(of)h(electronic)f(science)g(journals.)235 -4349 y(The)40 b(AEI)g(will)e(b)s(e)h(supp)s(orted)g(b)m(y)h(the)h -(newly)e(founded)f(Cen)m(ter)j(for)f(Information)f(Managemen)m(t)94 -4462 y(\(CIM\))44 b(of)g(the)g(Max)g(Planc)m(k)g(So)s(ciet)m(y)-8 -b(.)81 b(The)43 b(CIM)h(has)f(b)s(een)g(set)i(up)d(b)m(y)i(the)g(So)s -(ciet)m(y)g(to)g(supp)s(ort)94 4575 y(researc)m(hers)31 -b(and)f(researc)m(h)i(pro)s(cesses)e(in)g(the)h(area)g(of)g -(information)e(managemen)m(t.)43 b(The)31 b(ob)5 b(jectiv)m(es)31 -b(of)94 4688 y(the)h(pro)5 b(ject)32 b(include)d(co)s(ordination)h(of)h -(existing)g(activities)g(within)e(the)i(So)s(ciet)m(y)h(and)f(implemen) -m(tation)94 4801 y(of)40 b(a)h(strategy)g(to)g(dev)m(elop)f(electronic) -g(researc)m(h)g(arc)m(hiv)m(es.)70 b(The)40 b(curren)m(t)g(Managing)g -(Editor)f(of)h(the)94 4913 y(AEI's)26 b(electronic)g(journal)f(Living)f -(Reviews)i(in)f(Relativit)m(y)h(has)g(b)s(een)f(app)s(oin)m(ted)g -(executiv)m(e)i(director)f(of)94 5026 y(the)g(CIM)f(\(starting)g(from)g -(1)h(Sep)e(2001\))k(and)c(will)f(b)s(e)i(in)f(c)m(harge)i(of)g(the)f -(pro)5 b(ject)26 b(managemen)m(t)h(for)e(T)-8 b(asks)94 -5139 y(4.4)25 b(and)f(6.3)h(of)g(the)f(prop)s(osal.)38 -b(The)24 b(CIM)g(will)d(b)s(e)j(in)f(an)h(excellen)m(t)h(p)s(osition)d -(to)j(promote)g(dissemination)94 5252 y(and)36 b(use)g(of)g(the)h(pro)5 -b(ject)36 b(results)f(within)f(the)i(Max)h(Planc)m(k)g(So)s(ciet)m(y)-8 -b(.)59 b(It)36 b(will)e(further)h(giv)m(e)h(tec)m(hnical)94 -5365 y(supp)s(ort)29 b(to)i(the)f(Dissemination)f(Manager)i(in)f(pro)m -(viding)e(the)i(MO)m(W)m(GLI)i(w)m(ebsite.)p eop -%%Page: 37 37 -37 36 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(37)235 171 y(Professor)36 b(W)-8 b(egner,)40 b(Scien)m(ti\014c)35 -b(Co)s(ordinator)g(of)i(EMIS)f(\(Europ)s(ean)f(Mathematical)i -(Information)94 284 y(Service\),)47 b(will)41 b(also)j(pro)m(vide)e(a)i -(main)f(liaison)e(with)i(previous)f(and)h(successful)f(Europ)s(ean)h -(Pro)5 b(jects)94 397 y(on)33 b(digital)f(libraries)e(and)j(metadata,)j -(suc)m(h)d(as)h(EULER)f(\()p Fb(http://www.emis.de/projec)o(ts/)o(EULE) -o(R)p Fl(\))94 510 y(and)38 b(the)g(TRIAL)g(Solution)f(pro)5 -b(ject)39 b(\()p Fb(http://www.trial-solutio)o(n.de)o -Fl(\).)59 b(In)38 b(particular,)h(all)e(the)94 623 y(ac)m(hiev)m(emen)m -(ts)i(of)f(these)h(Pro)5 b(jects)38 b(will)d(b)s(e)i(in)m(tegrated)i -(inside)c(MO)m(W)m(GLI,)40 b(as)e(far)f(as)h(the)g(resp)s(ectiv)m(e)94 -736 y(teams)32 b(will)d(agree)j(to)g(this.)42 b(Moreo)m(v)m(er,)34 -b(in)c(his)g(qualit)m(y)g(of)h(Scien)m(ti\014c)g(Co)s(ordinator)f(of)h -(EMIS,)g(mem)m(b)s(er)94 849 y(of)c(the)g(advisory)e(b)s(oard)h(for)g -(MA)-8 b(THDI,)28 b(and)e(Chairman)f(of)i(the)g(Electronic)f -(Publishing)c(Committee)27 b(of)94 962 y(Europ)s(ean)34 -b(Mathematical)i(So)s(ciet)m(y)-8 b(,)37 b(Professor)e(W)-8 -b(egner)36 b(is)e(an)h(excellen)m(t)h(candidate)e(to)i(organise)f(the) -94 1075 y(information)29 b(dissemination)e(and)j(exploitation)g -(activities)g(for)g(the)g(pro)5 b(ject.)235 1187 y(Some)37 -b(of)h(the)f(partners)g(of)g(the)h(consortium)e(will)f(primarily)f(w)m -(ork)j(in)f(the)h(dev)m(elopmen)m(t)h(of)g(pilot)94 1300 -y(applications.)e(In)22 b(particular,)g(the)g(Departmen)m(t)i(of)e -(Computer)f(Science)h(of)h(the)f(Univ)m(ersit)m(y)f(of)i(Nijmegen)94 -1413 y(will)36 b(apply)g(MO)m(W)m(GLI's)k(tec)m(hnologies)f(to)g(the)f -(dev)m(elopmen)m(t)h(of)f(an)g(\\electronic)h(b)s(o)s(ok",)h(co)m(v)m -(ering)f(a)94 1526 y(t)m(ypical)33 b(undergraduate)g(course)h(in)e -(Algebra)h(or)h(Analysis.)48 b(The)33 b(Departmen)m(t)i(of)f(Computer)f -(Science)94 1639 y(in)j(Nijmegen)h(has)h(a)g(lot)f(of)h(exp)s(erience)f -(in)f(formal)g(mathematics)i(and)f(theorem)h(pro)m(ving.)62 -b(Notably)-8 b(,)94 1752 y(the)28 b(group)f(has)g(done)h(large)g -(theory)f(dev)m(elopmen)m(ts)h(in)f(the)g(theorem)i(pro)m(v)m(er)f(Co)s -(q.)39 b(\(The)27 b(FT)-8 b(A)29 b(pro)5 b(ject:)94 1865 -y Fb(http://www.cs.kun.nl/gi/)o(proj)o(ects)o(/ft)o(a/)p -Fl(\))25 b(Eindho)m(v)m(en)k(Univ)m(ersit)m(y)h(of)h(T)-8 -b(ec)m(hnology)g(,)32 b(a)f(sub-site)94 1978 y(of)45 -b(Nijmegen,)j(has)c(exp)s(ertise)f(in)h(Op)s(enMath)f(and)h(in)f(using) -g(WWW)j(tec)m(hnology)g(for)e(educational)94 2091 y(purp)s(oses.)i -(This)31 b(has)h(resulted)g({)h(among)g(other)g(things)e({)j(in)d(`ID)m -(A',)j(the)f(in)m(teractiv)m(e)h(course)e(notes)i(in)94 -2204 y(algebra)24 b(\()p Fb(http://www.win.tue.nl/)42 -b(ida/)p Fl(\),)25 b(where)f(a)h(com)m(bination)f(of)g(HTML)g(and)g -(applets)g(is)f(used)94 2317 y(to)33 b(presen)m(t)f(the)h(mathematics.) -46 b(Join)m(tly)-8 b(,)33 b(Nijmegen)e(and)h(Eindho)m(v)m(en)f(ha)m(v)m -(e)i(exp)s(erience)f(in)f(com)m(bining)94 2429 y(theorem)g(pro)m(v)m -(ers)f(and)g(computer)h(algebra)f(pac)m(k)-5 b(ages,)32 -b(notably)e(Co)s(q)g(and)g(GAP)-8 b(.)235 2542 y(T)g(rusted)40 -b(Logic)h(\(F)-8 b(rance\),)45 b(whic)m(h)39 b(is)h(sp)s(ecialized)f -(in)g(secure)i(and)f(v)-5 b(alidated)40 b(solutions)f(for)h(op)s(en)94 -2655 y(systems,)29 b(aims)f(to)i(presen)m(t)f(the)g(formalization)f -(and)g(the)h(demonstration)f(of)h(some)g(securit)m(y)g(prop)s(erties)94 -2768 y(related)44 b(to)g(the)h(co)s(de)f(em)m(b)s(edded)e(in)m(to)i(a)h -(smart)f(card.)81 b(The)43 b(presen)m(tation)h(m)m(ust)g(b)s(e)f(in)g -(a)h(format)94 2881 y(understandable)37 b(b)m(y)h(the)h(compan)m(y)g -(in)f(c)m(harge)i(of)f(the)g(ev)-5 b(aluation)38 b(of)h(the)g(co)s(de)g -(and)f(in)g(accordance)94 2994 y(with)29 b(the)i(Common)f(Criteria)e -(standard.)235 3107 y(A)22 b(third)f(pilot)f(application)h(is)g(the)h -(seman)m(tic)h(markup)d(of)j(the)f(Journal)e Fd(Living)25 -b(R)-5 b(eviews)25 b(in)g(R)-5 b(elativity)94 3220 y -Fl(published)27 b(b)m(y)j(AEI-Golm,)g(already)g(men)m(tioned)g(ab)s(o)m -(v)m(e.)133 3432 y Fj(Description)46 b(of)f(the)g(P)l(articipan)l(ts)94 -3676 y Fg(A.1)112 b(Univ)m(ersit)m(y)36 b(of)h(Bologna,)h(Departmen)m -(t)e(of)i(Computer)f(Science)94 3847 y Fl(Dipartimen)m(to)30 -b(di)f(Scienze)h(dell'Informazione)94 3960 y(Univ)m(ersit\022)-45 -b(a)30 b(degli)f(Studi)f(di)h(Bologna)94 4073 y(Via)h(di)f(m)m(ura)h -(An)m(teo)i(Zam)m(b)s(oni)d(VI)s(I,)h(40127,)j(Bologna,)e(IT)-8 -b(AL)g(Y.)94 4186 y(h)m(ttp://www.cs.unib)s(o.it)94 4412 -y(The)32 b(Departmen)m(t)i(of)e(Computer)g(Science)g(of)h(Bologna)g(is) -e(the)i(only)f(educational)f(institution)f(in)i(Italy)94 -4525 y(to)42 b(b)s(e)e(a\016liated)g(to)i(the)f(W)-8 -b(orld)40 b(Wide)g(W)-8 b(eb)42 b(Consortium)d(\(and)i(one)g(of)g(the)g -(few)f(mem)m(b)s(ers)g(of)h(this)94 4638 y(category)34 -b(in)d(Europ)s(e\).)45 b(This)30 b(a\016liation)h(testi\014es)g(the)i -(in)m(terest,)g(b)s(oth)e(tec)m(hnical)h(and)f(didactic,)h(tradi-)94 -4751 y(tionally)h(dev)m(oted)j(b)m(y)f(our)f(Departmen)m(t)i(to)g(W)-8 -b(eb)36 b(tec)m(hnologies,)h(In)m(ternet)e(and,)h(more)f(generally)-8 -b(,)36 b(dis-)94 4864 y(tributed)25 b(computing.)38 b(This)24 -b(is)i(joined)f(to)i(a)f(solid)f(exp)s(ertise)g(in)g(programming)g -(languages,)i(algorithms,)94 4977 y(theory)k(and)g(formal)f(metho)s -(ds,)h(that)h(pro)m(vides)e(a)i(v)m(ery)f(stim)m(ulating)f(and)h -(dialectical)f(en)m(vironmen)m(t)h(for)94 5089 y(researc)m(h.)57 -b(The)35 b(Departmen)m(t)i(is)d(in)h(c)m(harge)i(of)e(an)h -(undergraduate)f(Program)g(in)g(Computer)f(Science,)94 -5202 y(with)24 b(more)h(than)f(three)h(h)m(undreds)e(new)h(studen)m(ts) -h(a)g(y)m(ear,)i(and)d(a)h(graduate)h(Ph.D.)f(Program,)h(curren)m(tly)p -eop -%%Page: 38 38 -38 37 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(38)94 171 y(comprising)28 b(sixteen)i(studen)m(ts.)94 -402 y Fi(The)41 b(HELM)f(Pro)6 b(ject)36 b Fl(The)f(\\Hyp)s(ertextual)h -(Electronic)f(Library)e(of)j(Mathematics")h(Pro)5 b(ject)36 -b(\(see)94 515 y Fb(http://www.cs.unibo.it/h)o(elm)p -Fl(\))15 b(is)21 b(activ)m(e)i(in)d(Bologna)j(since)e(1999.)39 -b(Its)22 b(aim)f(is)f(the)i(dev)m(elopmen)m(t)g(of)94 -628 y(a)29 b(suitable)f(tec)m(hnology)i(for)e(the)i(creation)f(and)f -(main)m(tenance)h(of)h(a)f(virtual,)f(distributed,)e(h)m(yp)s -(ertextual)94 741 y(library)g(of)j(formal)e(mathematical)i(kno)m -(wledge.)40 b(As)29 b(a)g(subsidiary)c(goal,)k(HELM)g(is)f(mean)m(t)h -(to)g(in)m(tegrate)94 854 y(the)22 b(curren)m(t)g(to)s(ols)g(for)g(the) -h(automation)f(of)h(formal)e(reasoning)h(and)f(the)i(mec)m(hanisation)f -(of)g(mathematics)94 967 y(\(pro)s(of)e(assistan)m(ts)g(and)g(logical)g -(framew)m(orks\))h(with)e(the)h(most)h(recen)m(t)g(tec)m(hnologies)g -(for)f(the)h(dev)m(elopmen)m(t)94 1080 y(of)29 b(W)-8 -b(eb)29 b(applications)e(and)h(electronic)g(publishing,)d(taking)j(adv) --5 b(an)m(tage)31 b(of)e(the)f(p)s(oten)m(tialit)m(y)h(o\013ered)f(b)m -(y)94 1193 y(XML)37 b(T)-8 b(ec)m(hnologies.)62 b(The)37 -b(Pro)5 b(ject)38 b(is)e(dev)m(elop)s(ed)h(in)f(tigh)m(t)h(co)s(op)s -(eration)h(with)d(the)j(W3C)g(MathML)94 1306 y(W)-8 b(orking)30 -b(Group,)g(whic)m(h)f(w)m(e)i(are)g(a)g(mem)m(b)s(er)f(of.)94 -1537 y Fi(T)-9 b(ec)m(hnical)36 b(Con)m(tributors)30 -b Fl(The)g(p)s(eople)f(in)m(v)m(olv)m(ed)i(in)e(the)h(pro)5 -b(ject)31 b(are:)230 1715 y Fe(\017)46 b Fl(Andrea)30 -b(Asp)s(erti)f(\(F)-8 b(ull)30 b(Professor,)g(Mem)m(b)s(er)g(of)h(W3C)g -(Advisory)e(Committee\))230 1899 y Fe(\017)46 b Fl(Irene)30 -b(Sc)m(hena)h(\(Ph.D.)g(Studen)m(t,)f(Mem)m(b)s(er)g(of)h(MathML-W)m -(G\))230 2083 y Fe(\017)46 b Fl(Luca)31 b(P)m(ado)m(v)-5 -b(ani)30 b(\(Ph.D)h(Studen)m(t\))230 2267 y Fe(\017)46 -b Fl(F)-8 b(erruccio)31 b(Guidi)d(\(Ph.D.)j(Studen)m(t\))230 -2451 y Fe(\017)46 b Fl(Claudio)29 b(Sacerdoti)h(Co)s(en)g(\(Ph.D.)h -(Studen)m(t\))94 2630 y(In)f(case)h(of)g(appro)m(v)-5 -b(al,)30 b(w)m(e)h(exp)s(ect)f(to)i(o\013er)e(a)h(t)m(w)m(o-y)m(ear)i -(P)m(ost-Do)s(c)g(p)s(osition)28 b(on)i(pro)5 b(ject)31 -b(funding.)94 2861 y Fa(Andrea)i(Asper)-6 b(ti)33 b(\(Coordina)-6 -b(ting)34 b(pr)n(oposer\))94 2997 y Fl(Born)c(05/09/1961.)94 -3110 y(F)-8 b(ull)29 b(Professor)h(of)h(F)-8 b(ormal)30 -b(Languages)i(and)d(Compilers)94 3223 y(Mem)m(b)s(er)h(of)h(the)f -(Advisory)g(Committee)g(of)h(the)f(W)-8 b(orld)30 b(Wide)g(W)-8 -b(eb)31 b(Consortium.)94 3336 y(Dip.)40 b(di)29 b(Scienze)h -(dell'Informazione,)f(Via)h(di)f(Mura)h(An)m(teo)i(Zam)m(b)s(oni)d(7,)i -(Bologna,)g(Italy)-8 b(.)94 3449 y(Phone:)40 b(+39)31 -b(51)h(35)f(45)g(05.)94 3562 y(E-mail:)40 b Fb(asperti@cs.unibo.it)94 -3698 y Fl(Andrea)f(Asp)s(erti)f(w)m(as)i(b)s(orn)f(in)f(Italy)-8 -b(,)42 b(in)d(1961.)70 b(He)40 b(w)m(as)g(a)m(w)m(arded)g(a)g(Ph.D)f -(in)g(Computer)g(Science)94 3811 y(b)m(y)45 b(the)g(Univ)m(ersit)m(y)f -(of)g(Pisa)h(in)e(1989.)86 b(In)44 b(the)h(same)g(y)m(ear)g(he)g -(obtained)f(a)h(p)s(ost-do)s(c)g(p)s(osition)e(at)94 -3923 y(INRIA-Ro)s(cquencourt,)37 b(where)d(he)h(w)m(as)g(emplo)m(y)m -(ed)h(as)f(a)g(researc)m(her)h(in)e(1991.)56 b(In)34 -b(1992)j(he)e(obtained)94 4036 y(the)42 b(c)m(hair)g(of)g(F)-8 -b(ormal)42 b(Languages)h(and)e(Compilers)f(at)j(the)f(Departmen)m(t)h -(of)f(Computer)f(Science)h(of)94 4149 y(the)e(Univ)m(ersit)m(y)e(of)i -(Bologna,)i(b)s(ecoming)d(F)-8 b(ull)38 b(Professor)h(in)f(y)m(ear)j -(2000.)69 b(He)40 b(is)e(curren)m(tly)h(teac)m(hing)94 -4262 y(courses)i(on)g(Programming)f(Languages,)45 b(Theoretical)c -(Computer)f(Science)h(and)f(Human-Computer)94 4375 y(In)m(teraction.)94 -4534 y Fi(P)m(ositions)c(and)f(Managemen)m(t)f(Exp)s(erience)230 -4713 y Fe(\017)46 b Fl(Mem)m(b)s(er)31 b(of)f(the)h(Advisory)e -(Committee)h(of)h(the)g(W)-8 b(orld)30 b(Wide)f(W)-8 -b(eb)230 4897 y Fe(\017)46 b Fl(F)-8 b(ormer)29 b(Director)f(of)g(the)h -(the)f(Undergraduate)g(Program)g(in)e(Computer)i(Science)f(of)i(the)f -(Univ)m(er-)321 5010 y(sit)m(y)i(of)h(Bologna.)230 5194 -y Fe(\017)46 b Fl(Resp)s(onsible)28 b(of)j(the)f(Bologna)h(site)g(for)f -(the)g(Europ)s(ean)f(TMR)i(Pro)5 b(ject)31 b(\\LINEAR".)230 -5378 y Fe(\017)46 b Fl(F)-8 b(ormer)31 b(Resp)s(onsible)d(of)i(the)h -(Bologna)g(site)f(for)h(the)f(W)m(G-21836)k(CONFER-I)s(I.)p -eop -%%Page: 39 39 -39 38 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(39)230 171 y Fe(\017)46 b Fl(Main)30 b(Resp)s(onsible)e(for)i(the) -h(National)f(Researc)m(h)h(Pro)5 b(ject)31 b(\\Linear)f(Logic)h(and)f -(b)s(ey)m(ond".)94 394 y Fi(Researc)m(h)35 b(In)m(terests)30 -b Fl(The)f(researc)m(h)i(in)m(terests)f(of)g(Andrea)f(Asp)s(erti)g(are) -h(fo)s(cused)g(on)g(forms,)f(formats)94 507 y(and)35 -b(metho)s(ds)g(of)h(kno)m(wledge)g(represen)m(tation)f(and)g(elab)s -(oration.)56 b(This)34 b(co)m(v)m(ers)j(Markup)e(Languages,)94 -620 y(Information)25 b(Pro)s(cessing,)h(Programming)g(Languages,)i(In)m -(terpreters)e(and)f(Compilers,)g(T)m(yp)s(e)g(Systems,)94 -733 y(Higher-order)38 b(Logics,)j(Linear)d(Logic,)j(Category)f(Theory) --8 b(.)65 b(He)39 b(is)f(author)g(of)h(o)m(v)m(er)h(40)g(in)m -(ternational)94 846 y(publications)28 b(on)i(formal)f(asp)s(ects)i(of)g -(the)f(theory)h(of)f(Computing,)f(and)h(sev)m(eral)h(b)s(o)s(oks.)94 -959 y(He)43 b(has)f(b)s(een)f(mem)m(b)s(er)g(of)i(the)f(Programme)h -(Committees)f(of)g(sev)m(eral)h(In)m(ternational)e(Conferences,)94 -1072 y(comprising)28 b(CONCUR'98,)j(R)-8 b(T)g(A'99,)32 -b(LICS'99,)e(PPDP'00,)h(CSL'01,)g(MKM'01)g(\(First)f(In)m(ternational) -94 1185 y(W)-8 b(orkshop)31 b(on)f(Mathematical)h(Kno)m(wledge)f -(Managemen)m(t\).)94 1298 y(His)k(recen)m(t)h(scien)m(ti\014c)f -(activit)m(y)h(has)f(b)s(een)f(mostly)h(fo)s(cused)g(on)g(the)h(HELM)f -(Pro)5 b(ject,)37 b(aimed)c(to)i(build)94 1411 y(the)c(tec)m -(hnological)f(infrastructure)f(for)h(an)g(Hyp)s(ertextual)g(Electronic) -g(Library)f(of)h(Mathematics.)94 1569 y Fi(Selected)35 -b(Publications)230 1747 y Fe(\017)46 b Fl(A.Asp)s(erti,)22 -b(L.P)m(ado)m(v)-5 b(ani,)23 b(C.Sacerdoti)d(Co)s(en,)i(I.Sc)m(hena.)37 -b Fd(XML,)23 b(Styleshe)-5 b(ets)24 b(and)h(the)e(r)-5 -b(e-mathematization)321 1860 y(of)29 b(F)-7 b(ormal)30 -b(Content)p Fl(.)40 b(Pro)s(ceedings)25 b(of)h(\\Extreme)g(Markup)f -(Languages)i(2001)g(Conference",)g(Au-)321 1972 y(gust)k(12-17,)h -(2001,)h(Mon)m(tr'eal,)e(Canada.)230 2156 y Fe(\017)46 -b Fl(A.Asp)s(erti,)e(L.P)m(ado)m(v)-5 b(ani,)45 b(C.Sacerdoti)d(Co)s -(en,)i(I.Sc)m(hena.)75 b Fd(HELM)42 b(and)i(the)f(semantic)h(Math-)321 -2269 y(Web)p Fl(.)i(Pro)s(ceedings)31 b(of)h(the)h(14th)g(In)m -(ternational)e(Conference)h(on)h(Theorem)e(Pro)m(ving)h(in)f(Higher)321 -2382 y(Order)e(Logics)i(\(TPHOLS)e(2001\),)k(3-6)f(Septem)m(b)s(er)d -(2001,)k(Edin)m(burgh,)27 b(Scotland.)230 2565 y Fe(\017)46 -b Fl(A.Asp)s(erti,)35 b(L.P)m(ado)m(v)-5 b(ani,)36 b(C.Sacerdoti)e(Co)s -(en,)i(I.Sc)m(hena.)53 b Fd(F)-7 b(ormal)38 b(Mathematics)g(on)f(the)g -(Web)p Fl(.)321 2678 y(Pro)s(ceedings)g(of)g(the)h(Eigh)m(th)e(In)m -(ternational)h(Conference)g(on)g("Libraries)e(and)i(Asso)s(ciations)g -(in)321 2791 y(the)i(T)-8 b(ransien)m(t)39 b(W)-8 b(orld:)57 -b(New)39 b(T)-8 b(ec)m(hnologies)39 b(and)g(New)g(F)-8 -b(orms)39 b(of)g(Co)s(op)s(eration",)i(June)d(9-17,)321 -2904 y(2001,)33 b(Sudak,)c(Autonomous)h(Republic)f(of)h(Crimea,)g -(Ukraine.)230 3088 y Fe(\017)46 b Fl(A.Asp)s(erti,)36 -b(L.P)m(ado)m(v)-5 b(ani,)36 b(C.Sacerdoti)f(Co)s(en,)h(I.Sc)m(hena.)54 -b Fd(F)-7 b(ormal)39 b(Mathematics)f(in)f(MathML)p Fl(.)321 -3201 y(First)32 b(MathML)h(In)m(ternational)f(Conference,)h(Octob)s(er) -f(20-21,)j(2000,)g(Urbana-Champaign,)d(IL,)321 3313 y(USA.)230 -3497 y Fe(\017)46 b Fl(A.Asp)s(erti,)40 b(G.Longo.)64 -b Fd(Cate)-5 b(gories,)43 b(T)-7 b(yp)i(es,)42 b(and)f(Structur)-5 -b(es.)64 b(A)n(n)39 b(intr)-5 b(o)g(duction)42 b(to)e(Cate)-5 -b(gory)321 3610 y(The)g(ory)44 b(for)f(the)g(Working)g(Computer)g -(Scientist)p Fl(.)73 b(F)-8 b(oundation)41 b(of)g(Computing)f(Series,)i -(Mas-)321 3723 y(sac)m(h)m(usetts)32 b(Institute)e(of)g(T)-8 -b(ec)m(hnology)32 b(Press,)e(ISBN)g(0)h(262)g(01125-5.)44 -b(1991.)94 3964 y Fg(A.2)112 b(INRIA)94 4136 y Fl(Institut)29 -b(National)i(de)f(Rec)m(herc)m(he)i(en)e(Informatique)f(et)i -(Automatique)f(\(INRIA\))94 4249 y(Domaine)h(de)f(V)-8 -b(oluceau)94 4362 y(78153)33 b(Ro)s(cquencourt)d(Cedex)94 -4475 y(F)-8 b(rance)94 4813 y(INRIA)27 b(\(National)h(Institute)f(for)g -(Researc)m(h)i(in)d(Computer)h(Science)g(and)g(Con)m(trol\))h(is)f(a)h -(F)-8 b(renc)m(h)28 b(public-)94 4926 y(sector)g(scien)m(ti\014c)e(and) -g(tec)m(hnological)h(institute)f(op)s(erating)g(under)f(the)i(dual)f -(authorit)m(y)g(of)h(the)g(Ministry)94 5039 y(of)42 b(Researc)m(h)i -(and)e(the)g(Ministry)e(of)j(Industry)-8 b(.)75 b(INRIA's)42 -b(missions)e(are)j(\\to)h(undertak)m(e)e(basic)g(and)94 -5152 y(applied)29 b(researc)m(h,)j(to)g(design)e(exp)s(erimen)m(tal)g -(systems,)h(to)h(ensure)e(tec)m(hnology)j(and)d(kno)m(wledge)h(trans-) -94 5265 y(fer,)36 b(to)f(organise)g(in)m(ternational)e(scien)m(ti\014c) -h(exc)m(hanges,)k(to)d(carry)g(out)g(scien)m(ti\014c)f(assessmen)m(ts,) -j(and)d(to)94 5378 y(con)m(tribute)c(to)h(standardisation".)p -eop -%%Page: 40 40 -40 39 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(40)94 171 y(The)36 b(researc)m(h)h(carried)f(out)h(at)h(INRIA)e -(brings)f(together)j(exp)s(erts)e(from)g(the)h(\014elds)e(of)i -(computer)g(sci-)94 284 y(ence)31 b(and)f(applied)f(mathematics)i(co)m -(v)m(ering)h(the)f(follo)m(wing)e(areas:)42 b(Net)m(w)m(orks)32 -b(and)e(Systems;)h(Soft)m(w)m(are)94 397 y(Engineering)42 -b(and)h(Sym)m(b)s(olic)f(Computing;)49 b(Man-Mac)m(hine)44 -b(In)m(teraction;)52 b(Image)44 b(Pro)s(cessing,)j(Data)94 -510 y(Managemen)m(t,)33 b(Kno)m(wledge)d(Systems;)g(Sim)m(ulation)e -(and)i(Optimisation)e(of)i(Complex)g(Systems.)94 623 -y(INRIA)c(gathers)h(in)e(its)h(premises)f(around)h(2)h(100)g(p)s -(ersons)e(including)e(1)k(600)h(scien)m(tists)e(,)h(man)m(y)g(of)g -(whic)m(h)94 736 y(b)s(elong)e(to)j(partner)d(organisations)h(\(CNRS,)g -(industrial)d(labs,)k(univ)m(ersities\))d(and)i(are)h(assigned)e(to)i -(w)m(ork)94 849 y(in)33 b(common)i(\\pro)5 b(jects".)53 -b(On)34 b(INRIA's)g(budget,)h(around)f(500)h(full-time)d(equiv)-5 -b(alen)m(t)34 b(R&D)g(p)s(ositions)94 962 y(can)d(b)s(e)e(accoun)m(ted) -j(for.)94 1075 y(A)f(large)f(n)m(um)m(b)s(er)f(of)i(INRIA)g(senior)e -(researc)m(hers)i(are)g(in)m(v)m(olv)m(ed)f(in)g(teac)m(hing)h(and)f -(their)f(PhD)i(studen)m(ts)94 1187 y(\(ab)s(out)f(550\))i(prepare)e -(their)g(thesis)f(within)f(the)j(di\013eren)m(t)e(INRIA)i(researc)m(h)g -(pro)5 b(jects)30 b(\(curren)m(tly)g(74\).)94 1300 y(Its)23 -b(budget)f(is)g(roughly)g(90)i(MEuro,)g(20\045)f(of)g(whic)m(h)f(comes) -i(from)e(researc)m(h)i(and)e(dev)m(elopmen)m(t)h(con)m(tracts,)94 -1413 y(ro)m(y)m(alties)31 b(and)f(sales.)40 b(Industrial)28 -b(relations)h(are)i(strategic)g(for)f(INRIA:)94 1650 -y Fi(Industrial)43 b(con)m(tracts)i(and)e(Europ)s(ean)h(Pro)6 -b(jects.)92 b Fl(Numerous)37 b(industrial)d(partners)j(con)m(tract)94 -1763 y(with)h(the)i(Institute)e(for)h(collab)s(orativ)m(e)h(researc)m -(h.)68 b(They)39 b(are)h(F)-8 b(renc)m(h)39 b(or)h(foreign)f -(companies,)i(of)e(all)94 1876 y(sizes.)45 b(400)34 b(suc)m(h)d(con)m -(tracts)j(are)f(presen)m(tly)e(activ)m(e.)47 b(Roughly)31 -b(40\045)i(of)f(these)g(con)m(tracts)i(are)f(Europ)s(ean)94 -1989 y(funded)43 b(ones.)85 b(Since)44 b(1984,)50 b(250)c(Europ)s(ean)e -(F)-8 b(ramew)m(ork-Programme)47 b(\(FP\))f(pro)5 b(jects)45 -b(ha)m(v)m(e)h(b)s(een)94 2102 y(executed.)94 2338 y -Fi(T)-9 b(ec)m(hnology)32 b(companies.)91 b Fl(As)26 -b(the)h(ultimate)f(step)g(in)g(tec)m(hnology)h(transfer,)g(researc)m -(hers)g(are)g(part)m(y)94 2451 y(to)k(the)f(setting)h(up)e(of)h -(companies)g(in)f(order)h(to)h(implemen)m(t)e(their)g(tec)m(hnology)i -(on)g(the)f(mark)m(et.)42 b(Thirt)m(y)94 2564 y(sev)m(en)e(spin-o\013)f -(companies)h(ha)m(v)m(e)h(b)s(een)e(created)i(since)e(1984.)71 -b(In)39 b(1999,)45 b(INRIA)40 b(has)f(launc)m(hed)g(t)m(w)m(o)94 -2677 y(subsidiaries)26 b(to)31 b(promote)f(high-tec)m(h)g(start-up)f -(companies:)40 b(INRIA-TRANSFER)-8 b(T)30 b(deals)f(with)g(early)94 -2790 y(accompanimen)m(t)35 b(of)g(the)f(future)g(companies,)h(whereas)f -(I-SOUR)m(CE)g(GESTION)f(pro)m(vides)g(for)i(\\seed-)94 -2903 y(money".)94 3016 y(INRIA)c(is)f(a)h(mem)m(b)s(er)g(of)g(ER)m(CIM) -g(EEIG,)g(Europ)s(ean)f(Researc)m(h)i(Consortium)e(for)g(Computer)h -(Science)94 3129 y(and)e(Mathematics.)41 b(Outside)28 -b(Europ)s(e,)h(INRIA)g(also)h(has)f(a)h(signi\014can)m(t)e(activit)m -(y:)41 b(it)29 b(has)g(created)i(join)m(t)94 3242 y(researc)m(h)e(lab)s -(oratories)e(\(Russia)h(and)f(China\),)h(signed)f(co)s(op)s(eration)h -(agreemen)m(ts)i(\(NSF,)e(India,)g(Brazil,)94 3355 y(etc.\))42 -b(and)30 b(promotes)h(in)m(tensiv)m(e)e(scien)m(ti\014c)h(exc)m -(hanges.)94 3468 y(INRIA)g(W)-8 b(eb:)42 b(h)m(ttp://www.inria.fr/)94 -3704 y Fi(A.2.1)105 b(The)35 b(Lemme)e(pro)6 b(ject)94 -3876 y Fl(The)39 b(purp)s(ose)g(of)h(the)g(Lemme)g(pro)5 -b(ject)40 b(is)f(to)h(in)m(tro)s(duce)f(and)g(dev)m(elop)h(formal)f -(metho)s(ds)g(for)h(use)g(in)94 3989 y(writing)35 b(scien)m(ti\014c)i -(computing)f(soft)m(w)m(are.)63 b(In)37 b(scien)m(ti\014c)g(computing,) -h(algorithms)e(and)h(mathematics)94 4102 y(are)j(at)g(the)f(forefron)m -(t.)67 b(W)-8 b(e)41 b(are)e(th)m(us)g(dev)m(eloping)g(to)s(ols)g(and)f -(metho)s(ds)h(to)h(help)d(pro)s(ducing)g(correct)94 4215 -y(programs)f(starting)h(from)g(the)g(usual)e(mathematical)i -(descriptions)e(of)i(data,)i(algorithms,)f(prop)s(erties)94 -4328 y(and)30 b(pro)s(ofs,)f(structured)h(in)m(to)g(four)g(researc)m(h) -h(themes:)230 4498 y Fe(\017)46 b Fl(Pro)s(of)27 b(en)m(vironmen)m(ts)f -(\(dev)m(elopmen)m(t)i(of)f(the)g(Pco)s(q)g(system)g(in)f(Ja)m(v)-5 -b(a)28 b(and)e(its)h(compatibilit)m(y)e(with)321 4610 -y(XML/MathML\).)230 4791 y Fe(\017)46 b Fl(F)-8 b(ormalisation)45 -b(of)g(mathematical)g(theories)g(\(algebraic)g(geometry)-8 -b(,)50 b(elemen)m(tary)c(algebra)f(and)321 4904 y(analysis\).)230 -5084 y Fe(\017)h Fl(Certi\014ed)37 b(implemen)m(tation)g(of)i(scien)m -(ti\014c)f(computing)f(algorithms)h(\(computer)g(algebra,)j(arith-)321 -5197 y(metics,)31 b(logic\).)230 5378 y Fe(\017)46 b -Fl(Pro)s(ofs)30 b(on)g(seman)m(tics)h(of)g(programming)e(languages)h -(\(Ja)m(v)-5 b(acard\).)p eop -%%Page: 41 41 -41 40 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(41)235 171 y(The)25 b(pro)5 b(ject)27 b(b)s(elongs)e(to)h(the)g -(Europ)s(ean)f(w)m(orking)g(group)g(T)m(yp)s(es,)i(and)e(to)i(the)f(F) --8 b(renc)m(h)26 b(action)g(A)m(OC)94 284 y(\(Arithm)m(\023)-43 -b(etique)30 b(des)g(Ordinateurs)d(Certi\014e\).)40 b(It)30 -b(k)m(eeps)h(up)e(industrial)e(collab)s(orations)h(with)h(Dassault-)94 -397 y(Aviation)39 b(\(program)h(pro)s(of)g(en)m(vironmen)m(ts\),)i -(Alcatel)e(Space)g(Industry)e(\(certi\014ed)i(n)m(umerical)f(co)s -(de\),)94 510 y(and)25 b(GemPlus)g(\(Ja)m(v)-5 b(acard)28 -b(certi\014cation\),)f(and)e(also)h(collab)s(orates)g(with)f(teac)m -(hers)i(at)g(univ)m(ersit)m(y)d(on)i(the)94 623 y(use)k(of)h(formal)e -(pro)s(ofs)h(and)f(W)-8 b(eb-based)32 b(en)m(vironmen)m(ts)d(in)g -(mathematics)i(courses.)235 736 y(P)m(eople)j(of)g(Lemme)g(in)m(v)m -(olv)m(ed)g(in)e(the)i(MO)m(W)m(GLI)i(prop)s(osal)c(are:)48 -b(Laurence)34 b(Rideau)f(\(researc)m(her\),)94 849 y(Hanane)42 -b(Naciri)e(\(PhD)h(studen)m(t\),)k(Lo)-10 b(\177)-35 -b(\020c)41 b(P)m(ottier)g(\(researc)m(her\),)46 b(Yv)m(es)c(Bertot)h -(\(researc)m(her\),)i(Ahmed)94 962 y(Amerk)-5 b(ad)30 -b(\(engineer\),)h(Lauren)m(t)f(Th)m(\023)-43 b(ery)31 -b(\(researc)m(her\))h(and)d(Lauren)m(t)i(Chicli)c(\(PhD)k(studen)m -(t\).)94 1198 y Fi(A.2.2)105 b(The)35 b(LogiCal)f(pro)6 -b(ject)94 1370 y Fl(The)31 b(LogiCal)g(team)i(of)f(INRIA)g(is)e(w)m -(orking)i(on)f(theoretical)h(and)g(practical)f(asp)s(ects)h(of)g -(mathematical)94 1483 y(pro)s(ofs.)64 b(It)39 b(dev)m(elops)f(the)h(Co) -s(q)f(pro)s(of)g(assistan)m(t,)j(an)e(implemen)m(tation)e(of)i(an)f -(expressiv)m(e)g(formalism)94 1596 y(called)25 b(Calculus)g(of)h -(Inductiv)m(e)f(Constructions.)38 b(Co)s(q)26 b(is)f(used)h(b)s(oth)f -(for)h(dev)m(elopmen)m(t)h(of)g(formal)e(math-)94 1708 -y(ematics)31 b(and)f(for)g(certi\014cation)g(of)g(programs,)h(esp)s -(ecially)d(proto)s(cols)i(and)g(critical)g(systems.)235 -1821 y(The)43 b(LogiCal)f(pro)5 b(ject)44 b(is)e(a)i(join)m(t)f(pro)5 -b(ject)43 b(with)f(Univ)m(ersit)m(y)g(P)m(aris)h(11.)80 -b(It)43 b(is)f(in)m(v)m(olv)m(ed)h(in)f(the)94 1934 y(Europ)s(ean)33 -b(TYPES)g(w)m(orking)h(group)g(and)f(in)g(sev)m(eral)i(F)-8 -b(renc)m(h)35 b(actions.)52 b(Esp)s(ecially)-8 b(,)34 -b(it)f(is)h(in)m(v)m(olv)m(ed)g(in)94 2047 y(the)g(S-Ja)m(v)-5 -b(a)34 b(action)h(aiming)d(at)i(certifying)f(safet)m(y)i(prop)s(erties) -d(for)i(Ja)m(v)-5 b(aCard)34 b(programs,)g(in)f(a)h(pro)5 -b(ject)94 2160 y(aiming)31 b(at)j(certifying)d(algorithms)h(used)g(in)f -(computer)i(algebra)f(systems.)48 b(LogiCal)32 b(collab)s(orates)g -(also)94 2273 y(on)e(pro)s(of)g(automation)h(with)e(F)-8 -b(rance)31 b(T)-8 b(elecom.)94 2504 y Fi(T)f(ec)m(hnical)36 -b(Con)m(tributors)f(of)g(LogiCal)g(team)28 b Fl(The)i(p)s(eople)g(in)m -(v)m(olv)m(ed)g(in)f(the)h(pro)5 b(ject)31 b(are:)230 -2672 y Fe(\017)46 b Fl(Hugo)31 b(Herb)s(elin)d(\(Asso)s(ciate)k -(Professor)e(at)h(Univ)m(ersit)m(y)e(P)m(aris)h(10,)i(seconded)e(at)h -(INRIA\))230 2852 y Fe(\017)46 b Fl(Da)m(vid)31 b(Delaha)m(y)m(e)h -(\(Ph.D.)f(Studen)m(t\))94 3021 y(In)f(case)h(of)g(appro)m(v)-5 -b(al,)30 b(w)m(e)h(exp)s(ect)f(to)i(o\013er)e(a)h(three-mon)m(th)g -(training)e(course)h(on)h(pro)5 b(ject)30 b(funding.)94 -3252 y Fa(Hugo)k(Herbelin)94 3386 y Fl(Born)c(June)g(9,)h(1967.)94 -3499 y(Asso)s(ciate)g(Professor)f(at)h(Univ)m(ersit)m(y)f(P)m(aris)g -(10,)h(seconded)g(at)g(INRIA.)94 3612 y(Domaine)g(de)f(V)-8 -b(oluceau)94 3724 y(78153)33 b(Ro)s(cquencourt)d(Cedex)94 -3837 y(F)-8 b(rance)94 4063 y(Phone:)40 b(+33)31 b(\(0\))h(1)f(39)g(63) -g(53)g(77.)94 4176 y(E-mail:)40 b Fb(Hugo.Herbelin@inria.fr)94 -4416 y Fg(A.3)112 b(German)37 b(Researc)m(h)h(Cen)m(ter)f(for)h -(Arti\014cial)c(In)m(telligence)h(Gm)m(bH,)h(DFKI)94 -4588 y Fl(The)f(German)h(Researc)m(h)h(Cen)m(ter)f(for)g(Arti\014cial)e -(In)m(telligence)i(Gm)m(bH,)g(DFKI)g(w)m(as)g(founded)f(in)f(1988.)94 -4700 y(T)-8 b(o)s(da)m(y)g(,)33 b(DFKI)g(is)e(one)i(of)g(the)f(largest) -h(non-pro\014t)e(con)m(tract)j(researc)m(h)f(institutes)e(in)g(the)i -(\014eld)e(of)h(inno-)94 4813 y(v)-5 b(ativ)m(e)29 b(soft)m(w)m(are)g -(tec)m(hnology)g(based)f(on)g(Arti\014cial)e(In)m(telligence)h(\(AI\))i -(metho)s(ds.)39 b(DFKI)28 b(is)f(fo)s(cusing)f(on)94 -4926 y(the)f(complete)h(cycle)f(of)h(inno)m(v)-5 b(ation)24 -b(-)h(from)g(w)m(orld-class)f(basic)g(researc)m(h)i(and)f(tec)m -(hnology)h(dev)m(elopmen)m(t)94 5039 y(through)j(leading-edge)h -(demonstrators)f(and)h(protot)m(yp)s(es)g(to)g(pro)s(duct)f(functions)f -(and)h(commercializa-)94 5152 y(tion.)64 b(Based)39 b(in)d -(Kaiserslautern)h(and)h(Saarbr)s(\177)-48 b(uc)m(k)m(en,)40 -b(the)e(German)g(Researc)m(h)i(Cen)m(ter)e(for)g(Arti\014cial)94 -5265 y(In)m(telligence)e(ranks)g(among)i(the)e(imp)s(ortan)m(t)g(\\Cen) -m(ters)i(of)f(Excellence")g(w)m(orldwide.)57 b(The)36 -b(k)m(ey)i(direc-)94 5378 y(tors)f(of)g(DFKI)h(are)f(Prof.)60 -b(Dr.)h(W)-8 b(olfgang)38 b(W)-8 b(ahlster)37 b(\(CEO\))g(and)f(Dr.)61 -b(W)-8 b(alter)38 b(G.)f(Oltho\013)f(\(CF)m(O\).)p eop -%%Page: 42 42 -42 41 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(42)94 171 y(DFKI's)27 b(mission)d(is)i(tec)m(hnology)h(transfer,)g -(that)g(is)f(to)h(mo)m(v)m(e)h(inno)m(v)-5 b(ations)25 -b(in)g(AI)h(as)h(quic)m(kly)e(as)i(p)s(ossible)94 284 -y(from)g(the)g(lab)f(in)m(to)h(the)h(mark)m(etplace)g(b)m(y)f(main)m -(taining)e(researc)m(h)j(pro)5 b(jects)27 b(at)h(the)f(forefron)m(t)h -(of)f(science.)94 397 y(Exp)s(ertise)j(and)h(exp)s(erience)f(of)i(the)g -(compan)m(y)f(DFKI)h(has)f(strong)h(exp)s(ertise)e(in)g(eac)m(h)j(of)e -(the)h(follo)m(wing)94 510 y(domains:)230 698 y Fe(\017)46 -b Fl(Information)23 b(Managemen)m(t)i(and)e(Do)s(cumen)m(t)h(Analysis)e -(\(Director:)38 b(Prof.)g(Dr.)h(Andreas)23 b(Dengel\))230 -885 y Fe(\017)46 b Fl(In)m(telligen)m(t)30 b(Visualization)f(and)g(Sim) -m(ulation)f(Systems)i(\(Director:)42 b(Prof.)e(Dr.)h(Hans)30 -b(Hagen\))230 1073 y Fe(\017)46 b Fl(Deduction)30 b(and)g(Multiagen)m -(t)h(Systems)f(\(Director:)41 b(Prof.)g(Dr.)f(J\177)-45 -b(org)31 b(Siekmann\))230 1261 y Fe(\017)46 b Fl(Language)32 -b(T)-8 b(ec)m(hnology)31 b(\(Director:)41 b(Prof.)g(Dr.)f(Hans)31 -b(Uszk)m(oreit\))230 1448 y Fe(\017)46 b Fl(In)m(telligen)m(t)30 -b(User)g(In)m(terfaces)i(\(Director:)41 b(Prof.)g(Dr.)f(W)-8 -b(olfgang)32 b(W)-8 b(ahlster\))94 1636 y(DFKI)26 b(is)f(in)m(v)m(olv)m -(ed)h(in)f(n)m(umerous)g(industrial,)e(academian)j(pro)5 -b(jects)27 b(including)22 b(pro)5 b(jects)27 b(in)d(the)j(curren)m(t)94 -1749 y(EC)34 b(IST)f(programme)h(dealing)g(with)f(researc)m(h)i(and)f -(dev)m(elopmen)m(t)g(in)f(the)i(broad)f(areas)h(of)g(in)m(telligen)m(t) -94 1862 y(in)m(terface)26 b(agen)m(ts,)h(and)e(m)m(ultiagen)m(t)g -(systems)g(for)g(applications)e(in)h(supply-c)m(hain)e(managemen)m(t,) -28 b(virtual)94 1975 y(en)m(terprises,)39 b(e-commerce)g(and)e(adv)-5 -b(anced)37 b(information)f(systems.)62 b(The)37 b(partners)g(of)h(the)f -(DFKI)h(are)94 2087 y(leading)30 b(large-scale)i(concerns)f(suc)m(h)g -(as)g(DaimlerChrysler,)d(SAP)-8 b(,)31 b(and)g(Alcatel,)h(plus)d(the)i -(t)m(w)m(o)h(univ)m(er-)94 2200 y(sities)e(of)h(Kaiserlautern)e(and)h -(Saarbr)s(\177)-48 b(uc)m(k)m(en.)42 b(In)30 b(the)h(range)g(of)g -(medium-sized)e(\014rms)h(INSIDERS,)g(IDS)94 2313 y(Sc)m(heer,)44 -b(T)-8 b(ecmath)41 b(and)f(KIBG)g(are)h(to)h(b)s(e)d(added.)71 -b(Finally)-8 b(,)42 b(the)e(t)m(w)m(o)i(most)f(imp)s(ortan)m(t)f -(large-scale)94 2426 y(researc)m(h)c(cen)m(ters)g(on)f(in)m -(ternational)f(lev)m(el,)j(i.e.)55 b(the)36 b(F)-8 b(raunhofer)35 -b(So)s(ciet)m(y)g(and)g(GMD,)i(round)c(o\013)j(the)94 -2539 y(circle)23 b(of)h(partners.)38 b(DFKI)24 b(is)f(part)h(of)g(sev)m -(eral)g(Europ)s(ean)f(Net)m(w)m(orks)i(of)f(Excellence)g(suc)m(h)f(as)i -(Agen)m(tLink)94 2652 y(and)30 b(CompuLog.)235 2765 y(Recen)m(tly)-8 -b(,)48 b(an)43 b(Education)g(T)-8 b(ec)m(hnology)44 b(Group)f(of)g -(DFKI,)h(headed)f(b)m(y)g(Prof.)79 b(J.H.)44 b(Siekmann,)94 -2878 y(has)39 b(b)s(een)g(established.)g(It)h(has)f(carried)g(out)h -(basic)f(researc)m(h)h(and)g(applications)e(in)g(sev)m(eral)i(\014elds) -e(of)94 2991 y(AI,)c(including)29 b(presen)m(tation)34 -b(planning)c(\(for)k(education)f(material\),)h(user)f(mo)s(deling,)f -(pro)s(of)h(planning,)94 3104 y(kno)m(wledge)24 b(represen)m(tation)g -(\(for)h(educational)e(and)h(mathematical)h(W)-8 b(eb-do)s(cumen)m -(ts\))25 b(and)e(in)m(tegration)94 3217 y(of)40 b(\(mathematical)h -(services\).)69 b(Its)40 b(main)e(protot)m(ypical)i(pro)s(duct)f(so)h -(far)g(has)f(b)s(een)g(the)h(W)-8 b(eb-based,)94 3329 -y(user-adaptiv)m(e,)41 b(generativ)m(e)f(learning)e(en)m(vironmen)m(t)g -(Activ)m(eMath)j(that)e(in)m(tegrates)h(sev)m(eral)f(external)94 -3442 y(services.)68 b(Mem)m(b)s(ers)39 b(of)h(the)f(group)g(are)h -(activ)m(ely)g(in)m(v)m(olv)m(ed)f(in)f(the)i(in)m(ternational)e -(academic)i(life)e(b)m(y)94 3555 y(organizing)30 b(or)g(con)m -(tributing)f(to)i(conferences)g(and)f(w)m(orkshops.)94 -3786 y Fa(Pr)n(of.Dr.)45 b(Joer)n(g)33 b(Siekmann)94 -3899 y Fl(Prof.)56 b(Dr.)g(Jo)s(erg)36 b(Siekmann)e(is)g(Professor)h -(of)h(Computer)f(Science)g(and)g(Director)h(of)g(the)g(Deduction)94 -4012 y(and)f(Multiagen)m(t)i(Systems)e(researc)m(h)i(departmen)m(t)f -(at)h(the)f(DFKI.)g(He)h(studied)d(at)j(the)f(Univ)m(ersit)m(y)f(of)94 -4125 y(Go)s(ettingen)25 b(\(Mathematics)i(and)d(Ph)m(ysics,)h(1972\))i -(and)d(the)h(Univ)m(ersit)m(y)f(of)h(Essex)g(\(M.Sc.)40 -b(in)23 b(Computer)94 4238 y(Science,)34 b(1973,)i(and)c(Ph.D.)h(in)f -(Computer)g(Science,)i(1976\).)51 b(F)-8 b(rom)34 b(1976)g(to)g(1983)h -(he)e(w)m(as)g(a)h(researc)m(h)94 4351 y(assistan)m(t)j(at)f(the)h -(Univ)m(ersit)m(y)e(of)i(Karlsruhe.)56 b(F)-8 b(rom)36 -b(1983)i(to)f(1991)h(he)e(w)m(as)h(Professor)f(of)g(Computer)94 -4464 y(Science)28 b(at)i(the)f(Univ)m(ersit)m(y)f(of)g(Kaiserslautern)f -(and)h(since)g(1991)j(he)d(has)h(a)g(join)m(t)f(p)s(osition)f(as)i -(professor)94 4577 y(for)36 b(Computer)g(Science)g(at)h(the)f(Univ)m -(ersitaet)h(des)f(Saarlandes)f(and)h(as)h(one)f(of)h(the)f(directors)g -(at)h(the)94 4690 y(DFKI.)42 b(He)g(has)f(published)c(widely)j(in)g -(AI,)h(Automated)h(Reasoning)f(and)g(Uni\014cation)f(Theory)h(and)94 -4802 y(serv)m(ed)30 b(on)g(man)m(y)f(programme)h(committees)h(and)e(w)m -(as)h(programme)g(c)m(hairman)f(of)h(v)-5 b(arious)29 -b(conferences)94 4915 y(\(suc)m(h)e(as)h(CADE,)g(KI)e(etc.\).)42 -b(He)28 b(is)e(editor)h(of)g(sev)m(eral)h(logic)f(and)g(AI)g(orien)m -(ted)g(scien)m(ti\014c)g(journals)e(\(suc)m(h)94 5028 -y(as)36 b(Journal)f(of)h(Automated)h(Reasoning,)g(Journal)e(of)h -(Arti\014cial)e(In)m(telligence,)j(Journal)d(of)j(Logic)f(and)94 -5141 y(Computation)30 b(etc\).)44 b(His)30 b(biograph)m(y)h(is)f -(included)e(in)i(most)h(in)m(ternational)f(Whos)h(Who,)h(as)f(one)g(of) -g(the)p eop -%%Page: 43 43 -43 42 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(43)94 171 y(founders)29 b(of)h(AI)h(in)e(German)m(y)-8 -b(.)94 402 y Fa(PD.Dr.)46 b(Erica)34 b(Melis)94 515 y -Fl(Erica)g(Melis)f(is)g(a)h(Senior)f(Researc)m(her)i(at)f(the)h(German) -f(Researc)m(h)h(Cen)m(ter)f(for)g(Arti\014cial)e(In)m(telligence)94 -628 y(\(DFKI)j(Gm)m(bH\).)h(She)e(w)m(as)h(a)g(researc)m(h)g(scien)m -(tist)f(at)i(the)f(Sc)m(ho)s(ol)f(of)h(Computer)e(Science)i(of)g -(Carnegie)94 741 y(Mellon)h(Univ)m(ersit)m(y)h(and)g(at)h(the)f -(Departmen)m(t)h(of)g(AI)f(at)h(the)f(Univ)m(ersit)m(y)g(of)g(Edin)m -(burgh.)59 b(Later)38 b(she)94 854 y(has)g(b)s(een)f(an)h(Assistan)m(t) -h(Professor)f(at)h(the)f(Univ)m(ersit)m(y)g(of)g(Saarland)f(and)g(is)h -(mem)m(b)s(er)f(of)i(a)f(Sonder-)94 967 y(forsc)m(h)m(ungsb)s(ereic)m -(h)d(in)g(Saarbruec)m(k)m(en.)59 b(She)36 b(serv)m(ed)g(on)h(n)m -(umerous)e(programme)h(committees.)60 b(Erica)94 1080 -y(Melis)38 b(is)g(the)g(editor)h(of)g(pro)s(ceedings)e(and)h(the)h -(co/author)h(of)f(n)m(umerous)f(scien)m(ti\014c)g(pap)s(ers)f(in)h -(jour-)94 1193 y(nals,)32 b(conferences,)h(and)f(collections)f(in)g -(areas)i(suc)m(h)f(as)g(deduction,)f(planning,)g(case-based)i -(reasoning,)94 1306 y(in)m(telligen)m(t)k(tutor)i(systems.)g(Curren)m -(tly)-8 b(,)40 b(her)e(researc)m(h)h(in)m(terests)g(fo)s(cus)f(pro)s -(of)g(planning)e(and)i(on)g(the)94 1418 y(application)32 -b(of)i(Arti\014cial)e(In)m(telligence)h(tec)m(hnology)i(in)d(in)m -(telligen)m(t)h(learning)f(en)m(vironmen)m(ts.)h(She)g(is)g(a)94 -1531 y(mem)m(b)s(er)d(of)g(AAAI)h(and)f(GI.)94 1775 y -Fg(A.4)112 b(Nijmegen)36 b(\(&)h(Eindho)m(v)m(en\))94 -1946 y Fl(Subfaculteit)29 b(Informatica)94 2059 y(F)-8 -b(aculteit)31 b(Natuurw)m(etensc)m(happ)s(en,)f(Wiskunde)f(en)h -(Informatica)94 2172 y(Katholiek)m(e)h(Univ)m(ersiteit)e(Nijmegen)94 -2285 y(T)-8 b(o)s(erno)s(oiv)m(eld)29 b(1)94 2398 y(6525)j(ED)f -(Nijmegen)94 2511 y(The)f(Netherlands)94 2624 y(h)m -(ttp://www.cs.kun.nl)235 2737 y(The)41 b(Sub-facult)m(y)e(of)j -(Computer)e(Science)g(at)i(the)f(Univ)m(ersit)m(y)f(of)i(Nijmegen)e -(hosts)h(a)g(broad)g(ex-)94 2850 y(p)s(erience)f(in)f(logic,)k(formal)d -(metho)s(ds)g(and)g(theorem)h(pro)m(ving.)71 b(The)40 -b(F)-8 b(acult)m(y)41 b(of)g(Mathematics)h(and)94 2963 -y(Computer)29 b(Science)i(of)f(Eindho)m(v)m(en)f(Univ)m(ersit)m(y)h(of) -g(T)-8 b(ec)m(hnology)31 b(is)f(strong)g(in)f(computer)h(algebra,)h -(the-)94 3076 y(orem)j(pro)m(ving)e(and)h(applying)f(W)-8 -b(eb)34 b(tec)m(hnology)h(to)f(mathematics.)51 b(Nijmegen)33 -b(and)g(Eindho)m(v)m(en)f(ha)m(v)m(e)94 3188 y(a)39 b(long)f(history)g -(in)f(co)s(op)s(eration)i(on)f(topics)h(related)f(to)i(this)d(FET)i -(prop)s(osal,)g(notably)g(t)m(yp)s(e)f(theory)-8 b(,)94 -3301 y(theorem)31 b(pro)m(ving)f(and)g(com)m(bining)f(v)-5 -b(arious)29 b(computer)i(mathematics)g(applications,)e(esp)s(ecially)g -(using)94 3414 y(Op)s(enMath.)38 b(This)23 b(co)s(op)s(eration)h(w)m -(as)h(mainly)e(taking)i(place)g(b)s(et)m(w)m(een)g(the)g(researc)m(h)g -(groups)f(of)h(Geuv)m(ers)94 3527 y(and)30 b(Barendregt)h(in)e -(Nijmegen)h(and)g(the)g(researc)m(h)h(group)f(of)h(Cohen)e(in)g(Eindho) -m(v)m(en.)235 3640 y(The)41 b(researc)m(h)i(group)e(of)h(Geuv)m(ers)g -(and)f(Barendregt)h(is)f(part)g(of)h(the)g(EC)f(sp)s(onsored)g -(Thematic)94 3753 y(Net)m(w)m(ork)32 b(\\TYPES")f(\(IST-1999-29001\))k -(and)30 b(of)h(its)f(ancestor,)i(the)e(EC)g(W)-8 b(orking)31 -b(Group)f(\\T)m(yp)s(es)h(for)94 3866 y(Pro)s(ofs)c(and)g(Programs",)i -(whic)m(h)e(testi\014es)h(there)g(in)m(terest)g(in)e(theorem)i(pro)m -(ving,)g(esp)s(ecially)e(using)g(t)m(yp)s(e)94 3979 y(theory)j(based)g -(theorem)h(pro)m(v)m(ers.)40 b(The)29 b(FT)-8 b(A)29 -b(pro)5 b(ject)30 b(\(F)-8 b(undamen)m(tal)29 b(Theorem)g(of)g -(Algebra\),)h(started)94 4092 y(in)f(1999)j(and)e(to)h(b)s(e)e -(\014nished)f(in)h(2001,)j(has)e(as)h(its)e(main)h(goal)g(to)h -(formalize)f(\(in)f(Co)s(q\))h(a)h(large)g(b)s(o)s(dy)d(of)94 -4205 y(undergraduate)d(mathematics)h(\(algebra)g(and)f(analysis\),)g -(culminating)e(in)h(a)i(pro)s(of)f(of)h(the)f(fundamen)m(tal)94 -4318 y(theorem)i(of)g(algebra.)39 b(The)26 b(formalization)f(of)i(the)g -(mathematics)g(is)e(no)m(w)i(\014nished)d(and)h(the)i(next)g(step)f(is) -94 4430 y(to)g(mak)m(e)h(the)e(formalization)f(accessible)i(and)e -(usable)h(b)m(y)g(others,)i(preferably)d(through)g(the)i(W)-8 -b(orld)25 b(Wide)94 4543 y(W)-8 b(eb.)40 b(The)25 b(researc)m(h)h -(group)e(in)h(Nijmegen)g(and)f(the)i(researc)m(h)g(group)f(of)g(Cohen)g -(in)f(Eindho)m(v)m(en)g(are)i(b)s(oth)94 4656 y(part)i(of)h(the)g(EC)e -(W)-8 b(orking)29 b(Group)f(Calculem)m(us,)f(whic)m(h)h(aims)f(at)i -(bridging)d(the)j(gap)g(b)s(et)m(w)m(een)g(di\013eren)m(t)94 -4769 y(mathematical)44 b(computer)g(applications,)h(lik)m(e)e(computer) -g(algebra)h(systems)g(and)f(theorem)h(pro)m(v)m(ers.)94 -4882 y(One)26 b(of)i(the)f(v)m(ehicles)f(for)h(doing)f(so)h(is)f(the)h -(de\014nition)e(of)i(Op)s(enMath)f(as)h(an)g(in)m(termediate)f -(language)i(for)94 4995 y(the)35 b(exc)m(hange)h(of)f(mathematical)h -(ob)5 b(jects)35 b(among)h(computer)f(applications.)52 -b(The)34 b(researc)m(h)i(group)e(of)94 5108 y(Cohen)29 -b(is)f(part)h(of)g(the)h(IST)e(Thematic)h(Net)m(w)m(ork)h(\\Op)s -(enMath")g(\(IST-2000-28719\))j(and)c(its)f(ancestor,)94 -5221 y(the)j(Op)s(enMath)e(Esprit)g(pro)5 b(ject)31 b(\()p -Fb(http://www.openmath.org/)p Fl(\).)p eop -%%Page: 44 44 -44 43 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(44)94 171 y Fi(T)-9 b(ec)m(hnical)29 b(Con)m(tributors)91 -b Fl(The)24 b(p)s(eople)g(from)g(Nijmegen)g(and)g(Eindho)m(v)m(en)f(in) -m(v)m(olv)m(ed)h(in)f(the)i(pro)5 b(ject)94 284 y(are:)230 -460 y Fe(\017)46 b Fl(Herman)30 b(Geuv)m(ers)h(\(Asso)s(ciate)h -(Professor,)e(Nijmegen\))230 644 y Fe(\017)46 b Fl(Arjeh)30 -b(Cohen)g(\(F)-8 b(ull)29 b(Professor,)i(Eindho)m(v)m(en\))230 -827 y Fe(\017)46 b Fl(Henk)31 b(Barendregt)g(\(F)-8 b(ull)29 -b(Professor,)i(Nijmegen\))230 1010 y Fe(\017)46 b Fl(Milad)29 -b(Niqui)g(\(Ph.D.)i(studen)m(t,)f(Nijmegen\))230 1193 -y Fe(\017)46 b Fl(Jasp)s(er)30 b(Stein)f(\(Ph.D.)i(studen)m(t,)f -(Nijmegen\))230 1376 y Fe(\017)46 b Fl(Luis)29 b(Cruz-Filip)s(e)e -(\(Ph.D.)k(studen)m(t,)g(Nijmegen\))230 1559 y Fe(\017)46 -b Fl(F)-8 b(reek)32 b(Wiedijk)d(\(P)m(ost)i(Do)s(c)g(researc)m(her,)h -(Nijmegen\))230 1742 y Fe(\017)46 b Fl(Dan)31 b(Synek)f(\(Programmer,)h -(Nijmegen\))230 1925 y Fe(\017)46 b Fl(Ernesto)31 b(Reinaldo)e -(Barreiro)h(\(Ph.D.)h(studen)m(t,)f(Eindho)m(v)m(en\))235 -2101 y(In)g(case)h(of)g(appro)m(v)-5 b(al,)30 b(w)m(e)h(exp)s(ect)g(to) -g(o\013er)g(a)f(30-mon)m(ths)i(Ph.D.)e(p)s(osition)f(on)h(pro)5 -b(ject)31 b(funding.)94 2327 y Fa(Herman)i(Geuvers)g(\(Nijmegen-Eindho) -n(ven)g(Site)h(Leader\))94 2440 y Fl(Born)c(19/05/64)94 -2553 y(Asso)s(ciate)h(Professor)f(in)f(F)-8 b(oundations)30 -b(of)h(Mathematics)g(and)f(Computer)f(Science)94 2666 -y(F)-8 b(aculteit)31 b(NWI,)g(KUN,)g(T)-8 b(o)s(erno)s(oiv)m(eld)29 -b(1,)i(6525)h(ED)f(Nijmegen,)f(NL)94 2779 y(Phone:)40 -b(+31)31 b(243)h(652603)94 2892 y(E-mail:)p Fb(herman@cs.kun.nl)235 -3005 y Fl(Herman)37 b(Geuv)m(ers)g(studied)e(Mathematics)j(at)g(the)f -(Univ)m(ersit)m(y)f(of)h(Nijmegen)f(and)h(got)h(his)d(Ph.D.)94 -3118 y(in)d(Mathematics)j(and)f(Computer)f(Science)g(in)g(1993)i(at)g -(the)f(same)g(Univ)m(ersit)m(y)-8 b(.)51 b(In)33 b(the)h(same)g(y)m -(ear)h(he)94 3230 y(b)s(ecame)30 b(assistan)m(t)g(professor)f(in)g -(computer)g(science)h(at)h(the)f(Eindho)m(v)m(en)e(Univ)m(ersit)m(y)h -(of)h(T)-8 b(ec)m(hnology)31 b(in)94 3343 y(the)21 b(F)-8 -b(ormal)20 b(Metho)s(ds)g(group.)37 b(F)-8 b(rom)21 b(Jan)m(uary)f(1st) -h(2000,)k(he)20 b(is)f(asso)s(ciate)j(professor)d(at)j(the)e(Departmen) -m(t)94 3456 y(of)29 b(Computer)f(Science)g(of)h(the)g(Univ)m(ersit)m(y) -f(of)h(Nijmegen)g(in)e(the)i(F)-8 b(oundations)29 b(group.)39 -b(He)30 b(is)d(curren)m(tly)94 3569 y(teac)m(hing)k(in)e(F)-8 -b(ormal)31 b(Languages)g(and)f(Computabilit)m(y)e(and)i(T)m(yp)s(e)f -(Theory)-8 b(.)94 3807 y Fi(P)m(ositions)36 b(and)f(Managemen)m(t)f -(Exp)s(erience)230 3983 y Fe(\017)46 b Fl(Resp)s(onsible)19 -b(for)i(the)g(Nijmegen-Utrec)m(h)m(t)i(site)e(of)h(the)f(EC)g(Thematic) -g(Net)m(w)m(ork)i(\\TYPES")e(\(Com-)321 4096 y(puter)30 -b(Assisted)g(Reasoning)g(Based)h(on)f(T)m(yp)s(e)g(Theory\),)g -(IST-1999-29001.)230 4279 y Fe(\017)46 b Fl(Presiden)m(t)40 -b(of)g(the)g(education)g(committee)h(of)f(the)h(Sub-facult)m(y)e(of)h -(Computer)f(Science)h(at)h(the)321 4392 y(Univ)m(ersit)m(y)30 -b(of)g(Nijmegen.)230 4575 y Fe(\017)46 b Fl(F)-8 b(ormer)32 -b(mem)m(b)s(er)f(of)h(the)f(Managemen)m(t)j(Board)d(of)h(the)g(Dutc)m -(h)g(researc)m(h)g(sc)m(ho)s(ol)f(IP)-8 b(A)32 b(\(Institute)321 -4688 y(for)e(Programming)g(Researc)m(h)h(and)f(Algorithmics\).)94 -4926 y Fi(Researc)m(h)g(In)m(terests)90 b Fl(The)25 b(researc)m(h)h(in) -m(terests)f(of)g(Herman)g(Geuv)m(ers)h(are:)38 b(F)-8 -b(ormalization)25 b(of)g(Math-)94 5039 y(ematics,)38 -b(In)m(teractiv)m(e)f(Theorem)e(Pro)m(ving,)i(Higher-order)e(Logics,)j -(Comm)m(unicating)c(F)-8 b(ormal)36 b(Mathe-)94 5152 -y(matics,)g(T)m(yp)s(e)e(Theory)g(and)f Fc(\025)p Fl(-calculus.)52 -b(His)34 b(recen)m(t)h(scien)m(ti\014c)f(activities)g(range)h(from)f -(the)h(study)e(of)94 5265 y(formal)40 b(theories)g(\(esp)s(ecially)f(t) -m(yp)s(ed)h Fc(\025)p Fl(-calculi\))g(to)h(doing)f(large)g(theory)h -(dev)m(elopmen)m(ts)g(in)e(theorem)94 5378 y(pro)m(v)m(ers,)31 -b(notably)f(the)g(formalization)g(of)g(the)h(fundamen)m(tal)e(theorem)i -(of)f(algebra)h(in)e(Co)s(q.)p eop -%%Page: 45 45 -45 44 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(45)94 171 y Fi(Selected)35 b(Publications)230 343 -y Fe(\017)46 b Fl(H.)25 b(Geuv)m(ers,)i(E.)e(Barendsen,)g(Some)g -(logical)f(and)g(syn)m(tactical)i(observ)-5 b(ations)24 -b(concerning)g(the)h(\014rst)321 456 y(order)30 b(dep)s(enden)m(t)g(t)m -(yp)s(e)g(system)h(lam)m(b)s(da)e(P)-8 b(,)31 b Fd(Mathematic)-5 -b(al)35 b(Structur)-5 b(es)34 b(in)e(Computer)i(Scienc)-5 -b(e)p Fl(,)321 569 y(v)m(ol.)31 b(9-4,)h(1999,)g(pp.)e(335)h({)g(360) -230 750 y Fe(\017)46 b Fl(H.)28 b(Geuv)m(ers,)h(F.)f(Wiedijk,)f(J.)g -(Zw)m(anen)m(burg,)g(Equational)g(Reasoning)g(via)g(P)m(artial)g -(Re\015ection,)i(in)321 863 y Fd(The)-5 b(or)g(em)39 -b(Pr)-5 b(oving)36 b(for)h(Higher)g(Or)-5 b(der)37 b(L)-5 -b(o)g(gics,)38 b(TPHOL)d(2000)p Fl(,)j(P)m(ortland)c(OR,)g(USA,)g(eds.) -h(M.)321 976 y(Aagaard)d(and)d(J.)i(Harrison,)e(LNCS)h(1869,)i(pp.)e -(162)h({)g(178.)230 1157 y Fe(\017)46 b Fl(M.)37 b(Oostdijk)e(and)h(H.) -h(Geuv)m(ers,)h(Pro)s(of)e(b)m(y)h(Computation)e(in)g(the)i(Co)s(q)f -(system,)i(to)f(app)s(ear)f(in)321 1270 y Fd(The)-5 b(or)g(etic)g(al)35 -b(Computer)f(Scienc)-5 b(e)p Fl(,)31 b(2001.)230 1451 -y Fe(\017)46 b Fl(H.)c(Barendregt)g(and)f(H.)h(Geuv)m(ers,)j(Pro)s(of)c -(Assistan)m(ts)g(using)f(Dep)s(enden)m(t)i(T)m(yp)s(e)f(Systems,)j(to) -321 1564 y(app)s(ear)29 b(as)h(a)f(c)m(hapter)h(of)g(the)f -Fd(Handb)-5 b(o)g(ok)34 b(of)e(A)n(utomate)-5 b(d)33 -b(R)-5 b(e)g(asoning)p Fl(,)31 b(eds.)f(A.)f(Robinson)f(and)h(A.)321 -1677 y(V)-8 b(oronk)m(o)m(v,)33 b(Elsevier)c(2001.)230 -1859 y Fe(\017)46 b Fl(P)-8 b(.A.M.)41 b(Seuren,)e(V.)h(Capretta)f(and) -f(H.)h(Geuv)m(ers,)j(The)c(logic)h(and)f(mathematics)h(of)g(o)s -(ccasion)321 1971 y(sen)m(tences,)32 b(to)f(app)s(ear)f(in)f(the)h -Fd(Journal)k(of)f(Linguistics)f(and)i(Philosophy)p Fl(,)f(2001.)94 -2212 y Fg(A.5)112 b(MPG)37 b(&)h(TU)f(Berlin)94 2384 -y Fi(A.5.1)105 b(Max)35 b(Planc)m(k)h(Institute)e(for)h(Gra)m -(vitational)g(Ph)m(ysics)94 2555 y Fl(Alb)s(ert)29 b(Einstein)f -(Institute)94 2668 y(Am)i(M)s(\177)-48 b(uhlen)m(b)s(erg)29 -b(1)94 2781 y(14476)k(Golm,)d(German)m(y)94 2894 y(h)m -(ttp://www.aei.mpg.de)94 3120 y(Since)42 b(1998)i(the)f(Max)g(Planc)m -(k)g(Institute)f(for)h(Gra)m(vitational)f(Ph)m(ysics,)k(whic)m(h)41 -b(is)h(dev)m(oted)i(to)f(basic)94 3233 y(researc)m(h)33 -b(in)d(relativit)m(y)-8 b(,)32 b(publishes)d(one)j(of)g(the)g(most)g -(inno)m(v)-5 b(ativ)m(e)32 b(electronic)g(science)g(journals,)f -Fd(Living)94 3346 y(R)-5 b(eviews)34 b(in)g(R)-5 b(elativity)32 -b Fl(\(h)m(ttp://www.livingreviews.org\).)43 b(Its)31 -b(mission)f(is)g(to)i(build)d(the)i(journal)f(in)m(to)94 -3458 y(a)36 b(primary)d(reference)j(p)s(oin)m(t)e(in)g(the)h(\014eld,)h -(exploiting)d(new)i(and)g(cutting)g(edge)h(W)-8 b(eb)36 -b(tec)m(hnologies)g(to)94 3571 y(maximise)25 b(use,)i(transparency)-8 -b(,)28 b(and)e(depth)g(of)g(the)h(information)e(pro)m(vided.)38 -b(The)26 b(Institute)g(has)g(a)h(n)m(um-)94 3684 y(b)s(er)i(of)h -(sta\013)h(who)e(are)h(exceptionally)f(skilled)f(in)h(computing,)g(and) -g(man)m(y)h(of)g(them)g(con)m(tributed)f(to)i(the)94 -3797 y(dev)m(elopmen)m(t)26 b(of)g(soft)m(w)m(are)h(that)g(has)e(made)h -(the)g(journal's)f(W)-8 b(eb)26 b(site)g(one)g(of)g(the)g(most)g(adv)-5 -b(anced)26 b(in)e(the)94 3910 y(w)m(orld)32 b(of)h(electronic)g -(publishing.)44 b(F)-8 b(urther)33 b(bac)m(kground)g(information)e(on)i -(the)g(journal)f(can)h(b)s(e)g(found)94 4023 y(at)28 -b(h)m(ttp://www.livingreviews.org/Pro)5 b(ject/index.h)m(tml.)38 -b(F)-8 b(ast)29 b(and)e(e\013ectiv)m(e)i(in)m(ternational)e(dissem-)94 -4136 y(ination)k(of)i(the)f(W)-8 b(eb)34 b(journal)d(is)g(pro)m(vided)g -(b)m(y)h(the)h(Europ)s(ean)e(Mathematical)j(So)s(ciet)m(y's)e -(Information)94 4249 y(Service,)e(whic)m(h)f(main)m(tains)g(a)i(net)m -(w)m(ork)g(of)g(more)f(than)h(30)g(mirror)d(serv)m(ers)j(w)m(orldwide.) -94 4475 y(The)40 b(Institute)f(has)h(close)h(connections)f(to)h(the)g -(newly)e(founded)g(Cen)m(ter)h(for)g(Information)g(Manage-)94 -4588 y(men)m(t)35 b(of)g(the)g(Max)g(Planc)m(k)f(So)s(ciet)m(y)h(that)g -(will)d(act)k(as)f(a)g(cen)m(tral)g(service)f(to)h(the)g(more)g(than)f -(80)i(Max)94 4700 y(Planc)m(k)23 b(Institutes,)h(to)g(impro)m(v)m(e)f -(their)g(abilit)m(y)f(to)i(access)g(and)f(to)h(publish)19 -b(information)j(on)h(the)h(In)m(ternet.)94 4813 y(It)32 -b(is)f(further)g(co)s(op)s(erating)h(with)f(the)h(leading)f(Europ)s -(ean)g(publisher)e(of)j(original)e(researc)m(h)j(in)e(gra)m(vita-)94 -4926 y(tional)c(ph)m(ysics,)g(the)h(Institute)e(of)i(Ph)m(ysics)f -(Publishing)c(\(Bristol,)28 b(UK\))g(with)e(its)h(journal)f -Fd(Classic)-5 b(al)31 b(and)94 5039 y(Quantum)i(R)-5 -b(elativity)p Fl(.)94 5152 y(The)43 b(Max)h(Planc)m(k)f(Institute)g -(for)g(Gra)m(vitational)h(Ph)m(ysics)f(will)d(join)j(forces)h(with)e -(Professor)h(Bernd)94 5265 y(W)-8 b(egner)35 b(at)g(the)f(T)-8 -b(ec)m(hnical)33 b(Univ)m(ersit)m(y)h(in)e(Berlin.)50 -b(Both)34 b(parties)g(are)g(curren)m(tly)f(co)s(op)s(erating)h(in)e -(the)94 5378 y(dissemination)c(and)h(mirroring)f(of)j(electronic)f -(journals)f(lik)m(e)h Fd(Living)i(R)-5 b(eviews)33 b(in)f(R)-5 -b(elativity)p Fl(.)p eop -%%Page: 46 46 -46 45 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(46)94 171 y Fi(T)-9 b(ec)m(hnical)36 b(Con)m(tributors)30 -b Fl(P)m(eople)h(in)m(v)m(olv)m(ed)f(in)f(the)i(pro)5 -b(ject)30 b(are:)230 346 y Fe(\017)46 b Fl(Bernard)30 -b(Sc)m(h)m(utz)h(\(Institute)f(Director)h(and)f(Editor-in-Chief)7 -b(\))230 529 y Fe(\017)46 b Fl(Ian)30 b(Kelley)g(\(Programmer\))230 -712 y Fe(\017)46 b Fl(N.N.)31 b(\(Ph.D.)g(Studen)m(ts)f(and)g(P)m -(ost-Do)s(cs\))235 887 y(In)g(case)h(of)g(appro)m(v)-5 -b(al)30 b(w)m(e)g(exp)s(ect)h(to)g(o\013er)g(a)g(full)d(scien)m -(ti\014c)i(programmer)g(p)s(osition)e(for)i(a)h(p)s(erio)s(d)d(of)94 -1000 y(2-y)m(ears.)235 1225 y(Prof.)50 b(Bernard)33 b(Sc)m(h)m(utz)h -(\(b)s(orn)e(in)g(1946)j(in)e(the)g(USA\))h(is)e(director)h(of)h(the)g -(Max)g(Planc)m(k)f(Institute)94 1338 y(for)41 b(Gra)m(vitational)h(Ph)m -(ysics)f(\(Alb)s(ert)f(Einstein)g(Institute\),)k(heading)c(the)i -(Astroph)m(ysical)f(Relativit)m(y)94 1451 y(Division)d(of)j(the)f -(Institute,)i(and)e(Professor)g(at)h(Cardi\013)e(Univ)m(ersit)m(y)-8 -b(.)70 b(In)39 b(ac)m(kno)m(wledgemen)m(t)k(of)d(pio-)94 -1564 y(neering)d(scien)m(ti\014c)h(w)m(ork)h(in)e(gra)m(vitational)i -(ph)m(ysics)e(he)h(has)g(b)s(een)g(elected)h(F)-8 b(ello)m(w)39 -b(of)f(the)h(American)94 1677 y(Ph)m(ysical)28 b(So)s(ciet)m(y)-8 -b(.)41 b(He)30 b(in)m(v)m(en)m(ted)f(the)h(\\Living)d(Reviews")i -(concept)i(in)c(1996)k(and)e(acts)h(as)f(the)h(journal's)94 -1790 y(Editor-in-c)m(hief.)42 b(Bernard)30 b(Sc)m(h)m(utz)i(has)f(serv) -m(ed)h(on)f(the)g(Editorial)e(Board)j(of)f Fd(Classic)-5 -b(al)36 b(and)e(Quantum)94 1903 y(Gr)-5 b(avity)27 b -Fl(b)s(et)m(w)m(een)f(1988)h(and)e(1990,)k(and)c(since)g(1998)i(is)e -(mem)m(b)s(er)g(of)g(the)h(Editorial)e(Board)h(of)h(the)g(mono-)94 -2016 y(graph)f(series)g(Studies)f(In)h(High)g(Energy)h(Ph)m(ysics,)g -(Cosmology)g(and)f(Gra)m(vitation)h(\(Institute)f(of)h(Ph)m(ysics)94 -2129 y(Publishing,)h(Bristol,)i(UK\).)230 2326 y Fe(\017)46 -b Fl(Sc)m(h)m(utz,)35 b(B.F.)f Fd(A)h(First)h(Course)f(in)g(Gener)-5 -b(al)37 b(R)-5 b(elativity)p Fl(.)50 b(Cam)m(bridge)32 -b(Univ)m(ersit)m(y)h(Press,)g(Cam-)321 2439 y(bridge)c(\(1985\).)230 -2622 y Fe(\017)46 b Fl(Sc)m(h)m(utz,)26 b(B.F.)e Fd(Ge)-5 -b(ometric)g(al)29 b(metho)-5 b(ds)28 b(of)e(mathematic)-5 -b(al)29 b(physics)p Fl(.)40 b(Cam)m(bridge)22 b(Univ)m(ersit)m(y)h -(Press,)321 2735 y(Cam)m(bridge,)30 b(\(1980\).)230 2917 -y Fe(\017)46 b Fl(Wheary)-8 b(,)39 b(J.,)f(and)d(Sc)m(h)m(utz,)j(B.)f -Fd(Making)h(an)g(Ele)-5 b(ctr)g(onic)39 b(Journal)g(Live)p -Fl(.)57 b(Journal)35 b(of)h(Electronic)321 3030 y(Publishing,)19 -b(v)m(ol.3,)k(is.)36 b(1,)23 b(Septem)m(b)s(er)d(\(1997\).)40 -b(\(h)m(ttp://www.press.umic)m(h.edu/jep/03-01/LR.h)m(tml\))230 -3213 y Fe(\017)46 b Fl(Wheary)-8 b(,)30 b(J.;)f(Wild,)e(L.;)i(Sc)m(h)m -(utz,)h(B.)e(F.)h(and)f(W)-8 b(eyher,)29 b(C.)f Fd(Thinking)j(and)g -(Developing)g(Ele)-5 b(ctr)g(oni-)321 3326 y(c)g(al)5 -b(ly)p Fl(,)24 b(Journal)18 b(of)j(Electronic)e(Publishing,)g(v)m -(ol.4,)k(is.)37 b(2,)23 b(Decem)m(b)s(er)e(\(1998\).)40 -b(\(h)m(ttp://www.press.umic)m(h.edu/jep/04-)321 3439 -y(02/wheary2.h)m(tml\))94 3676 y Fi(A.5.2)105 b(Cen)m(ter)34 -b(for)h(Information)f(Managemen)m(t)g(in)h(the)g(Max)g(Planc)m(k)h(So)s -(ciet)m(y)94 3848 y Fl(c/o)c(Max)f(Planc)m(k)f(So)s(ciet)m(y)94 -3961 y(Hofgartenstrasse)i(8)94 4074 y(PF)f(10)g(10)g(62)94 -4187 y(D-80084)i(Munic)m(h,)d(German)m(y)94 4300 y(h)m -(ttp://www.zim.mpg.de)g(\(not)h(y)m(et)h(a)m(v)-5 b(ailable\))94 -4525 y(The)38 b(mission)f(of)i(the)h(new)e(Cen)m(ter)h(for)g -(Information)f(Managemen)m(t)j(of)e(the)g(Max)h(Planc)m(k)f(So)s(ciet)m -(y)g(is)94 4638 y(to)d(allo)m(w)e(the)i(So)s(ciet)m(y)f(with)f(its)g -(more)h(than)g(80)h(sp)s(ecialized)d(researc)m(h)j(Institutes)e(to)i(k) -m(eep)g(pace)g(with)94 4751 y(and)c(ev)m(en)m(tually)g(pla)m(y)g(a)h -(leadership)c(role)j(in)f(Europ)s(e)h(in)e(the)j(managemen)m(t)h(of)e -(scien)m(ti\014c)g(information.)94 4864 y(It)i(will)d(b)s(e)i -(sta\013ed)i(with)d(6)i(emplo)m(y)m(ees)h(and)e(start)i(op)s(erating)e -(in)f(Septem)m(b)s(er)i(2001.)52 b(The)34 b(pro)5 b(ject)34 -b(will)94 4977 y(b)s(e)i(advised)f(b)m(y)h(a)h(commission)d(of)j(MPG)f -(Institute)g(directors)g(and)f(Ric)m(k)i(Luce,)h(the)e(Director)h(of)f -(the)94 5090 y(Los)30 b(Alamos)h(National)f(Lab)s(oratory's)h("Library) -e(Without)h(W)-8 b(alls".)94 5203 y Fi(T)f(ec)m(hnical)36 -b(Con)m(tributors)230 5378 y Fe(\017)46 b Fl(Theresa)30 -b(V)-8 b(elden)30 b(\(Executiv)m(e)i(Director,)f(CIM\))p -eop -%%Page: 47 47 -47 46 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(47)230 171 y Fe(\017)46 b Fl(N.N.)31 b(\(T)-8 b(ec)m(hnical)31 -b(supp)s(ort\))235 359 y(Theresa)36 b(V)-8 b(elden)36 -b(\(b)s(orn)f(in)f(1970)k(in)d(German)m(y\))i(graduated)f(in)e(Ph)m -(ysics)i(from)f(Bielefeld)g(Univ)m(er-)94 472 y(sit)m(y)c(in)f(1997)k -(after)e(ha)m(ving)f(completed)g(a)h(diploma)d(thesis)i(on)g -(Mathematical)i(Relativit)m(y)e(at)h(the)g(Max)94 585 -y(Planc)m(k)27 b(Institute)f(for)g(Gra)m(vitational)h(Ph)m(ysics.)39 -b(Since)26 b(1998)i(she)f(has)g(b)s(een)f(leading)f(the)i(editorial)e -(team)94 698 y(of)34 b Fd(Living)h(R)-5 b(eviews)36 b(in)g(R)-5 -b(elativity)35 b Fl(as)f(Managing)g(Editor,)f(organizing)g(the)h -(editorial)e(pro)s(cess)i(and)f(su-)94 811 y(p)s(ervising)28 -b(the)i(dev)m(elopmen)m(t)h(of)g(soft)m(w)m(are)g(for)f(electronic)h -(publishing)26 b(and)j(journal)g(managemen)m(t.)94 1164 -y Fi(A.5.3)105 b(TU)35 b(Berlin)94 1335 y Fl(F)-8 b(ac)m(h)m(b)s(ereic) -m(h)31 b(Mathematik)94 1448 y(T)-8 b(ec)m(hnisc)m(he)31 -b(Univ)m(ersitt)e(Berlin)94 1561 y(Strae)i(des)f(17.)41 -b(Juni)29 b(135)94 1674 y(D)i(-)f(10623)j(Berlin)94 1787 -y Fb(http://www.emis.de)94 2013 y Fl(The)i(group)g(at)h(TU)f(Berlin)f -(will)e(b)s(e)j(lead)g(b)m(y)g(Prof.Dr.)56 b(Bernd)35 -b(W)-8 b(egner.)57 b(He)36 b(is)e(professor)h(for)g(math-)94 -2126 y(ematics)f(with)f(a)h(full)e(p)s(osition)f(at)k(the)f -(mathematics)g(departmen)m(t.)52 b(Under)33 b(his)f(guidance)h(TU)h -(Berlin)94 2238 y(is)c(partner)f(in)h(sev)m(eral)g(pro)5 -b(jects)31 b(and)f(en)m(terprises)g(dealing)f(with)g(information)g(and) -h(comm)m(unication)g(in)94 2351 y(mathematics:)235 2464 -y(He)h(is)230 2652 y Fe(\017)46 b Fl(editor-in-c)m(hief)41 -b(of)i(Zen)m(tralblatt)f(MA)-8 b(TH,)43 b(the)g(most)g(comprehensiv)m -(e)f(literature)f(information)321 2765 y(service)30 b(in)g -(mathematics,)h(with)e(W)-8 b(eb)31 b(access)g(under)e(EMIS,)230 -2952 y Fe(\017)46 b Fl(mem)m(b)s(er)31 b(of)h(the)g(advisory)f(b)s -(oard)f(for)i(MA)-8 b(THDI,)33 b(an)e(information)f(data)j(base)f(on)f -(education)h(in)321 3065 y(mathematics,)230 3253 y Fe(\017)46 -b Fl(Scien)m(ti\014c)34 b(Co)s(ordinator)f(of)h(EMIS,)g(the)h(Europ)s -(ean)e(Mathematical)i(Information)e(Service,)j(pro-)321 -3366 y(viding)29 b(a)h(mathematics)h(p)s(ortal)f(with)f(an)h -(electronic)g(library)e(as)j(the)f(main)g(con)m(ten)m(t,)230 -3554 y Fe(\017)46 b Fl(leader)38 b(of)h(the)f(TU-group)g(for)g(the)g -(EULER-pro)5 b(ject,)41 b(whic)m(h)c(has)h(dev)m(elop)s(ed)g(a)h -(protot)m(yp)s(e)g(for)321 3666 y(an)34 b(in)m(tegrated)g(access)h(to)f -(W)-8 b(eb-based)34 b(mathematical)g(do)s(cumen)m(ts,)h(funded)c(b)m(y) -j(T)-8 b(elematics)34 b(for)321 3779 y(Libraries,)40 -b(and)f(supp)s(orted)f(b)m(y)i(a)g(small)e(T)-8 b(AKEUP-pro)5 -b(ject)40 b(for)g(the)g(transition)e(to)i(a)g(regular)321 -3892 y(W)-8 b(eb)31 b(service,)230 4080 y Fe(\017)46 -b Fl(Scien)m(ti\014c)38 b(Director)g(of)h(the)f(LIMES-pro)5 -b(ject)39 b(\(Large)g(Infrastructures)e(in)g(Mathematics)i(-)g(En-)321 -4193 y(hanced)30 b(Services\))h(whic)m(h)e(is)g(designed)h(to)h -(transform)f(Zen)m(tralblatt)f(MA)-8 b(TH)32 b(in)m(to)e(Europ)s(ean)f -(co-)321 4306 y(op)s(eration)23 b(with)f(W)-8 b(eb-based)25 -b(input)c(structures,)k(funded)c(b)m(y)j(the)g(Fifth)e(F)-8 -b(ramew)m(ork)25 b(Programme,)230 4493 y Fe(\017)46 b -Fl(Director)38 b(of)g(the)g(ERAM-pro)5 b(ject)39 b(\(Electronic)e -(Researc)m(h)i(Arc)m(hiv)m(e)f(in)e(Mathematics\),)41 -b(funded)321 4606 y(b)m(y)31 b(Deutsc)m(he)h(F)-8 b(orsc)m(h)m -(ungsgemeinsc)m(haft)32 b(and)e(designed)g(to)h(build)d(up)i(a)h -(digital)e(arc)m(hiv)m(e)i(of)g(clas-)321 4719 y(sical)h(mathematics,)h -(capturing)e(the)h(Jahrbuc)m(h)f(ueb)s(er)g(die)g(F)-8 -b(ortsc)m(hritte)34 b(in)d(database)i(as)f(a)h(pre-)321 -4832 y(Zen)m(talblatt)d(access)i(facilit)m(y)e(to)h(the)f(arc)m(hiv)m -(e,)230 5020 y Fe(\017)46 b Fl(Chairman)41 b(of)h(the)h(Electronic)f -(Publishing)c(Committee)43 b(of)f(EMS)g(\(Europ)s(ean)f(Mathematical) -321 5133 y(So)s(ciet)m(y\),)230 5320 y Fe(\017)46 b Fl(mem)m(b)s(er)30 -b(of)h(the)f(Database)i(Committee)f(of)g(the)f(EMS)p -eop -%%Page: 48 48 -48 47 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(48)230 171 y Fe(\017)46 b Fl(asso)s(ciated)33 b(with)d(pro)5 -b(ject)33 b(Euclid)c(\(Cornell)h(Univ)m(ersit)m(y)-8 -b(,)33 b(Ithak)-5 b(a,)33 b(U.S.A.\),)g(establishing)c(a)k(non-)321 -284 y(pro\014t)d(\(electronic\))h(publication)d(facilit)m(y)h(for)h -(mathematics,)230 472 y Fe(\017)46 b Fl(mem)m(b)s(er)30 -b(of)h(the)f(b)s(oard)f(of)i(IWI)f(\(Institute)g(for)h(Scien)m(ti\014c) -e(Information)g(in)g(Osnabruec)m(k\).)94 659 y(He)j(has)e(participated) -g(with)g(one)i(or)f(more)g(talks)g(at)g(ab)s(out)g(20)h(ev)m(en)m(ts)h -(on)e(electronic)g(information)e(and)94 772 y(comm)m(unication)24 -b(in)f(2000,)28 b(including)21 b(con)m(tinen)m(tal)k(congresses)g(in)f -(Lisb)s(on,)f(Barcelona,)k(Rio)d(de)h(Janeiro,)94 885 -y(Ha)m(v)-5 b(anna,)38 b(Mosco)m(w,)h(and)c(Manila.)57 -b(He)36 b(has)f(b)s(een)h(elected)g(as)g(mem)m(b)s(er)f(of)h(the)g -(scien)m(ti\014c)f(committee)94 998 y(for)f(sev)m(eral)h(conferences)g -(on)f(the)h(sub)5 b(ject)34 b(in)f(2001:)50 b(\(Crimea,)35 -b(A)m(thens,)h(Coim)m(bra,)f(Linz,)f(Guatemala)94 1111 -y(Cit)m(y\))c(and)g(receiv)m(ed)h(in)m(vitations)e(for)h(plenary)f -(lectures)h(at)h(additional)e(conferences.)235 1224 y(These)38 -b(activities)f(giv)m(e)h(an)g(excellen)m(t)g(bac)m(kground)f(to)i -(organise)e(the)h(information)e(dissemination)94 1337 -y(and)30 b(exploitation)f(activities)h(for)g(the)h(pro)5 -b(ject.)94 1580 y Fg(A.6)112 b(T)-9 b(rusted)37 b(Logic)94 -1752 y Fl(Created)21 b(in)f(Jan)m(uary)h(1999,)k(TR)m(USTED)c(LOGIC)f -(S.A.)i(is)e(a)i(frenc)m(h)e(start-up)h(compan)m(y)-8 -b(,)25 b(whic)m(h)19 b(presen)m(ts)94 1865 y(a)39 b(unique)d(com)m -(bination)i(of)g(exp)s(ertise)g(in)f(em)m(b)s(edded)g(soft)m(w)m(are)j -(c)m(hallenges)f(and)e(in)g(formal)h(metho)s(ds)94 1978 -y(analysis.)60 b(TR)m(USTED)37 b(LOGIC)f(o\013ers)i(a)g(wide)e(range)h -(of)h(e\016cien)m(t)g(and)e(secure)i(solutions)d(for)i(smart)94 -2091 y(cards)24 b(and)f(terminals)g(in)f(the)j(follo)m(wing)d(areas)j -(:)37 b(op)s(en)24 b(systems)g(for)g(smart)g(cards)f(\(Ja)m(v)-5 -b(a)26 b(Card,Windo)m(ws)94 2204 y(SmartCards,)h(Multos\),)h(op)s(en)e -(systems)i(for)e(terminals)g(\(mobile)g(phones,)h(PD)m(A,)i(bank)d -(terminals,)h(etc\),)94 2317 y(e-commerce,)35 b(remote)e(secured)g -(access)g(to)g(in)m(tranets,)g(and)f(secured)g(net)m(w)m(orks)i -(infrastructures)c(\(home)94 2429 y(or)g(car)h(con)m(trol\).)235 -2542 y(The)24 b(dev)m(elopmen)m(t)g(metho)s(dology)-8 -b(,)26 b(inside)c(T)-8 b(rusted)24 b(Logic)g(S.A.,)i(includes)c(a)i(p)s -(ermanen)m(t)g(concern)g(of)94 2655 y(qualit)m(y)31 b(and)g(securit)m -(y)g(asp)s(ects)h(\(formal)g(sp)s(eci\014cation)e(and)h(pro)s(ofs\))g -(that)i(pro)m(vides)d(a)j(soft)m(w)m(are)g(whic)m(h)94 -2768 y(is)c(e\016cien)m(t,)j(reliable)c(and)i(ready)g(to)h(face)g(high) -e(lev)m(el)i(Common)e(Criteria)g(ev)-5 b(aluations)30 -b(when)f(needed.)235 2881 y(The)i(main)g(actors)i(in)e(the)h(smart)f -(card)h(and)f(in)g(the)h(em)m(b)s(edded)f(soft)m(w)m(are)i(industry)c -(are)k(among)f(its)94 2994 y(customers)j(:)49 b(Sun)33 -b(Microsystems)i(Inc.,)g(Bull,)g(Gemplus,)f(Ob)s(erth)m(ur,)g(Sc)m -(hlum)m(b)s(erger,)g(ST)g(Micro)s(elec-)94 3107 y(tronics,)39 -b(VISA)e(In)m(ternational,)j(Carte)e(Bleue,)h(GIE)f(Cartes)g -(Bancaires,)i(ActivCard,)f(Proton)f(W)-8 b(orld)94 3220 -y(In)m(ternational,)30 b(etc.)94 3451 y Fa(Dominique)k(Bolignano)94 -3564 y Fl(Dominique)40 b(Bolignano)h(is)f(Chairman)g(and)h(Chief)f -(Executiv)m(e)i(O\016cer)f(of)h(T)-8 b(rusted)40 b(Logic.)74 -b(He)42 b(also)94 3677 y(teac)m(hes)c(securit)m(y)f(and)f(languages)h -(as)f(a)h(part-time)g(full)d(professor)i(\(Professeur)h(Asso)s(ci\))f -(at)h(the)g(Uni-)94 3790 y(v)m(ersit)30 b(P)m(aris-Dauphine.)39 -b(F)-8 b(rom)31 b(1996)h(to)f(1999,)h(Dominique)d(Bolignano)h(w)m(ork)m -(ed)g(with)f(Dy)m(ade,)j(a)f(join)m(t)94 3902 y(v)m(en)m(ture)37 -b(b)s(et)m(w)m(een)g(Bull)e(and)h(INRIA)g(\(F)-8 b(renc)m(h)37 -b(National)g(Researc)m(h)g(Institute)f(in)f(Computer)h(Science)94 -4015 y(and)42 b(Con)m(trol\),)j(as)e(Director,)j(Resp)s(onsible)39 -b(for)j(tec)m(hnology)i(transfer)e(in)f(securit)m(y)-8 -b(,)45 b(electronic)e(com-)94 4128 y(merce,)38 b(and)d(smart)g(cards,)i -(and)e(Pro)5 b(ject)36 b(Director)g(in)e(the)i(follo)m(wing)e(areas)i -(:)51 b(formal)35 b(v)m(eri\014cation)g(of)94 4241 y(electronic)41 -b(commerce)h(proto)s(cols)e(\(and)g(more)h(generally)f(cryptographic)g -(proto)s(cols\),)k(ev)-5 b(aluation)40 b(or)94 4354 y(design)d(of)g -(securit)m(y)h(arc)m(hitectures)g(\(mainly)e(for)h(secure)h(em)m(b)s -(edded)f(systems,)j(suc)m(h)d(as)h(smart)f(cards,)94 -4467 y(pa)m(ymen)m(t)d(terminals,)e(GSM)h(phones,)g(etc.\),)j(dev)m -(elopmen)m(t)d(of)h(highly)d(secure)i(Ja)m(v)-5 b(a)34 -b(Virtual)d(Mac)m(hines)94 4580 y(\(Bull)24 b(Odyssey)h(Ja)m(v)-5 -b(aCard,)27 b(pa)m(ymen)m(t)f(terminals\),)f(formal)g(metho)s(ds)g(for) -g(ITSEC)f(and)h(Common)g(Crite-)94 4693 y(ria)h(securit)m(y)h(ev)-5 -b(aluations)26 b(\(participation)g(to)i(v)-5 b(arious)26 -b(securit)m(y)g(ev)-5 b(aluations)27 b(including)c(some)28 -b(on)e(smart)94 4806 y(cards)f(op)s(erating)g(systems\).)40 -b(Before)26 b(that,)i(Dominique)c(Bolignano)h(w)m(as)h(the)g(head)f(of) -h(a)g(researc)m(h)g(group)94 4919 y(in)d(the)h(Corp)s(orate)g(Researc)m -(h)h(Cen)m(tre)g(of)f(Bull)f(and)g(he)h(has)g(acquired,)h(from)f(1982)i -(to)e(1996,)k(a)c(deep)g(exp)s(e-)94 5032 y(rience)k(in)f(industry)f -(soft)m(w)m(are)j(dev)m(elopmen)m(t)g(and)f(formal)f(v)m(eri\014cation) -h(systems)g(\(distributed)e(systems,)94 5144 y(securit)m(y)35 -b(proto)s(cols\).)57 b(Dominique)34 b(Bolignano)i(tak)m(es)h(part)e(in) -g(the)g(Ja)m(v)-5 b(a)37 b(Card)e(F)-8 b(orum.)56 b(He)37 -b(also)e(is)g(a)94 5257 y(Mem)m(b)s(er)f(of)g(the)h(newly)e(created)i -(IFIP)f(W)-8 b(orking)34 b(group)g(on)g(F)-8 b(oundations)34 -b(of)g(Securit)m(y)g(Analysis)e(and)94 5370 y(Design.)39 -b(He)26 b(has)g(b)s(een)f(an)h(in)m(vited)e(sp)s(eak)m(er)i(at)h -(MFPS'98,)h(CA)-10 b(V'99,)28 b(CARI'98,)f(CIRM'98,)h(JFMM'98,)p -eop -%%Page: 49 49 -49 48 bop 94 -128 a Fh(MO)m(W)m(GLI,)32 b(IST-2001-33562)2533 -b Fl(49)94 171 y(R)-8 b(TCS'96,)30 b(Cartier'96,)g(F)-8 -b(emSys'97,)32 b(and)c(to)i(man)m(y)g(securit)m(y)f(or)h(formal)e -(metho)s(ds)h(symp)s(osia)f(and)h(pre-)94 284 y(sen)m(ted)41 -b(in)m(vited)e(tutorials)h(at)i(F)-8 b(orte'98,)46 b(Cartier'96,)e(F)-8 -b(orte'93.)74 b(Dominique)39 b(Bolignano)i(also)f(acted)94 -397 y(as)35 b(a)g(PhD)g(advisor,)g(as)g(a)g(review)m(er)f(and)g(ev)-5 -b(aluator)36 b(for)e(Europ)s(ean)g(Comm)m(unit)m(y)f(programs.)54 -b(He)35 b(is)f(a)94 510 y(review)m(er)i(in)f(sev)m(eral)h(journals)e -(\(Journal)h(of)h(Theoretical)g(Computer)f(Science)h(\(TCS\),)g(TSI,)f -(...\))59 b(and)94 623 y(has)27 b(b)s(een)g(a)g(review)m(er)h(and/or)f -(a)h(mem)m(b)s(er)e(of)i(the)f(Program)h(Committee)g(in)e(in)m -(ternational)g(conferences)94 736 y(\(SESS'93,)k(FME'96,VDM)k(91)d(et)g -(F)m(OR)-8 b(TE)31 b(92,)g(SaS'94,)g(...\))p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/helm/mowgli/home/misc/proposal/proposal.tgz b/helm/mowgli/home/misc/proposal/proposal.tgz deleted file mode 100644 index 50e8901da..000000000 Binary files a/helm/mowgli/home/misc/proposal/proposal.tgz and /dev/null differ diff --git a/helm/mowgli/home/style/mowgli.css b/helm/mowgli/home/style/mowgli.css deleted file mode 100644 index 4a32870fa..000000000 --- a/helm/mowgli/home/style/mowgli.css +++ /dev/null @@ -1,90 +0,0 @@ - -table.menuborder { - background-color: #003377; -} - -td.menutitle { - background-color: #ffeeaa; - color: black; - font-family: sans-serif; - font-weight: bold; - text-align: left; -} - -td.menuentries { - background-color: #ccddff; - color: black; - font-family: sans-serif; - font-size: smaller; - text-align: left; -} - -dl.news { - font-family: sans-serif; -} - -dt.news { - font-family: monospace; - font-weight: bold; -} - -dd.news { - font-family: sans-serif; -} - -div.small { - font-size: smaller; -} - -div.center { - text-align: center; -} - -div.right { - text-align: right; -} - -body { - font-family: sans-serif; - background-color: white; - color: black; -} - -body.content { - font-family: sans-serif; - background-color: white; - color: black; - -} - -a { - color: #003377; -} - -a:hover { - background-color: #ffeeaa; - color: #003377; -} - -a:visited { - color: black; -} - -table.small { - font-size: small -} - -td.title { - font-family: sans-serif; - font-weight: bold; - font-size: large -} - -td.top { - font-weight: bold; - font-size: x-small -} - -li { - list-style-type: circle -} diff --git a/helm/mowgli/home/templates/index.html b/helm/mowgli/home/templates/index.html deleted file mode 100644 index 7a2929c03..000000000 --- a/helm/mowgli/home/templates/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - MoWGLI Home Page - - - - - - - - - diff --git a/helm/mowgli/home/templates/ml-help-example.txt b/helm/mowgli/home/templates/ml-help-example.txt deleted file mode 100644 index 1c6ed1105..000000000 --- a/helm/mowgli/home/templates/ml-help-example.txt +++ /dev/null @@ -1,101 +0,0 @@ -***** help -Help for MOWGLI-dev mailing list: - -This is email command help for version 1.1 of the "Mailman" list -manager. The following describes commands you can send to get -information about and control your subscription to Mailman lists at -this site. A command can be in the subject line or in the body of the -message. - -Note that much of the following can also be accomplished via the World -Wide Web, at: - - http://mowgli.cs.unibo.it/mailman/listinfo/mowgli-dev - -In particular, you can use the Web site to have your password sent to -your delivery address. - -List specific commands (subscribe, who, etc) should be sent to the -*-request address for the particular list, e.g. for the 'mailman' -list, use 'mailman-request@...'. - -About the descriptions - words in "<>"s signify REQUIRED items and -words in "[]" denote OPTIONAL items. Do not include the "<>"s or -"[]"s when you use the commands. - -The following commands are valid: - - subscribe [password] [digest-option] [address=
] - Subscribe to the mailing list. Your password must be given to - unsubscribe or change your options. When you subscribe to the - list, you'll be reminded of your password periodically. - 'digest-option' may be either: 'nodigest' or 'digest' (no - quotes!) If you wish to subscribe an address other than the - address you send this request from, you may specify - "address=" (no brackets around the email - address, no quotes!) - - unsubscribe [address] - Unsubscribe from the mailing list. Your password must match - the one you gave when you subscribed. If you are trying to - unsubscribe from a different address than the one you -subscribed - from, you may specify it in the 'address' field. - - who - See everyone who is on this mailing list. - - info - View the introductory information for this list. - - lists - See what mailing lists are run by this Mailman server. - - help - This message. - - set